上一篇文章用Python对定投数据进行了处理,计算出了总的收益率随时间的变化数据,保存到了csv文件里。现在我们就开始对数据进行具体的分析。具体如何分析,我也没谱,是第一次,走到哪儿就算哪儿吧。首先,先建立一个git分支,在分支上编辑新代码,完成以后再合并。git分支功能我以前也没怎么用过,只是知道有这么个功能。搜了一下,又动手实验,成功了。先建立名为data_analysis的分支,然后转移到该分支中:
1 | git branch data_analysisgit checkout data_analysis |
或者可以直接新建分支并转移
1 | git checkout -b data_analysis |
然后就可以增加代码啦。新建一个data_analysis.py的文件,用于数据分析。先从csv文件中导入数据到DataFrame变量中,再输出看看。
1 | import pandas as pd |
没问题啦。再提交代码。最后将本地分支推送到github上。
1 | git push -u origin data_analysis |
再把数据可视化一下吧,先尝试一下各种不同的图形类型。
1 | import matplotlib.pyplot as plt |
还可以用另一种方法建立子图绘图
1 | #另一种方法 |
给图形增加图例
1 | #绘图并增加图例 |
中文是乱码,搜了一圈,要显示中文好麻烦,貌似还要root手机,还是放弃了,就用英文吧。
matplotlib是一个低阶的工具,要考虑作图的很多细节。pandas还有很多高阶的绘图工具。
1 | #用pandas画图 |
横坐标有问题
1 | fig = plt.figure() |
可视化显示就到这里吧,下面再试试用时间序列分析。pandas提供了很多时间序列分析工具。移动窗口分析,一看就是均线嘛。想当初我分析定投的时候还自己从数据里算均线,结果人家有现成的!画月线和双月线。书上的方法是用rolling_mean,结果提示该函数会被废弃,于是照其提示用最新的。
1 | #移动时间窗口分析 |
同理可以算出标准差的移动窗口
1 | std_30 = data.收益率.rolling(window=30, center = False).std() |
这次先到这里吧,还是参考的《Python for data analysis》。我发文章的两个地方,欢迎大家在朋友圈等地方分享,欢迎点“好看”。谢谢。我的个人博客地址:https://zwdnet.github.io我的微信个人订阅号:赵瑜敏的口腔医学学习园地