使用Pandas的read_csv函数来读取这个文件,并将其转换为DataFrame¶
In [1]:
import pandas as pd
stocks = pd.read_csv('4170423-stocks.csv',header=0)
print(stocks.head())
板块 日期 云上科技 财智科技 古盘云 微软云 谷歌云 0 NASDAQ 2006/1/3 7.68 7.88 7.33 7.57 7.57 1 NASDAQ 2006/1/4 7.53 7.67 7.53 7.62 7.62 2 NASDAQ 2006/1/5 7.66 7.68 7.37 7.52 7.52 3 NASDAQ 2006/1/6 7.60 7.64 7.40 7.61 7.61 4 NASDAQ 2006/1/9 7.65 7.87 7.53 7.79 7.79
统计股票价格数据¶
使用describe函数来统计股票价格数据的基本统计量。例如,我们可以计算股票价格的平均值、标准差、最小值、最大值等
In [2]:
print(stocks.describe())
云上科技 财智科技 古盘云 微软云 谷歌云 count 985.000000 985.000000 985.000000 985.000000 985.000000 mean 4.158792 4.245838 4.056091 4.147178 4.147178 std 2.607119 2.629135 2.582350 2.605629 2.605629 min 0.150000 0.170000 0.120000 0.120000 0.120000 25% 1.300000 1.410000 1.220000 1.300000 1.300000 50% 4.270000 4.380000 4.140000 4.200000 4.200000 75% 6.730000 6.800000 6.620000 6.730000 6.730000 max 8.450000 8.560000 8.150000 8.280000 8.280000
绘制股票价格趋势图¶
In [3]:
import warnings
import matplotlib
warnings.filterwarnings("ignore")
import matplotlib.pyplot as plt
font = {'family': 'Microsoft YaHei', 'weight': 'bold', 'size': '12'}
matplotlib.rc("font", **font)
stocks.plot(x='日期', y='云上科技')
plt.show()
绘制多个股票价格的趋势图¶
In [4]:
stocks.plot(x='日期', y=['云上科技', '财智科技', '古盘云', '微软云', '谷歌云'])
plt.show()
绘制股票价格的移动平均线¶
计算苹果股票价格的20天移动平均线,并绘制它的趋势图
In [5]:
aapl = stocks['云上科技']
ma20 = aapl.rolling(window=20).mean()
plt.plot(aapl)
plt.plot(ma20)
plt.show()
计算股票价格的日收益¶
使用pct_change函数来计算股票价格的日收益率。例如,我们可以计算云上科技股票价格的日收益率,并绘制它的趋势图
In [6]:
aapl = stocks['云上科技']
returns = aapl.pct_change()
plt.plot(returns)
plt.show()
计算股票价格的移动年化波动率¶
使用rolling和std函数来计算股票价格的移动年化波动率。例如,计算云上科技股票价格的20天移动年化波动率,并绘制它的趋势图
In [7]:
import numpy as np
aapl = stocks['云上科技']
returns = aapl.pct_change()
volatility = returns.rolling(window=20).std() * np.sqrt(252)
plt.plot(volatility)
plt.show()