楼主: TaskShare
7549 8

随机波动率模型的参数估计(Winbugs) [推广有奖]

  • 0关注
  • 4粉丝

硕士生

73%

还不是VIP/贵宾

-

威望
0
论坛币
1140 个
通用积分
7.0695
学术水平
37 点
热心指数
45 点
信用等级
28 点
经验
3079 点
帖子
285
精华
0
在线时间
108 小时
注册时间
2012-9-4
最后登录
2018-1-28

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
见过有的文章对金融数据分析时,有用随机波动率模型(stochastic volatility, 以下简称SV)来拟合的。一直在找如何估计SV中那几个参数的方法,MLE(最大似然估计)似乎不行(因为Likelihood的函数形式是个不容易算的积分)。后来见到WINBUGS用法,后便试着编了WINBUGS的程序来算,似乎还行。

此帖目的是:一来请大家指正;二来也看看大家有无改进的办法(因为我发现用此程序,WINBUGS好像老是数值计算溢出,所以如果初始估计值设不好,或PRIOR设的范围太大,就不能顺利运算此程序)。

注:我这里用到SV模型(似乎是Heston)形式如下:dS/S=mu*dt+v[t]*dW1,  其中V又是随机变量,其随机过程是: V[t+dt]-V[t]=(theta-alpha*V[t])*dt+Sqr(V[t])*sigma*dW2, dW1与dW2独立,简化起见mu=0 (因为dt很小时,mu*dt此项可忽略,即mu=0)。下面是WINBUGS程序的例子(根据50个测试用收益率数据(dS/S,在X数组内),来估计Alpha,theta,sigma这些参数(下面的txt附件内容已贴在下面,不必看附件):
SV.txt (2.14 KB)

MODEL {
for( j in 1 : N-1 ) {
v[j+1] ~ dnorm(mu[j], tau[j])
mu[j]<- (theta-alpha*v[j])*dt+v[j]
tau[j]<- 1.0/v[j]/sigma/sigma/dt
}
for( j in 1 : N ) {
x[j] ~ dnorm(0.0, taux[j]) #Note: x is just dS/S
taux[j]<- 1.0/v[j]/dt
}
v[1] ~ dunif(0.03,0.06)
sigma ~ dunif(0.6,1.2)
theta ~ dunif(0.7,0.9)
alpha ~ dunif(1.7,2.3)
}

DATA
list(N=50, dt=0.01,  x=c(0.0026500745, 0.0480901772, 0.0107189619, 0.0170098433,
-0.0095772109, -0.0015959556, 0.0160971931, 0.0074017512, -0.0104007234, -0.0072990382, -0.0095561268,
-0.0200387847, 0.0111049423, -0.0034396885, -0.0861650005, 0.0150379343, 0.0052606306, -0.0322772593,
-0.0263788879, 0.0016784448, 0.0157479027, 0.0455850248, 0.0089219091, -0.0046011399, -0.0079556519, 0.0010855852, -0.0697741348, -0.0120694957, 0.0583712209, 0.0385789937, 0.0136737196,
-0.0170208015, -0.0739999498, -0.0092948589, -0.1007966451, 0.0089883474, -0.0396835519, 0.0045423091,
-0.0897183852, 0.0568423347, 0.0853861699, -0.0229354002, -0.1113926165, 0.0762002942, -0.0815690052,
-0.0611300245, -0.0699412850, 0.0166096849, -0.0001466746, 0.0810738261))

FIRST INIT
list(sigma=0.9, alpha=2.0, theta=0.8, v=c(0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10))
SECOND INIT
list(sigma=0.8, alpha=2.2, theta=0.9, v=c(0.05, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10))
Third INIT
list(sigma=1.0, alpha=1.8, theta=0.7, v=c(0.045, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10, 0.10))


二维码

扫码加我 拉你入群

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

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

关键词:winbugs WINBUG 波动率模型 参数估计 BUGS 模型

本帖被以下文库推荐

沙发
longxiao210 发表于 2012-10-27 18:38:04 |只看作者 |坛友微信交流群
谢谢!

使用道具

藤椅
jayhsieh 发表于 2012-10-27 22:23:44 |只看作者 |坛友微信交流群
你好,建議你去用 "基因演算法" or "模擬退火法" or "類神經網路" 相關的資料探勘文獻來找最佳化的參數 (經驗分享: 最好電腦級數高一點......才會快)

使用道具

板凳
TaskShare 发表于 2012-10-27 22:42:03 |只看作者 |坛友微信交流群
jayhsieh 发表于 2012-10-27 22:23
你好,建議你去用 "基因演算法" or "模擬退火法" or "類神經網路" 相關的資料探勘文獻來找最佳化的參數 (經驗 ...
谢谢回复。不过我不是学数学的,没听说过你说的东东。多指教。

使用道具

报纸
jayhsieh 发表于 2012-10-27 22:56:32 |只看作者 |坛友微信交流群
不用客氣~~我只是分享目前實務界與美國學術界最新的研究, 難得遇到相同興趣的朋友..... 我本科數學 碩經濟 博則搞財工

使用道具

地板
mac1220 发表于 2012-11-10 18:33:16 |只看作者 |坛友微信交流群
EM算法就可以啊,不过WINBUG肯定不行的,自己找MATLAB的CODE了……

使用道具

7
Imcareerwf 发表于 2012-11-10 20:01:25 |只看作者 |坛友微信交流群
很好

使用道具

8
lilei2000 发表于 2013-6-26 13:40:29 |只看作者 |坛友微信交流群
十分感谢

使用道具

9
tkotkzzx 发表于 2017-4-20 22:15:43 |只看作者 |坛友微信交流群
感谢楼主

使用道具

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

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

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

GMT+8, 2024-4-27 21:47