楼主: hubifeng?
9690 12

[学习分享] lstar\estar模型估计 [推广有奖]

副教授

68%

还不是VIP/贵宾

-

威望
0
论坛币
10467 个
通用积分
122.7759
学术水平
87 点
热心指数
86 点
信用等级
62 点
经验
496 点
帖子
662
精华
0
在线时间
1063 小时
注册时间
2010-12-7
最后登录
2022-6-21

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
本贴来源于[url=https://bbs.pinggu.org/thread-923194-17-1.html],是对该贴中涉及lstar、estar模型估计的总结。内容如下:
LSTAR:
方法一
  1. library(tsDyn)
  2. mod.star <- star(log10(lynx), m=2, d=1, control=list(maxit=3000))
  3. mod.star
  4. summary(mod.star)
复制代码
方法二
例1
  1. library(tsDyn)
  2. mod.lstar <- lstar(log10(lynx), m=2, d=1, control=list(maxit=3000))
  3. summary(mod.lstar)
复制代码
例2
#cpo.txt下载:[url=https://bbs.pinggu.org/thread-923194-16-1.html]
  1. library(tsDyn)
  2. nan=read.table("cpo.txt", header = TRUE)
  3. y=nan$CP
  4. x=nan$Oil
  5. mod=lstar(y,m=3,d=1,thVar=x,control=list(maxit=3000))
  6. summary(mod)
复制代码
#计算参数t值和标准差,或者使用summary(mod)
  1. xxL=cbind(1,mod$str$xx)
  2. xxH=xxL
  3. yy=mod$str$yy
  4. z=mod$model.specific$thVar
  5. gamma=mod$coefficients[7]
  6. th=mod$coefficients[8]
复制代码
#Pay attention to the Transition function!!!
  1.   G <- function(y, g, th)  plogis(y, th, 1/g)
复制代码
#lm.fit(cbind(xxL, xxH * G(z, gamma, th)), yy)
  1. calc.lm.t <- function(x)
  2. {
  3.    Qr <- x$qr  
  4.    r<- x$residuals
  5.    p <- x$rank  
  6.    p1<- 1L:p  
  7.    rss<- sum(r^2)  
  8.    n<- NROW(Qr$qr)
  9.    rdf<- n-p

  10.    resvar <- rss/rdf
  11.    R <- chol2inv(Qr$qr[p1,p1,drop=FALSE])  
  12.    se<- sqrt(diag(R)*resvar)  
  13.    est<- x$coefficients[Qr$pivot[p1]]
  14.    tval <- est/se

  15.    res <- cbind(est = est, se = se, tval = tval)
  16.    res
  17. }
  18. lmf <- lm.fit( cbind(xxL, xxH * G(z, gamma, th)), yy)
  19. calc.lm.t(lmf)
  20. mod
复制代码
#转换变量和转换函数的散点图
  1. names(mod)
  2. g=mod$coefficients[7]
  3. th=mod$coefficients[8]
  4. z=mod$model.specific$thVar
  5. gfun<-function(y,g,th) 1 / (1 + exp(-g*(y-th)))   
  6. G=gfun(z,g,th)
  7. par(mfrow=c(2,1))
  8. plot(G,type = "l", col = "red")
  9. plot(G,z)
复制代码
#残差进行独立性检验(Q统计量)、正态性检验(JB统计量)和ARCH检验(LM统计量,也可以是其他统计量)
  1. library(fGarch)
复制代码
# Lagged Series:
  1. .tslagGarch = function (x, k = 1) {
  2.         ans = NULL
  3.         for (i in k) ans = cbind(ans, .tslag1Garch(x, i))
  4.         indexes = (1:length(ans[, 1]))[!is.na(apply(ans, 1, sum))]
  5.         ans = ans[indexes, ]
  6.         if (length(k) == 1) ans = as.vector(ans)
  7.         ans }
  8.     .tslag1Garch = function (x, k) {
  9.         c(rep(NA, times = k), x[1:(length(x) - k)]) }
复制代码
# Statistical Tests:
  1.   cat("\n Residuals Tests:\n")
  2.     r.s = mod$residuals
  3.     ans = NULL
复制代码
# Normality Tests:
  1.    jbtest = jarqueberaTest(r.s)@test
  2.     ans = rbind(ans, c(jbtest[1], jbtest[2]))
  3.     if (length(r.s) < 5000) {
  4.         swtest = shapiro.test(r.s)
  5.         if (swtest[2] < 2.6e-16) swtest[2] = 0
  6.         ans = rbind(ans, c(swtest[1], swtest[2]))
  7.     } else {
  8.         ans = rbind(ans, c(NA, NA))
  9.     }
复制代码
# Ljung-Box Tests:
  1.   box10 = Box.test(r.s, lag = 10, type = "Ljung-Box")
  2.     box15 = Box.test(r.s, lag = 15, type = "Ljung-Box")
  3.     box20 = Box.test(r.s, lag = 20, type = "Ljung-Box")
  4.     ans = rbind(ans, c(box10[1], box10[3]))
  5.     ans = rbind(ans, c(box15[1], box15[3]))
  6.     ans = rbind(ans, c(box20[1], box20[3]))
  7.     box10 = Box.test(r.s^2, lag = 10, type = "Ljung-Box")
  8.     box15 = Box.test(r.s^2, lag = 15, type = "Ljung-Box")
  9.     box20 = Box.test(r.s^2, lag = 20, type = "Ljung-Box")
  10.     ans = rbind(ans, c(box10[1], box10[3]))
  11.     ans = rbind(ans, c(box15[1], box15[3]))
  12.     ans = rbind(ans, c(box20[1], box20[3]))
复制代码
# Ljung-Box Tests - tslag required
  1. [hide][hide]   lag.n = 12
  2.     x.s = as.matrix(r.s)^2
  3.     n = nrow(x.s)
  4.     tmp.x = .tslagGarch(x.s[, 1], 1:lag.n)
  5.     tmp.y = x.s[(lag.n + 1):n, 1]
  6.     fit = lm(tmp.y ~ tmp.x)
  7.     stat = (n-lag.n) * summary.lm(fit)$r.squared
  8.     ans = rbind(ans, c(stat, p.value = 1 - pchisq(stat, lag.n)) )
  9.     # Add Names:
  10.     rownames(ans) = c(
  11.         " Jarque-Bera Test   R    Chi^2 ",
  12.         " Shapiro-Wilk Test  R    W     ",
  13.         " Ljung-Box Test     R    Q(10) ",
  14.         " Ljung-Box Test     R    Q(15) ",
  15.         " Ljung-Box Test     R    Q(20) ",
  16.         " Ljung-Box Test     R^2  Q(10) ",
  17.         " Ljung-Box Test     R^2  Q(15) ",
  18.         " Ljung-Box Test     R^2  Q(20) ",
  19.         " LM Arch Test       R    TR^2  ")
  20.     colnames(ans) = c("Statistic", "p-Value")
  21.     print(ans)[/hide]
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:star模型 LSTAR ESTAR STAR AR模型 模型

已有 3 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
penguinpgq + 1 + 1 + 1 精彩帖子
oliyiyi + 16 + 1 + 1 + 1 精彩帖子
crystal8832 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 16  学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

沙发
心若灿烂 发表于 2014-9-12 00:40:23 |只看作者 |坛友微信交流群
结合数据,能否分步解释的清楚一些;谢谢!

使用道具

藤椅
xcwhss 发表于 2016-9-18 11:18:48 |只看作者 |坛友微信交流群
对楼主的热心表示感谢!

使用道具

板凳
醉沫离殇 在职认证  发表于 2017-4-26 10:51:23 |只看作者 |坛友微信交流群
太谢谢了

使用道具

报纸
andydidier 发表于 2017-4-26 21:14:47 |只看作者 |坛友微信交流群
不错,这是自盘古开天地以来有关R做STAR模型最详细的例子!

使用道具

地板
lillianz 发表于 2017-5-28 07:58:59 |只看作者 |坛友微信交流群
很感谢!!!!!!!!

使用道具

7
woaiwoj 发表于 2017-12-4 09:36:30 |只看作者 |坛友微信交流群
这是用什么软件做的吗?

使用道具

8
pop_ufa 发表于 2018-1-25 11:42:25 |只看作者 |坛友微信交流群
我在金融时间序列第三版中看到了非线性时间序列模型,书中158页有用star模型构建一个arch模型的案例。可惜没有实例。
我又论坛里找到一份用Splus软件做非线性时间序列模型的文档,在文档里有个用NASDAQ每周的收益率绝对值做的SETAR,
lstar案例。
我知道arch模型本身可以看做:用移除均值的收益率的平方做的ar模型。按照这个推断我应该能够用:移除均值的收益率的平方序列,按Splus软件的LStar,或者SEtar模型的建模流程来建立--能够估计非线性方差arch模型(Star-garch模型)。
这样方法在软件中的计算有没有问题


在splus做star模型的例题里,为啥先对收益率取平方,转成周收益率取开方。这样做不就是消除负号了吗,这样的模型还是ar模型了吗?ndx.ret2 = getReturns(ndx.dat[,&quot;Close&quot;])^2

ndx.rvol = sqrt(aggregate(ndx.ret2, FUN=sum, by=&quot;weeks&quot;,week.align=1))

使用道具

9
凡知心水 发表于 2018-6-16 10:14:22 |只看作者 |坛友微信交流群
我按照老师的代码进行了操作,但是计算机报错了 ,请老师帮我看看错在哪了!

lstar.PNG (15.86 KB)

lstar.PNG

使用道具

10
hifinecon 发表于 2018-6-16 22:13:05 |只看作者 |坛友微信交流群
very nice examples

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-20 00:22