平台推广策略都有哪些,如何优化网站结构,莱芜交友论坛,建e网室内设计网官网下载文章目录 1 前言2 时间序列的由来2.1 四种模型的名称#xff1a; 3 数据预览4 理论公式4.1 协方差4.2 相关系数4.3 scikit-learn计算相关性 5 金融数据的时序分析5.1 数据概况5.2 序列变化情况计算 最后 1 前言
#x1f525; 优质竞赛项目系列#xff0c;今天要分享的是 3 数据预览4 理论公式4.1 协方差4.2 相关系数4.3 scikit-learn计算相关性 5 金融数据的时序分析5.1 数据概况5.2 序列变化情况计算 最后 1 前言 优质竞赛项目系列今天要分享的是 毕业设计 大数据时间序列股价预测分析系统
该项目较为新颖适合作为竞赛课题方向学长非常推荐
学长这里给一个题目综合评分(每项满分5分)
难度系数3分工作量3分创新点3分 更多资料, 项目分享
https://gitee.com/dancheng-senior/postgraduate
2 时间序列的由来
提到时间序列分析技术就不得不说到其中的AR/MA/ARMA/ARIMA分析模型。这四种分析方法的共同特点都是跳出变动成分的分析角度从时间序列本身出发力求得出前期数据与后期数据的量化关系从而建立前期数据为自变量后期数据为因变量的模型达到预测的目的。来个通俗的比喻大前天的你、前天的你、昨天的你造就了今天的你。
2.1 四种模型的名称
AR模型自回归模型Auto Regressive modelMA模型移动平均模型Moving Average modelARMA自回归移动平均模型Auto Regressive and Moving Average modelARIMA模型差分自回归移动平均模型。AR模型
如果某个时间序列的任意数值可以表示成下面的回归方程那么该时间序列服从p阶的自回归过程可以表示为AR§ AR模型利用前期数值与后期数值的相关关系自相关建立包含前期数值和后期数值的回归方程达到预测的目的因此成为自回归过程。这里需要解释白噪声白噪声可以理解成时间序列数值的随机波动这些随机波动的总和会等于0例如某饼干自动化生产线要求每包饼干为500克但是生产出来的饼干产品由于随机因素的影响不可能精确的等于500克而是会在500克上下波动这些波动的总和将会等于互相抵消等于0。
3 数据预览
import pandas as pd import matplotlib.pyplot as plt %matplotlib inline
#准备两个数组
list1 [6,4,8]
list2 [8,6,10]#分别将list1list2转为Series数组
list1_series pd.Series(list1)
print(list1_series)
list2_series pd.Series(list2)
print(list2_series)#将两个Series转为DataFrame对应列名分别为A和B
frame { Col A: list1_series, Col B: list2_series }
result pd.DataFrame(frame)result.plot()
plt.show()4 理论公式
4.1 协方差
首先看下协方差的公式 4.2 相关系数
计算出Cov后就可以计算相关系数了值在-1到1之间越接近1说明正相关性越大越接近-1则负相关性越大0为无相关性 公式如下 4.3 scikit-learn计算相关性 #各特征间关系的矩阵图 sns.pairplot(iris, hue‘species’, size3, aspect1) Andrews Curves 是一种通过将每个观察映射到函数来可视化多维数据的方法。 使用 Andrews Curves 将每个多变量观测值转换为曲线并表示傅立叶级数的系数这对于检测时间序列数据中的异常值很有用。
plt.subplots(figsize (10,8)) pd.plotting.andrews_curves(iris, ‘species’, colormap‘cool’) 这里以经典的鸢尾花数据集为例
setosa、versicolor、virginica代表了三个品种的鸢尾花。可以看出各个特征间有交集也有一定的分别规律。
#最后通过热图找出数据集中不同特征之间的相关性高正值或负值表明特征具有高度相关性
figplt.gcf()
fig.set_size_inches(10,6)
figsns.heatmap(iris.corr(), annotTrue, cmapGnBu, linewidths1, linecolork, \
squareTrue, maskFalse, vmin-1, vmax1, \
cbar_kws{orientation: vertical}, cbarTrue)5 金融数据的时序分析
主要介绍时间序列变化情况计算、时间序列重采样以及窗口函数
5.1 数据概况
import pandas as pd
tm pd.read_csv(/home/kesci/input/gupiao_us9955/Close.csv)
tm.head()数据中各个指标含义:
AAPL.O | Apple StockMSFT.O | Microsoft StockINTC.O | Intel StockAMZN.O | Amazon StockGS.N | Goldman Sachs StockSPY | SPDR SP; 500 ETF Trust.SPX | SP; 500 Index.VIX | VIX Volatility IndexEUR | EUR/USD Exchange RateXAU | Gold PriceGDX | VanEck Vectors Gold Miners ETFGLD | SPDR Gold Trust
8年期间价格(或指标)走势一览图 5.2 序列变化情况计算
计算每一天各项指标的差异值后一天减去前一天结果计算pct_change增长率也就是 后一个值-前一个值前一个值计算平均计算pct_change指标绘图观察哪个指标平均增长率最高计算连续时间的增长率其中需要计算今天价格和昨天价格的差异
计算每一天各项指标的差异值后一天减去前一天结果 计算pct_change增长率也就是 后一个值-前一个值前一个值 计算平均计算pct_change指标 绘图观察哪个指标平均增长率最高 除了波动率指数(.VIX指标)增长率最高外就是亚马逊的股价了贝佐斯简直就是宇宙最强光头强
计算连续时间的增长率其中需要计算今天价格和昨天价格的差异
#第二天数据 tm.shift(1).head()
#计算增长率
rets np.log(tm/tm.shift(1))
print(rets.tail().round(3))#cumsum的小栗子
print(小栗子的结果,np.cumsum([1,2,3,4]))#增长率做cumsum需要对log进行还原用e^x
rets.cumsum().apply(np.exp).plot(figsize(10,6))以上是在连续时间内的增长率也就是说2010年的1块钱到2018年已经变为10多块了(以亚马逊为例)
(未完待续该项目为demo预测部分有同学需要联系学长完成)
最后 更多资料, 项目分享
https://gitee.com/dancheng-senior/postgraduate