1.背景:

  针对股票市场中AR 模型的识别、建立和估计问题,利用AR 模型算法对股票价格进行预测。

2.模型选取:

  股票的价格可视为随机信号,将此随机信号建模为:一个白噪声通过LTI系统的输出,通过原始数据求解 所建模型参数,得到模型,即可预测近期未来的未知股票价格。

  随机信号建模为:白噪声通过滤波器,滤波器的系统函数为:

  其中,bq,ap为滤波器系数,根据参数的不同,此滤波器的类型相应有三种。

(1)AR模型(Auto-Regreesion)

  此时,滤波器系数为bq(分子)为1,系统主要依赖于过去输出的反馈作用(分母),这是一种特殊的IIR滤波器。

AR模型中,序列X当前值由序列e的当前值和序列X的前一个长度为M的窗口内序列值决定。

  原理:自回归模型(Autoregressive Model,AR Model)是用自身做回归变量的过程,即利用前期若干时刻的随机变量的线性组合来描述以后某时刻随机变量的线性回归模型。

(2)MA模型(画的平均)

  此时,滤波器系数ap(分母)为1,无反馈,系统主要依赖于白噪声样本加权求和输出,FIR滤波器。

(3)ARMA模型

  bq,ap都不为1,是一种典型的IIR滤波器。

  这三种模型中,AR模型的特别之处是它具有预测特性,把所有能用过去值预测的都表达了,只剩下输入导致的变化。故我们的预测模型使用AR模型。

  AR 是对平稳时间序列成立的,平稳大致上意味着该序列没有趋势,围绕着一个均值上下波动。为了将股票价格平稳化,先对股价进行差分处理。然后使用Yule—Walker 方程求解模型系数,模型的阶数通过试探的方法确定。预测时程序可选择使用模型预测天数,本程序使用六阶模型预测未来近三日的股价。

  步骤:

  考虑一组随机自变量观测值与因变量观测值之间的关系,设自变量观测值为x(n),因变量观测值为Y=[y(n),y(n-1),…,y(n-N)],则依据AR Model,满足如下关系式:

  \[{a_0}y\left( n \right) + {a_1}y\left( {n - 1} \right) + \cdot \cdot \cdot + {a_N}y\left( {n - N} \right) = x\left( n \right)\]

其中,a=[a0,a1,…aN]为各项因变量观测值系数。通常情况下,我们令a0=1。考虑到上式的迭代性,我们可以将其转化为一组自变量观测值和一个因变量观测值的形式如下:

  \[y\left( n \right) = x\left( n \right) + {\alpha _1}x\left( {n - 1} \right) + {\alpha _2}x\left( {n - 2} \right) + \cdot \cdot \cdot \]

其中,A=[]是各项自变量观测值的系数。另外,我们假定自变量观测值的自相关函数为:

  \[{\rm{E}}\left\{ {\left. {x\left( n \right)x\left( {n - k} \right)} \right\}} \right. = {\sigma ^2}\delta \left( k \right)\]

其中:\[{\sigma ^2}\]是自变量观测值的方差; \[\delta \left( k \right)\]是狄拉克函数。

将所得的y(n)代入可得:

  \[{\rm{E}}\left\{ {\left. {y\left( n \right)x\left( n \right)} \right\}} \right. = {\rm{E}}\left\{ {\left. {\left[ {x\left( n \right) + {\alpha _1}x\left( {n - 1} \right) + \cdot \cdot \cdot } \right]x\left( n \right)} \right\}} \right. = {\sigma ^2}\]

同样,将任意的一个y(n-K)代入可得:

\[{\rm{E}}\left\{ {\left. {y\left( {n - k} \right)x\left( n \right)} \right\}} \right. = {\sigma ^2}\delta \left( k \right)\]

将因变量观测值(Y(n)的自相关)的自相关函数写成矩阵形式可得如下:

\[\left[ {\begin{array}{*{20}{c}}
{{r_0}}&{{r_1}}& \cdots &{{r_{N - 1}}}\\
{{r_1}}&{{r_0}}& \cdots &{{r_{N - 2}}}\\
\vdots & \vdots & \vdots & \vdots \\
{{r_{N - 1}}}&{{r_{N - 2}}}& \cdots &{{r_0}}
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{{a_1}}\\
{{a_2}}\\
\vdots \\
{{a_N}}
\end{array}} \right] = - \left[ {\begin{array}{*{20}{c}}
{{r_1}}\\
{{r_2}}\\
\vdots \\
{{r_N}}
\end{array}} \right]\]

