楼主: cyl.88
15431 44

[期权交易] heston随机波动模型参数估计问题 [推广有奖]

  • 0关注
  • 2粉丝

已卖:15份资源

本科生

42%

还不是VIP/贵宾

-

威望
0
论坛币
4 个
通用积分
0.9701
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
619 点
帖子
43
精华
0
在线时间
121 小时
注册时间
2012-9-23
最后登录
2021-3-16

楼主
cyl.88 发表于 2014-3-23 17:59:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

请问用winbugs做heston随机波动模型参数估计时初始波动率v[1]怎样决定?谢谢
二维码

扫码加我 拉你入群

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

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

关键词:参数估计 波动模型 Est sto winbugs 模型

回帖推荐

Chemist_MZ 发表于4楼  查看完整内容

你可以使用你用于估计的data的return的样本标准差来当作初值的proxy,也可以大致设在0.5,因为volatiltiy一般在0和1之间。很多估计方法对于初始值还是比较敏感的,可以多试几组,看结果变化大不大。 另外可以用iteration,即随便选定一个初值,进行估计,估计后会有一个新的值,用新值作为初值再行估计,如此循环直到所有参数稳定,或者目标函数的误差达到可以容忍的范围内。 best,

本帖被以下文库推荐

沙发
gssdzc 在职认证  发表于 2014-3-23 18:13:53
先定义一个随机序列吧

藤椅
cyl.88 发表于 2014-3-23 18:23:43
gssdzc 发表于 2014-3-23 18:13
先定义一个随机序列吧
你好 ,可以说的清楚一点吗 我不太懂 。。。。
或者我直接设初始波动率为1可以吗?

板凳
Chemist_MZ 在职认证  发表于 2014-3-23 22:22:50
cyl.88 发表于 2014-3-23 18:23
你好 ,可以说的清楚一点吗 我不太懂 。。。。
或者我直接设初始波动率为1可以吗?
你可以使用你用于估计的data的return的样本标准差来当作初值的proxy,也可以大致设在0.5,因为volatiltiy一般在0和1之间。很多估计方法对于初始值还是比较敏感的,可以多试几组,看结果变化大不大。
另外可以用iteration,即随便选定一个初值,进行估计,估计后会有一个新的值,用新值作为初值再行估计,如此循环直到所有参数稳定,或者目标函数的误差达到可以容忍的范围内。

best,

已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
晴天奥特曼 + 1 + 1 + 1 精彩帖子
见路不走 + 5 + 5 + 1 + 1 + 1 精彩帖子

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

扫头像关注公众号“二点三西格玛”衍生品定价与风险管理

报纸
cyl.88 发表于 2014-3-24 10:45:19
Chemist_MZ 发表于 2014-3-23 22:22
你可以使用你用于估计的data的return的样本标准差来当作初值的proxy,也可以大致设在0.5,因为volatiltiy ...
谢了 ,明白

地板
cyl.88 发表于 2014-3-24 10:46:07
cyl.88 发表于 2014-3-24 10:45
谢了 ,明白
非常感谢

7
cyl.88 发表于 2014-3-24 10:53:08
Chemist_MZ 发表于 2014-3-23 22:22
你可以使用你用于估计的data的return的样本标准差来当作初值的proxy,也可以大致设在0.5,因为volatiltiy ...
再问一下,参数需要设定初值吗?看到有些代码参数也设定了初值,不是很理解为什么参数也要设初值

8
Chemist_MZ 在职认证  发表于 2014-3-24 19:39:00
cyl.88 发表于 2014-3-24 10:53
再问一下,参数需要设定初值吗?看到有些代码参数也设定了初值,不是很理解为什么参数也要设初值
我没看过你的程序,我想你说的初值是指用于数值计算的初值,而非现值。

因为很多数值最优化算法都用到了迭代,因此需要设置一个起始点从而进行迭代,这并不是说需要估计的变量本身是随时间变化的。

best,
扫头像关注公众号“二点三西格玛”衍生品定价与风险管理

9
cyl.88 发表于 2014-3-24 20:13:31
Chemist_MZ 发表于 2014-3-24 19:39
我没看过你的程序,我想你说的初值是指用于数值计算的初值,而非现值。

因为很多数值最优化算法都用到 ...
model
{
   mu ~ dnorm(1,0.04)
   for( i in 2 : n ) {
      v ~ dnorm(vmean,ivd)
   }
   kt ~ dnorm( 0.0, 1.0)
   k ~ dnorm( 0.0, 1.0)
  theta <- kt / k
   for( i in 2 : n ) {
      ksy ~ dnorm(muy,tauy)
   }
   for( i in 2 : n ) {
      j ~ dbern(lambda)
   }
   lambda ~ dbeta(2,40)
   sigy2 <- 1 / tauy
   tauy ~ dgamma( 5.0,20)
   muy ~ dnorm( 0.0,0.01)
   for( i in 2 : n ) {
          rmean <-  mu + ksy * j+rho/sqrt(sigv2)*(v-v[i-1]-kt+k*v[i-1])
   }
   tauv ~ dgamma( 2.5, 0.1)
   sigv2 <- 1 / tauv
   for( i in 2 : n ) {
         vmean <- v[i - 1] +( kt-k* v[i - 1]) +sqrt(sigv2)* rho * (y - y[i - 1] - mu - ksy * j)
   }
   for( i in 2 : n ) {   
         ivd <- tauv/((1-rho*rho)*v[i-1])
   }
   for( i in 2 : n ) {
         ird <- 1/(v[i-1]*(1-rho*rho))
   }
   for( i in 2 : n ) {
      r <-  y-y[i-1]
      r ~ dnorm(rmean,ird)
   }
   rho ~ dunif(-1,1)
  v[1] <- 0.5   
}
这是程序,在SV模型中加了一个跳 ,我想要估计初始波动率及其它参数(期权定价中要用到),v[1]<-0.5  应该是不对的吧?(这样等于设了初始波动率为0.5,而我是想估计它 )
但如果不写v[1]<-0.5 就说我没有定义v,程序无法运行

10
Chemist_MZ 在职认证  发表于 2014-3-24 20:24:29
cyl.88 发表于 2014-3-24 20:13
model
{
   mu ~ dnorm(1,0.04)
抱歉我不熟悉R语言,我也不知掉这些notation是什么意思,我也不想费力一个个猜。我能回答的都回答了。我只能说就你这个程序而言,确实v1这么写是不对的。

best,

扫头像关注公众号“二点三西格玛”衍生品定价与风险管理

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

本版微信群
加好友,备注jr
拉您进交流群
GMT+8, 2025-12-31 22:16