全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 EViews专版
3389 5
2015-09-05

汇率的价格服从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


二维码

扫码加我 拉你入群

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

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

全部回复
2015-9-6 00:52:26
第24行
ln( !coumter)=sum3 打错了
括弧中
ln( !counter)=sum3
二维码

扫码加我 拉你入群

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

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

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
二维码

扫码加我 拉你入群

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

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

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

二维码

扫码加我 拉你入群

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

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

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
二维码

扫码加我 拉你入群

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

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

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

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群