首页 > 其他分享 >R语言随机波动模型SV:马尔可夫蒙特卡罗法MCMC、正则化广义矩估计和准最大似然估计上证指数收益时间序列|附代码数据

R语言随机波动模型SV:马尔可夫蒙特卡罗法MCMC、正则化广义矩估计和准最大似然估计上证指数收益时间序列|附代码数据

时间:2023-09-28 16:23:11浏览次数:53  
标签:和准 似然 MCMC 模型 SV 马尔可夫 估计 蒙特卡罗 区制

全文链接:http://tecdat.cn/?p=31162

最近我们被客户要求撰写关于SV模型的研究报告,包括一些图形和统计输出。

本文做SV模型,选取马尔可夫蒙特卡罗法(MCMC)、正则化广义矩估计法和准最大似然估计法估计。

模拟SV模型的估计方法:

   
sim <- svsim(1000,mu=-9, phi = 0.97, sigma = 0.15)

print(sim)

summary(sim)

图片

   
plot(sim)

图片

绘制上证指数收益时间序列图、散点图、自相关图与偏自相关图

我们选取上证指数5分钟高频数据:

   
data=read.csv("上证指数-5min.csv",header=TRUE)
#open:开盘价  close:收盘价 vol:成交量 amount:成交额
head(data,5)  #观察数据的头5行
tail(data,5)  #观察数据的最后5行
Close.ptd<-data$close
Close.rtd<-diff(log(Close.ptd))  #指标一:logReturn
rets=diff(data$close)/data$close[-length(data$close)]  #指标二:Daily Returns,我们选择Daily Returns
library(tseries)
adf.test(rets)

## 绘制上证指数收益时间序列图、散点图、自相关图与偏自相关图
Close.ptd.ts<-ts(Close.ptd,start=c(2005,1,4),freq=242)  
plot(Close.ptd.ts, type="l",main="(a) 上证指数日收盘价序列图",

acf(Close.rtd,main='',xlab='Lag',ylab='ACF',las=1)    
title(main='(b) 上证指数收益率自相关检验',cex.main=0.95)

pacf(Close.rtd,main='',xlab='Lag',ylab='PACF',las=1)               
title(main='(c) 上证指数收益率偏自相关检验',cex.main=0.95)
def.off

## Q-Q图、经验累积分布ecdf图、密度图、直方图 
qqnorm(Close.rtd,main="(a) 上证指数收益率Q-Q图",cex.main=0.95,
       xlab='理论分位数',ylab='样本分位数')            
qqline(Close.rtd)                                 
#经验累积分布ecdf图
plot(ECD,lwd = 2,main="(b) 上证指数收益率累积分布函数图",cex.main=0.95,las=1) 
xx <- unique(sort(c(seq(-3, 2, length=24), knots(ECD))))         
abline(v = knots(ECD), lty=2, col='gray70')                           
x1 <- c((-4):3)             # 设定区间范围
lines(x1,pnorm(x1,mean(Close.rtdC[1:10]),sd(Close.rtd[1:10])))  
#密度图
plot(D, main="(c) 上证指数核密度曲线图 ",xlab="收益", ylab='密度',
     xlim = c(-7,7), ylim=c(0,0.5),cex.main=0.95)       
polygon(D, col="gray", border="black")                 
curve(dnorm,lty = 2, add = TRUE)                        

lines(x2,dnorm(x2,mean=0,sd=1))      
abline(v=0,lty = 3)                                     
legend("topright", legend=c("核密度","正态密度"),lty=c(1,2),cex=0.5)
#直方图
hist(Close.rtd[1:100],xaxt='n',main='(d) 上证指数收益率直方图',
     xlab='收益/100',ylab='密度', freq=F,cex.main=0.95,las=1)        
lines(x2,dnorm(x2,mean(Close.rtd[1:100]),sd(Close.rtd[1:100]))) 
axis(1,at=axTicks(1),labels = as.integer(axTicks(1))/100 )

图片

图片

图片


点击标题查阅往期内容

图片

【视频】随机波动率SV模型原理和Python对标普SP500股票指数预测|数据分享

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

SV模型

   
{
  N <- length(logReturn)
  mu <- (1/N)*sum(logReturn)
  sqrt((1/N) * sum((logReturn - mu)^2))
}

  return=-1.5*log(h)-y^2/(2*h)-(log(h)-mu)^2/(2*sigma2)
}

马尔可夫链蒙特卡罗估计

该模型使用了Kastner和Fruhwirth-Schnatter所描述的算法。使用的R代码是:

   
###Markov Chain Monte Carlo

summary(mcmc)

图片

准最大似然估计

SV模型可以用QML方法在R中用许多不同的状态空间和Kalman滤波包来估计。

   

  a0=c(parm[1])

  P0=matrix(parm[3]^2/(1-parm[2]^2))

  dt=matrix(parm[1]*(1-parm[2]))

  ct=matrix(-1.27)

  Tt=matrix(parm[2])

  Zt=matrix(1)

  HHt=matrix(parm[3]^2)

  GGt=matrix(pi^2/2)

  ans<-fkf(a0=sp$a0,P0=sp$P0,dt=sp$dt,ct=sp$ct,Tt=sp$Tt,Zt=sp$Zt,HHt=sp$HHt,GG

图片

正则化广义矩阵

在R函数中定义矩条件,然后估计参数0。

   
moments <- c (

    m1 = sqrt(2/pi)*exp(mu/2 + sig2h/8),

    m2 = exp(mu +  sig2h/2 ) ,

    m3 = 2*sqrt ( 2/pi ) * exp( 3*mu/2 + 9*sig2h/8 ) ,
    gmm(g = sv.moments , x =rets , t0=c(mu=-10, phi=0.9,sigmaeta= 0.2),

图片


图片

点击文末 “阅读原文”

获取全文完整代码数据资料。

本文选自《R语言随机波动模型SV:马尔可夫蒙特卡罗法MCMC、正则化广义矩估计和准最大似然估计上证指数收益时间序列》。

点击标题查阅往期内容

HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率
Matlab马尔可夫链蒙特卡罗法(MCMC)估计随机波动率(SV,Stochastic Volatility) 模型
R语言隐马尔可夫模型HMM连续序列重要性重抽样CSIR估计随机波动率模型SV分析股票收益率时间序列
马尔可夫Markov区制转移模型分析基金利率
马尔可夫区制转移模型Markov regime switching
时变马尔可夫区制转换MRS自回归模型分析经济时间序列
马尔可夫转换模型研究交通伤亡人数事故时间序列预测
如何实现马尔可夫链蒙特卡罗MCMC模型、Metropolis算法?
Matlab用BUGS马尔可夫区制转换Markov switching随机波动率模型、序列蒙特卡罗SMC、M H采样分析时间序列
R语言BUGS序列蒙特卡罗SMC、马尔可夫转换随机波动率SV模型、粒子滤波、Metropolis Hasting采样时间序列分析
matlab用马尔可夫链蒙特卡罗 (MCMC) 的Logistic逻辑回归模型分析汽车实验数据
stata马尔可夫Markov区制转移模型分析基金利率
PYTHON用时变马尔可夫区制转换(MRS)自回归模型分析经济时间序列
R语言使用马尔可夫链对营销中的渠道归因建模
matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计
R语言隐马尔可夫模型HMM识别不断变化的股票市场条件
R语言中的隐马尔可夫HMM模型实例
用机器学习识别不断变化的股市状况—隐马尔科夫模型(HMM)
Matlab马尔可夫链蒙特卡罗法(MCMC)估计随机波动率(SV,Stochastic Volatility) 模型
MATLAB中的马尔可夫区制转移(Markov regime switching)模型
Matlab马尔可夫区制转换动态回归模型估计GDP增长率
R语言马尔可夫区制转移模型Markov regime switching
stata马尔可夫Markov区制转移模型分析基金利率
R语言如何做马尔可夫转换模型markov switching model
R语言隐马尔可夫模型HMM识别股市变化分析报告
R语言中实现马尔可夫链蒙特卡罗MCMC模型

标签:和准,似然,MCMC,模型,SV,马尔可夫,估计,蒙特卡罗,区制
From: https://www.cnblogs.com/tecdat/p/17736037.html

相关文章

  • 极低分辨率人脸识别和质量估计的可识别性嵌入增强
    灰色标记:可以日后引用的观点红色标记:好的写法、语句、单词紫色标记:文章重点黄色标记:寻常突出文章评论::创新点::研究结论::研究局限及其展望:: FaceImageQualityAssessment(FIQA)人脸图像质量评估XXX-aware:有什么什么意识的,可以用于确定任务范围(如recognizab......
  • R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化|附代码数据
    原文链接:http://tecdat.cn/?p=19889原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于Metropolis-Hastings采样的研究报告,包括一些图形和统计输出。如果您可以写出模型的似然函数,则 Metropolis-Hastings算法可以负责其余部分(即MCMC)。我写了r代码来简化对任意模型的后......
  • strimzi实战之一:简介和准备
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos关于strimzistrimzi是一个开源项目,已加入了CNCF,官网地址:https://strimzi.io/借助strimzi,既能快速部署kafka服务,又能对kafka服务进行细致的调节,还能扩展出更多的能力,典型......
  • 拓端tecdat|R语言贝叶斯非参数模型:密度估计、非参数化随机效应meta分析心肌梗死数据|
    原文链接:http://tecdat.cn/?p=23785原文出处:拓端数据部落公众号最近我们被客户要求撰写关于贝叶斯非参数模型的研究报告,包括一些图形和统计输出。概述最近,我们使用贝叶斯非参数(BNP)混合模型进行马尔科夫链蒙特卡洛(MCMC)推断。在这篇文章中,我们通过展示如何使用具有不同内核的非......
  • R语言风险价值:ARIMA,GARCH模型,Delta-normal法滚动估计,预测VaR(Value at Risk)和回测分析
    原文链接:http://tecdat.cn/?p=24492原文出处:拓端数据部落公众号介绍此分析的目的是帮助客户构建一个过程,以在给定时变波动性的情况下正确估计风险价值。风险价值被广泛用于衡量金融机构的市场风险。我们的时间序列数据包括1258天的股票收益。为了解释每日收益率方差的一小部......
  • 关于RHCE考试和准备看这一篇就够了
    一、文章大纲认证机构课程体系面向人群证书有效期备考学习周期考试内容证书领取证书样例二、认证机构RHCE全称为红帽认证工程师(RedHatCertifiedEngineer),其认证机构为红帽。红帽可以说是Linux发行版中的龙头老大,我们日常中接触CentOS就是依据企业版红帽开源代码编译而来,在国内还......
  • m基于PN导频序列和cordic算法的基带数据帧频偏估计和补偿FPGA实现,包含testbench
    1.算法仿真效果本系统进行了Vivado2019.2平台的开发,测试结果如下局部放大之后:我们可以看到,带有频偏的基带信号o_I_fre和o_Q_fre得到了有效的频偏补偿,其补偿后的数据o_Ir和o_Qr和原始的基带数据基本一致。2.算法涉及理论知识概要基于PN导频序列和CORDIC算法的基带数据帧频偏......
  • m基于PN导频序列和cordic算法的基带数据帧频偏估计和补偿FPGA实现,包含testbench
    1.算法仿真效果本系统进行了Vivado2019.2平台的开发,测试结果如下   局部放大之后:   我们可以看到,带有频偏的基带信号o_I_fre和o_Q_fre得到了有效的频偏补偿,其补偿后的数据o_Ir和o_Qr和原始的基带数据基本一致。 2.算法涉及理论知识概要        基于P......
  • 基于自适应运动补偿的双向运动估计算法matlab仿真
    1.算法运行效果图预览    2.算法运行软件版本matlab2022a  3.算法理论概述      基于自适应运动补偿的双向运动估计算法是一种用于视频或图像序列中运动估计的方法。它通过估计前向运动和反向运动场来提高运动估计的精度。该算法采用自适应运动补偿的策......
  • 生信教程|最大似然系统发育推断
    动动发财的小手,点个赞吧!简介顾名思义,最大似然系统发育推断旨在找到进化模型的参数,以最大化观察手头数据集的可能性。模型参数包括树的拓扑结构及其分支长度,还包括推理中假设的替代模型(例如HKY或GTR)的所有参数。由于当数据集包含多个类群时,这些参数的搜索空间是巨大的,因此所有用......