资源简介

本文档介绍了如何对收益率进行时间序列分析,并用garch模型对波动率进行预测

资源截图

代码片段和文件信息

close all
clear
clc
%% 读取数据
stockcode = ‘600551.SH‘;
diary([stockcode‘.txt‘])
addpath(genpath(pwd));
% 替换成你自己的token
token = ‘**************9c08b3da9b9c34b80ae0**********‘;
api = pro_api(token);
start_time = ‘20170101‘;
end_time = ‘20180101‘;
ktype = ‘D‘;
data = pro_bar(stockcode api start_time end_timektype‘E‘‘qfq‘);
% 翻转数据
data = flipud(data);
temp = data.trade_date;
temp = char(temp);
temp = str2num(temp);
tradedate = datetime(temp‘ConvertFrom‘‘yyyymmdd‘‘format‘‘yyyy-MM-dd‘);
%% 计算对数收益率
ret = price2ret(data.close);
% 绘制对数收益率图
x = tradedate(1:end-1);
figure;
plot(xret);
title([stockcode‘日收益率‘])
saveas(gcf[stockcode‘日收益率图.jpg‘]);
% 可以看出波动聚集
disp([stockcode‘ 波动率预测‘]);
% 描述性统计
mu = mean(ret);
ret_median = median(ret);
ret_max = max(ret);
ret_min = min(ret);
sigma = std(ret);
ret_skew = skewness(ret);
ret_kurt = kurtosis(ret);
% h为测试结果若h=0则可以认为X是服从正态分布的;若h=1则可以否定X服从正态分布;
% p为接受假设的概率值P越接近于0则可以拒绝是正态分布的原假设;
% jbstat为测试统计量的值;
% cv为是否拒绝原假设的临界值.
[hpjbstatcv]=jbtest(ret);
disp([‘收益序列均值为‘num2str(mu)]);
disp([‘收益序列中位数为‘num2str(ret_median)]);
disp([‘收益序列最大值为‘num2str(ret_max)]);
disp([‘收益序列最小值为‘num2str(ret_min)]);
disp([‘收益序列标准差为‘num2str(ret_max)]);
disp([‘收益序列偏度为‘num2str(ret_skew)]);
disp([‘收益序列峰度为‘num2str(ret_kurt)]);
disp([‘收益序列jb统计量为‘num2str(jbstat)]);
%% adf单位根检验
alpha=0.1;
disp(‘%%%%%%%%%%%%%%%%%%%%%%‘);
[hpValuestatcValue] = adftest(ret‘alpha‘alpha);
fprintf([‘在%d%%的置信水平下,单位根检验统计量为%f\n‘...
    ‘临界值为%f,概率为%f\n‘]alpha*100statcValuepValue);

alpha=0.05;
disp(‘%%%%%%%%%%%%%%%%%%%%%%‘);
[hpValuestatcValue] = adftest(ret‘alpha‘alpha);
fprintf([‘在%d%%的置信水平下,单位根检验统计量为%f\n‘...
    ‘临界值为%f,概率为%f\n‘]alpha*100statcValuepValue);

alpha=0.01;
disp(‘%%%%%%%%%%%%%%%%%%%%%%‘);
[hpValuestatcValue] = adftest(ret‘alpha‘alpha);
fprintf([‘在%d%%的置信水平下,单位根检验统计量为%f\n‘...
    ‘临界值为%f,概率为%f\n‘]alpha*100statcValuepValue);
%% 相关和自相关
% AR模型:自相关系数拖尾,偏自相关系数截尾;
% MA模型:自相关系数截尾,偏自相关函数拖尾;
% ARMA模型:自相关函数和偏自相关函数均拖尾
figure;
subplot(211);
autocorr(ret);
name = [stockcode‘ 收益率序列自相关函数图‘];
title(name);
subplot(212);
parcorr(ret);
name = [stockcode‘ 收益率序列偏自相关函数图‘];
title(name);
name = [stockcode‘ 收益率序列自相关和偏自相关函数图‘];
saveas(gcf[name‘.jpg‘]);
% 这两个图结论日收益序列没有明显的相关性
%% 因此通过arch效应检验相关性
% 建立均值方程yt=c+at
at = ret - mu;
% % 通过残差平方的偏自相关函数判断arch模型阶数
figure;
plot(xat.^2);
name = [stockcode‘ 收益率残差平方序列图‘];
title(name);
saveas(gcf[name‘.jpg‘]);

figure;
subplot(211);
autocorr(at.^2);
name = [stockcode‘ 收益率残差平方序列自相关函数图‘];
title(name);
subplot(212);
parcorr(at.^2);
name = [stockcode‘ 收益率残差平方序列偏自相关函数图‘];
title(name);
name = [stockcode‘ 收益率残差平方序列自相关和偏自相关函数图‘];
saveas(gcf[name‘.jpg‘]);


% 拉格郎日乘子检验
lags = 3;
alpha=0.05;
disp(‘%%%%%%%%%%%%%%%%%%%%%%‘);
disp(‘arch效应拉格朗日乘子检验‘);
[hpValuestatcValue] = archtest(at‘Lags‘lags‘Alpha‘alpha);
fprintf([‘在%d%%的置信水平下,滞后阶数为%d时检验统计量为%f\n‘...
    ‘临界值为%f,概率为%f\n‘]alpha*100

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-04-24 15:51  garch模型波动率预测\
     文件       59111  2019-04-24 15:51  garch模型波动率预测\600551.SH 收益率序列自相关和偏自相关函数图.jpg
     文件       32775  2019-04-24 15:51  garch模型波动率预测\600551.SH 收益率残差平方序列图.jpg
     文件       60045  2019-04-24 15:51  garch模型波动率预测\600551.SH 收益率残差平方序列自相关和偏自相关函数图.jpg
     文件        4073  2019-04-24 15:51  garch模型波动率预测\600551.SH.txt
     文件       41818  2019-04-24 15:51  garch模型波动率预测\600551.SH日收益率图.jpg
     文件        3910  2019-04-24 15:51  garch模型波动率预测\garch_var.asv
     文件        3921  2019-04-24 15:51  garch模型波动率预测\garch_var.m
     目录           0  2019-04-24 15:51  garch模型波动率预测\tushare_matlab_sdk\
     文件      316541  2019-04-24 15:51  garch模型波动率预测\基于GARCH模型的波动率预测及应用_王献东.pdf
     文件       55563  2019-04-24 15:51  garch模型波动率预测\收益率序列自相关和偏自相关函数图.jpg
     文件         300  2019-04-24 15:51  garch模型波动率预测\tushare_matlab_sdk\http_createHeader.m
     文件        2139  2019-04-24 15:51  garch模型波动率预测\tushare_matlab_sdk\http_paramsToString.m
     文件        5325  2019-04-24 15:51  garch模型波动率预测\tushare_matlab_sdk\pro_api.m
     文件        7022  2019-04-24 15:51  garch模型波动率预测\tushare_matlab_sdk\pro_bar.m
     文件        8433  2019-04-24 15:51  garch模型波动率预测\tushare_matlab_sdk\readme.txt
     文件        1692  2019-04-24 15:51  garch模型波动率预测\tushare_matlab_sdk\tushare_pro_test.m
     文件       13656  2019-04-24 15:51  garch模型波动率预测\tushare_matlab_sdk\urlread2.m

评论

共有 条评论