Stata 与ARIMA循环预测波动性

Stata 与ARIMA循环预测波动性,stata,arima,Stata,Arima,关于Stata中循环的一个小问题: 我有一个数据集,其中包括以下变量:股票期权的隐含波动率,以及期权价格在标的资产上的弹性增量。Delta严格地介于20和80之间,增量为5。隐含波动率通常为百分之几 我想得到这个: quietly arima impl_volatility if delta == 20, ar(1) ma(1) predict tildevol20 if delta == 20 循环每个值的增量20、25、30、35、…、80,以便循环中的下一个值为: quietly ari

关于Stata中循环的一个小问题:

我有一个数据集,其中包括以下变量:股票期权的隐含波动率,以及期权价格在标的资产上的弹性增量。Delta严格地介于20和80之间,增量为5。隐含波动率通常为百分之几

我想得到这个:

quietly arima impl_volatility if delta == 20, ar(1) ma(1)
predict tildevol20 if delta == 20
循环每个值的增量20、25、30、35、…、80,以便循环中的下一个值为:

quietly arima impl_volatility if delta == 25, ar(1) ma(1)
predict tildevol25 if delta == 25
变量TildevoldA应从tildevol20开始,并随增量增加,直至tildevol80

我已经试过了,还有一些其他的迭代,但是我似乎无法让它工作。deltalvl是delta的本地存储值的名称,20-80

levelsof delta, local(deltalvl)
foreach 1 of local deltalvl {
   quietly arima impl_volatility if delta == `deltalvl', ar(1) ma(1)
   predict tildevol`deltalvl' if delta == `deltalvl'
}
它不返回任何内容,只运行,然后结束,不给出错误

Stata文档似乎没有任何关于这方面的内容,否则我可能只是找错了地方

数据集示例:


所以每个日期都有20-80之间的增量为5的增量,每个增量都有一个隐含的波动率。因此,1个日期>13个delta>每个delta 1波动率

更有意义的是

foreach 1 of local deltalvl {
   arima impl_volatility if delta == `1', ar(1) ma(1)
   predict tildevol`1' if delta == `1'
}
但要预测这是否有效并不容易


当调试不是一个好主意时,请安静。您可能需要Stata提供的信息

这里没有可复制的东西:没有我们可以使用的数据示例。出了什么问题?你有语法错误吗?结果不是你所期望的?没有结果?问题报告只是我似乎无法让它工作。请研究Stata tag wiki以获得详细的建议。这是奇怪的部分,我没有发现错误。执行C:\Users\u1265418\AppData\Local\Temp\std0000000.tmp。对于每个局部deltalvl{2.如果delta==局部deltalvl,ar1 ma1 3.如果delta==局部deltalvl 4,则预测vol`'。do文件的结尾似乎没有运行。我将添加一些数据示例所述语法对我来说毫无意义。您从未在循环中引用本地宏1。这不是致命的,但不是你需要的。但是由于deltalvl包含或应该包含一个值列表,arima调用应该以非法方式失败。请使用dataex命令提供示例数据,而不是屏幕截图。