该矩阵由Yule-Walker方程描述为:\[Ra = - r\]

对于该系统预测的关键在于对系统系数向量a的求解。将AR Model方程写成如下形式:

\[y\left( n \right) = - \sum\limits_{k = 1}^N {{a_k}y\left( {n - k} \right)} + x\left( n \right)\]

将因变量观测值y(n)的L个观测值写成矩阵形式如下:

\[\left[ {\begin{array}{*{20}{c}}
{y\left( N \right)}\\
{y\left( {N + 1} \right)}\\
\vdots \\
{y\left( {L - 1} \right)}
\end{array}} \right] = - \left[ {\begin{array}{*{20}{c}}
{y\left( {N - 1} \right)}&{y\left( {N - 2} \right)}& \cdots &{y\left( 0 \right)}\\
{y\left( N \right)}&{y\left( {N - 1} \right)}& \cdots &{y\left( 1 \right)}\\
\vdots & \vdots & \vdots & \vdots \\
{y\left( {L - 2} \right)}& \cdots & \cdots &{y\left( {L - N - 1} \right)}
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{{a_1}}\\
{{a_2}}\\
\vdots \\
{{a_N}}
\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}
{x\left( N \right)}\\
{x\left( {N + 1} \right)}\\
\vdots \\
{x\left( {L - 1} \right)}
\end{array}} \right]\]

将上式写成Yule-Walker方程形式为:\[y = - Ya + x\]。其中,x是自变量观测值矩阵,a是系数矩阵,Y是Toeplitz矩阵,y是因变量观测值矩阵。

使用最小二乘法(Least Square,LS)寻找一个最优解为:\[{\left\| x \right\|^2} = {\left( {y + Ya} \right)^H}\left( {y + Ya} \right)\]。对该式进行求解可得:\[a = - {\left( {{Y^H}Y} \right)^{ - 1}}{Y^H}y\]。将所求系数代入即可得到拟合方程,根据拟合方程可以得到问题的估计值。

AR模型结束确定(Matlab):

研究表明,采用Yule-Walker方法可得到优化的AR模型,故采用aryule程序估计模型参数。

[m,refl] = ar(y,n,approach,window)

yp = predict(m,y,k)

表示预测模型;为实际输出;预测区间;yp为预测输出。

当k<Inf时,yp(t)为模型m与y(1,2,…t-k)的预测值;当k=Inf时,yp(t)为模型m的纯仿真值;默认情况下,k=1。

在计算AR模型预测时,k应取1,原因参照AR模型理论公式。

compare(y,m,k)
[yh,fit,x0] = compare(y,m,k)

Compare的预测原理与predict相同,但其对预测进行了比较。

e = pe(m,data)

pe误差计算。采用yh=predict(m,data,1)进行预测,然后计算误差e=data-yh;

[e,r]= resid(m,data,mode,lags);
resid(r)

resid计算并检验误差。采用pe计算误差;在无输出的情况下,绘出误差图,误差曲线应足够小,黄色区域为99%的置信区间,误差曲线在该区域内表明通过检验。

转载于:https://www.cnblogs.com/oucxlw/p/9223722.html

