现在我们接着对数据进行分析,主要参考《Python金融实战》一书第8章及后面的章节。
首先是进行时间序列分析,主要涉及pandas和statsmodels两个库,用pydroid3都能装的。
在本地新建一个名为finance的git分支,新建finance.py文件,先读入数据到DataFrame中。
import pandas as pd
if __name__ == "__main__":
etf_total = pd.read_csv("total_etf.csv")
etf_300 = pd.read_csv("300etf.csv")
etf_nas = pd.read_csv("nasetf.csv")
用scipy里的统计函数,检验收益率是否为0。
from scipy import stats
print(stats.ttest_1samp(etf_total.收益率, 0.0))
————
Ttest_1sampResult(statistic=-6.5965205827065132, pvalue=3.681639737817202e-10) [Program finished]
可以看到p极小,排除原假设,总收益率不为0。
比较一下我定投的两个指数etf的走势是否有联系?用barlett。
import scipy as sp
#比较两个指数的相关性
print(sp.stats.bartlett(etf_300.close, etf_nas.close))
————BartlettResult(statistic=38.484328969292861, pvalue=5.5195108020696069e-10