多语言展示
当前在线:704今日阅读:172今日分享:19

pandas金融数据绘图

Python是目前最流行最简单用途最广泛的编程语言,大数据时代最应该学习的一门编程语言。其中,数据分析的库pandas是Python最经典的库之一。DataFrame和Series是pandas最重要的2个数据结构。下面看一下pandas自带的金融数据如何绘图
工具/原料
1

python,anaconda,spyder,numpy,pandas,matplotlib.pyplot,math,pandas_datareader

2

DataFrame,Series

方法/步骤
1

加载numpy和pandas,pandas中的 DataFrame,Series,pandas_datareader。Google=data.DataReader('GOOG', data_source='yahoo')表示从雅虎网站读取谷歌股票数据,赋值给Google;Google.info()表示查看Google的信息;Google.tail()表示查看Google的最后5条数据;如图所示

2

绘制谷歌收盘价的趋势图。Google['Close'].plot(figsize=(8,5))表示在一个尺寸为8*5的图上绘制谷歌的收盘价图

3

对数收益率的两种计算方法效率比较(借助魔术函数)。(1)for循环完成需要3/116微秒;(2)使用向量化代码实现需要3/485微秒;查看结果是一致,使用向量化代码效率是for循环的3倍以上;如图所示

4

收盘价和收益率的绘图del Google['ret']表示删除Google的字段‘ret’;Google[['Close','return']].plot(subplots=True,style='b',figsize=(8,5))表示在尺寸为8*5的画布上,用蓝色线绘制收盘价和收益率的图形;如图所示

5

谷歌股票趋势图的字段。Google['42d']=pd.rolling_mean(Google['Close'],window=42)表示使用42个工作日的移动平均值体现2个月的趋势;Google['252d']=pd.rolling_mean(Google['Close'],window=252)表示使用252个工作日的移动平均值体现1年的趋势;Google[['Close','42d','252d']].tail()查看收盘价和42d、252d的最后5条数据;如图所示

6

谷歌股票趋势图的绘制。Google[['Close','42d','252d']].plot(figsize=(8,5))表示在8*5的画布上绘制收盘价、2个月、1年趋势图;如图所示

注意事项
1

pandas.io.data已不可用,现使用的是from pandas_datareader import data, wb和data.DataReader()

2

%timeit 是魔术函数,用来计算一段程序的运行时间

3

subplots=True表示分别绘制各个字段的图形

4

pd.rolling_std()已不建议使用,现在用 Series.rolling(window=252,center=False).std()代替

推荐信息