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

31次阅读

共计 2993 个字符,预计需要花费 8 分钟才能阅读完成。

全文链接: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 模型

{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),


最受欢迎的见解

1.[](http://tecdat.cn/r%e8%af%ad%e…) R 语言对 S&P500 股票指数进行 ARIMA + GARCH 交易策略

2.[](http://tecdat.cn/r%e8%af%ad%e…) R 语言改良的股票配对交易策略剖析 SPY—TLT 组合和中国股市投资组合

3.[](http://tecdat.cn/r%e8%af%ad%e…) R 语言工夫序列:ARIMA GARCH 模型的交易策略在外汇市场预测利用

4.[](http://tecdat.cn/r%e8%af%ad%e…)TMA 三均线期指高频交易策略的 R 语言实现

5.[](http://tecdat.cn/r%e8%af%ad%e…) r 语言多均线量化策略回测比拟

6.[](http://tecdat.cn/r%e8%af%ad%e…) 用 R 语言实现神经网络预测股票实例

7.[](http://tecdat.cn/r-%e8%af%ad%…)r 语言预测稳定率的实现:ARCH 模型与 HAR-RV 模型

8.[](http://tecdat.cn/r%e8%af%ad%e…)R 语言如何做马尔科夫转换模型 markov switching model

9.matlab 应用 Copula 仿真优化市场危险

正文完
 0