楼主: 王甜子
3022 5

[问答] 求助高手编程错误,汇率分布满足GARCH(1,1)-t分布的蒙特卡洛模拟eviews的编程问题 [推广有奖]

  • 0关注
  • 1粉丝

初中生

14%

还不是VIP/贵宾

-

威望
0
论坛币
4177 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
149 点
帖子
7
精华
0
在线时间
8 小时
注册时间
2015-9-5
最后登录
2020-4-16

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

汇率的价格服从GARCH(1,1)-t分布,要预测未来252天的价格走势,运行结果是如下,请问我下面的代码哪儿有问题?论文需要,时间紧迫,请高手赐教,万分感谢!

'The distribution of eu series

!N=10000

workfile simus5 u 1 10000

series r

series w

series z

scalar sum4=0

for !i=1 to 10000

smpl 1 252

scalar sum1=0.0000618032

scalar sum2=0

scalar sum3=log(1.045)

series e=@rtdist(7.526)

e(1)=0

series u

u(1)=0

series h

h(1)=0.0000618032

series ln

ln(1)=log(1.045)


for !counter=1 to 252

u( !counter)=sum2

h( !counter)=sum1

ln( !coumter)=sum3

sum1=0.000000642+0.054181*u( !counter)*u( !counter)+0.935995*h( !counter)

sum2=e( !counter)*(sum1)^0.5

sum3=0.999030*ln( !counter)+u( !counter)


if sum3<log(1.0351) or sum3=log(1.0351)  then r=0.0861 else r=0

endif

next

if @min(r)=0.0861 then

w(!i)=1

else w(!i)=0

endif

sum4=sum4+w(!i)

z(!i)=sum4

next

show z


二维码

扫码加我 拉你入群

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

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

关键词:EVIEWS 蒙特卡洛模拟 Eview GARCH Views 蒙特卡洛 counter 汇率 论文 走势

回帖推荐

yenfeng1 发表于2楼  查看完整内容

第24行 ln( !coumter)=sum3 打错了 括弧中 ln( !counter)=sum3

本帖被以下文库推荐

沙发
yenfeng1 在职认证  发表于 2015-9-6 00:52:26 |只看作者 |坛友微信交流群
第24行
ln( !coumter)=sum3 打错了
括弧中
ln( !counter)=sum3
已有 2 人评分经验 论坛币 收起 理由
胖胖小龟宝 + 10 + 10 热心帮助其他会员
admin_kefu + 10 热心帮助其他会员

总评分: 经验 + 10  论坛币 + 20   查看全部评分

使用道具

藤椅
王甜子 发表于 2015-9-6 13:48:05 |只看作者 |坛友微信交流群
yenfeng1 发表于 2015-9-6 00:52
第24行
ln( !coumter)=sum3 打错了
括弧中
实在感谢您!我太新手了,实在惭愧!再请教您下:
1、蒙特卡洛模拟最后输出的z函数10000条记录累计数是最后一个工作日的值吗?就是他是覆盖了之前251天的记录只保留最后一天的运行结果吗?若我不止需要最后一天的,观察日需要某三天或是全部工作日要怎么修改代码呢?
2、eviews在蒙特卡洛模拟中,预测未来252天价格是每天模拟10000次吗?那能生成类似matlab的价格路径图吗?[img=0,1]file:///C:\Users\Administrator\Documents\Tencent Files\529659548\Image\C2C\5%~DLA@H}HJ]{1V60$[Q$4Y.png[/img][img=0,1]file:///C:\Users\Administrator\Documents\Tencent Files\529659548\Image\C2C\5%~DLA@H}HJ]{1V60$[Q$4Y.png[/img]怎么进行操作?如下: QQ图片20150906134205.png

使用道具

板凳
yenfeng1 在职认证  发表于 2015-9-8 01:12:15 |只看作者 |坛友微信交流群
看完程式码和楼主的发问,我能帮忙的是
1. z变数似乎想显示10000次里每一次所跑出来252天的汇率(自然对数形式)都不超过log(1.0351)的次数总计,但是忘了r是数列,把r写成r=0.0861,会把整个数列的值变成0.0861,加上loop,后面的值就会盖过前面的值,就如楼主说的,结果显示最后的值。
2. 若要整段数列作为判断目标,只要把条件判断中的r变成r(!counter)就行了。
3.在这里推荐EViews8.0的Addins的TSDGP 这个Package,采命令式写成程式码执行,也能完成楼主的工作,楼主看一看我附上这支Package的说明。 TSDGP.pdf (189.17 KB)
4.我用自己的方法,写了程式码,完成楼主想要的图,请参考
   a)程式碼
      workfile DGP_GARCH_t u 252
      group ex
      !c1=0.054181
      !c2=0.935995
      !con=0.000000642
      rndseed  123
      for !j=1 to 10000
          smpl @ALL
          series z=@rtdist(7.526)
          smpl 1 1
          series h=0.0000618032
          series e=h^0.5*z
          series ln!j=log(1.045)
          for !i=2 to 252
               smpl !i !i
               h=!con+!c1*e(-1)^2+!c2*h(-1)
               e=(h)^0.5*z
               ln!j=0.99030*ln!j(-1)+e
          next
       ex.add ln!j
       next
       smpl @all
       show ex.line   

b) 模拟的图形



       exch








garch.rar

344 Bytes

garch

本附件包括:

  • garch.prg

使用道具

报纸
yenfeng1 在职认证  发表于 2015-9-8 13:28:59 |只看作者 |坛友微信交流群
王甜子 发表于 2015-9-6 13:48
实在感谢您!我太新手了,实在惭愧!再请教您下:
1、蒙特卡洛模拟最后输出的z函数10000条记录累计数是最 ...
我改了楼主的程序代码,目的是产生楼主要的图形,楼主原有的东西没有改变。然而,我把一些计算次数的变量省略了。若楼主需要这些变量,做程序代码比较后再加进去就行了。
workfile exch01 u 252
group ln
rndseed 10
for !i=1 to 10000
        smpl 1 252
        scalar sum1=0.0000618032
        scalar sum2=0
        scalar sum3=log(1.045)
        series e=@rtdist(7.526)
        e(1)=0
        series u
        u(1)=0
        series h
        h(1)=0.0000618032
        series ln!i
        ln!i(1)=log(1.045)
                for !counter=1 to 252
                        u( !counter)=sum2
                        h( !counter)=sum1
                        ln!i( !counter)=sum3
                        sum1=0.000000642+0.054181*u( !counter)*u( !counter)+0.935995*h( !counter)
                        sum2=e( !counter)*(sum1)^0.5
                        sum3=0.999030*ln!i( !counter)+u( !counter)
            next
        ln.add ln!i
next
show ln.line
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

使用道具

地板
王甜子 发表于 2015-9-18 14:22:42 |只看作者 |坛友微信交流群
yenfeng1 发表于 2015-9-8 13:28
我改了楼主的程序代码,目的是产生楼主要的图形,楼主原有的东西没有改变。然而,我把一些计算次数的变量 ...
太感谢您惹,前段时间电脑老是登不上人大论坛,没能及时看到您回复,后来改用Matlab编程了。但是还是很感谢您,谢谢!

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

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

GMT+8, 2024-4-29 01:39