Python+pandas +画出股票的收盘价的趋势图(笔记) |
您所在的位置:网站首页 › 股票价格走势图在excel中属于什么图型 › Python+pandas +画出股票的收盘价的趋势图(笔记) |
题目说的好像和股票有关,实际上就是一个时间序列图。但本节主要介绍时间序列的几个常用统计方法。详细如下: 1、 画出股票(代码:688022)的收盘价趋势图【脚本】 import tushare as ts import matplotlib.pyplot as plt frame = ts.get_k_data('688022', start='2019-07-22') frame = frame.set_index('date') frame.index = pd.to_datetime(frame.index) plt.plot(frame['close']) plt.show()【结果】 【说明】 Python有很多可视化绘图工具包,我们使用常用的matplotlib. 使用之前需要导入。 Plt.figure()可以设置画布的大小和分辨率。我使用pycharm工具,没有设置画布信息,也可以使用正常画出图片。 Plt.plot(),设置绘图内容。 Plt.show(),显示绘图。 我们可看出该股票总体呈现出一种下降趋势。 2、 平滑法——移动平均法【脚本】 plt.plot(frame['close'].rolling(30).mean()) plt.show()【结果】 【说明】 平滑后不改变整体的趋势效果,但可以更清楚地显示趋势。 Rolling(30):是包含该点在内的往前30个点的平均值作为该点的值。 使用Rolling(30),图形的开头会有29个空缺。 为避免开头空缺过大,这里可以针对前面30个点单独设置平滑周期。修改脚本如下: plt.plot(frame['close'].rolling(30, min_periods=2).mean()) 结果如下图: 【脚本】 plt.plot(frame['close'].expanding(10).mean()) 【结果】 【说明】 扩展窗口平均,从时间序列的起始处开始,不断增加窗口的长度,直到超过所有序列。这里的10是有值观测点的最小数量。图中桔色线为expanding(10).mean()的结果;蓝色线为rolling(30, min_periods=2).mean()的结果。 4、 平滑法——指数加权平均【脚本】 plt.plot(frame['close'].rolling(30, min_periods=2).mean()) plt.plot(frame['close'].ewm(span=30).mean()) plt.show()【结果】 【脚本】 plt.plot(frame['close'].pct_change()) plt.show()【结果】 【说明】 环比变化的定义:(后一值-当前值)/当前值 6、 计算开盘价与收盘价的相关性【脚本】 series1 = frame['close'].pct_change() series2 = frame['open'].pct_change() plt.plot(series1.rolling(10).corr(series2)) plt.show()【结果】 【说明】 看上去两者的相关性也比较随机 7、 使用自定义函数apply() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |