码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • R语言随机波动模型SV:马尔可夫蒙特卡罗法MCMC、正则化广义矩估计和准最大似然估计上证指数收益时间序列...


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

    最近我们被客户要求撰写关于SV模型的研究报告,包括一些图形和统计输出(点击文末“阅读原文”获取完整代码数据)。

    相关视频

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

    模拟SV模型的估计方法:

    1. sim <- svsim(1000,mu=-9, phi = 0.97, sigma = 0.15)
    2. print(sim)
    3. summary(sim)

    4b90f76a70176468cf24ad545f7db1ec.png

    plot(sim)

    db6d6ae4d439d7fab6da57d42eb8559f.png

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

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

    1. data=read.csv("上证指数-5min.csv",header=TRUE)
    2. #open:开盘价 close:收盘价 vol:成交量 amount:成交额
    3. head(data,5) #观察数据的头5行
    4. tail(data,5) #观察数据的最后5行
    5. Close.ptd<-data$close
    6. Close.rtd<-diff(log(Close.ptd)) #指标一:logReturn
    7. rets=diff(data$close)/data$close[-length(data$close)] #指标二:Daily Returns,我们选择Daily Returns
    8. library(tseries)
    9. adf.test(rets)
    10. ## 绘制上证指数收益时间序列图、散点图、自相关图与偏自相关图
    11. Close.ptd.ts<-ts(Close.ptd,start=c(2005,1,4),freq=242)
    12. plot(Close.ptd.ts, type="l",main="(a) 上证指数日收盘价序列图",
    13. acf(Close.rtd,main='',xlab='Lag',ylab='ACF',las=1)
    14. title(main='(b) 上证指数收益率自相关检验',cex.main=0.95)
    15. pacf(Close.rtd,main='',xlab='Lag',ylab='PACF',las=1)
    16. title(main='(c) 上证指数收益率偏自相关检验',cex.main=0.95)
    17. def.off
    18. ## Q-Q图、经验累积分布ecdf图、密度图、直方图
    19. qqnorm(Close.rtd,main="(a) 上证指数收益率Q-Q图",cex.main=0.95,
    20. xlab='理论分位数',ylab='样本分位数')
    21. qqline(Close.rtd)
    22. #经验累积分布ecdf图
    23. plot(ECD,lwd = 2,main="(b) 上证指数收益率累积分布函数图",cex.main=0.95,las=1)
    24. xx <- unique(sort(c(seq(-3, 2, length=24), knots(ECD))))
    25. abline(v = knots(ECD), lty=2, col='gray70')
    26. x1 <- c((-4):3) # 设定区间范围
    27. lines(x1,pnorm(x1,mean(Close.rtdC[1:10]),sd(Close.rtd[1:10])))
    28. #密度图
    29. plot(D, main="(c) 上证指数核密度曲线图 ",xlab="收益", ylab='密度',
    30. xlim = c(-7,7), ylim=c(0,0.5),cex.main=0.95)
    31. polygon(D, col="gray", border="black")
    32. curve(dnorm,lty = 2, add = TRUE)
    33. lines(x2,dnorm(x2,mean=0,sd=1))
    34. abline(v=0,lty = 3)
    35. legend("topright", legend=c("核密度","正态密度"),lty=c(1,2),cex=0.5)
    36. #直方图
    37. hist(Close.rtd[1:100],xaxt='n',main='(d) 上证指数收益率直方图',
    38. xlab='收益/100',ylab='密度', freq=F,cex.main=0.95,las=1)
    39. lines(x2,dnorm(x2,mean(Close.rtd[1:100]),sd(Close.rtd[1:100])))
    40. axis(1,at=axTicks(1),labels = as.integer(axTicks(1))/100 )

    d51114ed67b5465d85bae158ceb7c8f0.png

    4df43a90a7faf9c7996052e80995d779.png

    b63db8e7f37fee3e489072b39ee76d3e.png


    点击标题查阅往期内容

    baefac0c2ca4da40b7507a654148d46d.jpeg

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

    outside_default.png

    左右滑动查看更多

    outside_default.png

    01

    89b14a664ecb2d6adebc133b69808192.png

    02

    4c579ed43f4503292d09b01fa0b13340.png

    03

    aaa878a9acda0f9025bd107a2fb76ca9.png

    04

    f4ba229512e760ccbd75fcaddc7d1ca5.png

    SV模型

    1. {
    2. N <- length(logReturn)
    3. mu <- (1/N)*sum(logReturn)
    4. sqrt((1/N) * sum((logReturn - mu)^2))
    5. }
    6. return=-1.5*log(h)-y^2/(2*h)-(log(h)-mu)^2/(2*sigma2)
    7. }

    马尔可夫链蒙特卡罗估计

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

    1. ###Markov Chain Monte Carlo
    2. summary(mcmc)

    ddc85d47a9a469ce1500e65def2e5960.png

    准最大似然估计

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

    1. a0=c(parm[1])
    2.   P0=matrix(parm[3]^2/(1-parm[2]^2))
    3.   dt=matrix(parm[1]*(1-parm[2]))
    4.   ct=matrix(-1.27)
    5.   Tt=matrix(parm[2])
    6.   Zt=matrix(1)
    7.   HHt=matrix(parm[3]^2)
    8.   GGt=matrix(pi^2/2)
    9.   ans<-fkf(a0=sp$a0,P0=sp$P0,dt=sp$dt,ct=sp$ct,Tt=sp$Tt,Zt=sp$Zt,HHt=sp$HHt,GG

    e22800f4ef79912f42368e48418893bc.png

    正则化广义矩阵

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

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

    651f1a0df6dc767264058ef7819596b7.png


    4e74fe7bf7dc7b486caac88a2ccb855a.png

    点击文末“阅读原文”

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

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

    113c3db3ac53c0112a53c67122372aca.jpeg

    cf32cc90bdd9a1a9b2242d37de579ddf.png

    点击标题查阅往期内容

    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模型

    9fba24c3f87dc77ed3021e4503dd3818.png

    cce92692d1090f8ac1ca46ae9e9f7319.jpeg

    cbdd1758d5c385e3ab54632a56d6a494.png

  • 相关阅读:
    20--Django-项目实战-博客开发之终章-文章评论、添加文章功能实现
    怎么把自己写的组件发布到npm官方仓库??
    cobbler3使用总结
    【算法】算法基础课模板大全
    计算机系统的层次结构
    19、wpf之事件转命令实现MVVM架构
    csapp attack lab phase3
    springcloude gateway的意义
    算法---------空间复杂度
    牛客 HJ27 查找兄弟单词
  • 原文地址:https://blog.csdn.net/tecdat/article/details/132751188
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号