量化投资_MATLAB在时间序列建模预测及程序代码

Posted 时海涛 | Thomas.Shih

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了量化投资_MATLAB在时间序列建模预测及程序代码相关的知识,希望对你有一定的参考价值。

 1  ARMA时间序列机器特性

  下面介绍一种重要的平稳时间序列——ARMA时间序列。

  ARMA时间序列分为三种:

  AR模型,auto regressiv model

  MA模型,moving average model

  ARMA模型,auto regressive moving average model

   可证ARMA时间序列具有遍历性,因此可以通过它的一个样本估计自协方差函数及自相关函数。

2  ARMA、AR、MA模型的基础知识(略)

3  例:随机模拟下列序列,样本容量10000,其中样本符合均值为零,方差为1的标准正太分布。计算自相关值

  MATLAB代码如下:

%% DEMO1
% 利用模型数据研究随机模拟下序列。计算自相关函数
clc;clear;
rng(‘default‘); % 初始化随机种子,保持随机种子一致
elps = randn(1,10000);  % 产生10000个服从正态分布的随机数
x(1) = 0;  % 赋初始值
for j = 2:10000
    x(j) = 0.8 * x(j-1) + elps(j) - 0.4 * elps(j-1);  % 产生样本点
end
y = (x - mean(x));  % 把数据中心化处理
gama0 = var(x);  % 求样本方差
for j = 1:10
    gama(j) = y(j+1:end)*y(1:end-j)‘/10000;  %求自协方差函数
end
rho = gama/gama0;  %求自相关函数
rho2 = autocorr(x); % 直接利用MATLAB工具箱求自相关函数。
disp([rho(1),rho(2),rho(4),rho(4)]);
disp([rho2(2),rho2(3),rho2(4),rho2(5)])

% 其自相关函数的计算结果基本一致
%     0.5430    0.4296    0.2551    0.2551
%     0.5430    0.4297    0.3396    0.2552

 

4  例:利用MATLAB计算自相关值

%% DEMO2
% 利用模型数据研究随机模拟下序列。计算偏自相关函数
clc;clear;
rng(‘default‘); % 初始化随机种子,保持随机种子一致
elps = randn(1,10000);  % 产生10000个服从正态分布的随机数
x(1) = 0;  % 赋初始值
for j = 2:10000
    x(j) = 0.8 * x(j-1) + elps(j) - 0.4 * elps(j-1);  % 产生样本点
end
y = (x - mean(x));  % 把数据中心化处理
gama0 = var(x);  % 求样本方差
L = 10;
for j = 1:L
    gama(j) = y(j+1:end)*y(1:end-j)‘/10000;  %求自协方差
end
rho = gama/gama0;   % 求自相关系数
f(1,1)=rho(1);
for k = 2:L
    s1 = rho(k);s2=1;  % 计算初始值
    for j = 1:k-1
        s1 = s1-rho(k-j)*f(k-1,j);
        s2 = s2-rho(j)*f(k-1,j);
        f(k,k)=s1/s2;
     end
     for j = 1:k-1
         f(k,j) = f(k-1,j)-f(k,k)*f(k-1,k-j);
     end
end
pcorr=diag(f)‘;  %提取偏相关函数
pcorr2=parcorr(x); %直接利用MATLAB工具箱计算偏相关函数
disp([pcorr(1),pcorr(2),pcorr(4),pcorr(4)]);
disp([pcorr2(2),pcorr2(3),pcorr2(4),pcorr2(5)])

% 利用公式和利用MATLAB工具箱计算的偏相关值基本一致
%     0.5430    0.1911    0.0057    0.0057
%     0.5431    0.1913    0.0694    0.0056

  .

 

.

.

.

.

.

.

.

.

.

.

..................................

 

以上是关于量化投资_MATLAB在时间序列建模预测及程序代码的主要内容,如果未能解决你的问题,请参考以下文章

Matlab量化投资支持向量机择时策略

《Python与量化投资从基础到实战》PDF及代码+《量化投资以Python为工具》PDF及代码

数学建模灰色预测程序代码?

《量化投资:以MATLAB为工具》连载基础篇-N分钟学会MATLAB(上)

分享《Python与量化投资从基础到实战》PDF及代码+《量化投资以Python为工具》PDF及代码

微矿Qlib:业内首个AI量化投资开源平台