建模股票价格数据并进行预测(统计信号模型):随机信号AR模型+Yule-Walker方程_Python...相关推荐

  1. python财务报表预测股票价格_建模股票价格数据并进行预测(统计信号模型):随机信号AR模型+Yule-Walker方程_Python...

    1.背景: 针对股票市场中AR 模型的识别.建立和估计问题,利用AR 模型算法对股票价格进行预测. 2.模型选取: 股票的价格可视为随机信号,将此随机信号建模为:一个白噪声通过LTI系统的输出,通过原 ...

  2. 随机信号的参数估计(AR模型)

    随机信号的参数估计(AR模型) 201710413068 利满雯 17广电工方向三 一.AR模型简介 自回归模型(简称AR模型),是统计上一种处理时间序列的方法,用同一变数例如x的之前各期,亦即x1至 ...

  3. 信号系统|信号的分类|确定信号与随机信号 连续信号与离散信号 周期信号与非周期信号 能量信号与功率信号 奇异信号

    目录 信号所有分类: 一.确定信号与随机信号 二.连续信号与离散信号 三.周期信号与非周期信号 四.能量信号与功率信号 五.奇异信号 信号所有分类: 1.确定信号与随机信号 2.连续信号与离散信号 3 ...

  4. 随机信号的参数建模法--AR模型及Matlab实现

    目录 一.随机信号参数模型 二.AR模型 三.AR模型参数的估计 1. AR 模型参数和自相关函数的关系 2. Y-W 方程的解法--L-D 算法 2-1 前向预测器 2-2 建立更高阶的AR模型 2 ...

  5. 随机信号的参数建模法AR模型及matlab实现

    随机信号参数模型 为随机信号建立参数模型是研究随机信号的一种基本方法,其含义是认为随机信号x(n)是由白噪w(n)激励某一确定系统的响应(如图 7.5).只要白噪的参数确定了,研究随机信号就可以转化成 ...

  6. 数据压缩学习笔记(四)语音参数编码与随机信号的AR模型参数建模

    语音信号的特征 浊音(Voiced sounds):声带振动,引起声门的打开和关闭,从而发送压力变化的脉冲到声道,在声道形成声波. 清音(Unvoiced sounds):清音是声门保持打开并将气体压 ...

  7. 随机信号的参数建模法及MATLAB实现

    随机信号的参数建模法及MATLAB实现 为随机信号建立参数模型是研究随机信号的一种基本方法.在对语音信号进行编码时,往往通过分析不同种类语音信号的特点及产生,用数学模型表示信源,而编码器根据输入信号计 ...

  8. 随机信号的参数建模法

    文章目录 随机信号的参数建模法 MA模型 AR模型 ARMA模型 AR模型参数的估计 AR模型参数和自相关函数的关系 实例 Y-W方程的解法--L-D算法 L-D算法的优缺点 实例 AR模型参数估计的 ...

  9. 随机信号的参数建模法( AR 模型)

    引言 为随机信号建立参数模型是研究随机信号的一种基本方法,其含义是认为随机信号x(n)x(n)x(n)是由白噪w(n)w(n)w(n)激励某一确定系统的响应(如图7.5).只要白噪的参数确定了,研究随 ...

最新文章

  1. java for 最后_Java的for循环中调用了查询服务,最后只打印了循环的最后一条数据(循环次数)次...
  2. python可以干什么工作-python到底能做什么
  3. 使用podspec创建iOS插件
  4. UA MATH575B 数值分析下 计算统计物理例题2
  5. pdo mysql分页_php运用PDO连接数据库,实现分页效果
  6. pandas 根据单号分类_由 “猫捉老鼠”游戏联想的用户分类问题
  7. datagrid如何获取一行数据中的某个字段值_或许是全网最全面关于数据库面试题...
  8. java file list listfiles,Java File listFiles()用法及代码示例
  9. 如何从基础到深入了解java构造器
  10. oracle显示一个月的所有天数
  11. 0514JS函数练习
  12. webgate 重构 工作进度计划
  13. Optisystem应用:光电检测器灵敏度建模
  14. CATIA模型导入3dsMax形成三层关系的问题
  15. VS C++项目报错warning C4199: ……use /Zc:twoPhase-
  16. flutter Image.network()网络图片加载失败,404错误的异常处理和解决方法初探
  17. 计算机变成英语,原来是中文的电脑电脑系统变成英文了
  18. 计算机语言中str是什么意思,python中str函数的作用是什么
  19. Android RadarScanView雷达扫描控件
  20. PHP——人人都会编程

热门文章

  1. mysql5.4升级5.6_如何在CentOS上升级php5.4至5.6?
  2. java oo 封装_javaOO——封装、static、成员内部类
  3. ExcelHandle
  4. mybatis学习笔记(1)-对原生jdbc程序中的问题总结
  5. CI框架 -- URL
  6. 深入理解Android(三):Xposed详解
  7. 一个简单的crontab
  8. IBM DB2 Intelligent for Data/Text Version 6
  9. php 返回的缓存数据,基于PHP输出缓存(output_buffering)的深入理解
  10. win10更改mac地址