Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:计算历史波动率的问题

1楼
cooper56 发表于:2017/8/30 15:07:39
我想在后台程序化模式下写一个计算历史波动率的公式,周期是日线,历史波动率是过去20天的每日收益率的标准差,公式如下
FOR i=2 to 20  DO  rdaily[i]:=REF(CLOSE,i-1)/REF(CLOSE,i)-1;  //这一行计算的是前19天的每日收益率,编译后提示REF 函数在循环语句中可能会带来风险
rdaily[1]:=DYNAINFO(7)/REF(CLOSE,1)-1;    //这一行计算的是昨收盘价到当前最新价的收益率
histvol:=STD(rdaily,20);    //计算波动率,可以这么用STD函数吗?
请问语句这么编写可行吗?或者有没有大神能够帮忙写一个更高效的语句,谢谢了
[此贴子已经被作者于2017/8/30 15:09:22编辑过]
2楼
FexTel 发表于:2017/8/30 15:11:39
波动率已有函数,VOLATILITY( , ) 
3楼
cooper56 发表于:2017/8/30 15:12:42
太好了,谢谢
4楼
cooper56 发表于:2017/8/30 15:20:09
不好意思,发现一个新问题,由于我的波动率计算需要加入最新价的影响(见第二行代码),而volatiliy函数只能计算历史值,请问怎么改写呢?
5楼
cooper56 发表于:2017/8/30 15:36:39
利用VOLATILITY函数并且考虑增加最近价的影响,我写了一个新的公式,大神能否看下这个式子是否正确
temphisvol:=VOLATILITY(19);    //这行计算前19天的历史波动率
rcurrent:=DYNAINFO(7)/REF(CLOSE,1)-1;   //计算昨收盘价到最新价的收益率
histvol:=SQRT( ( POW(temphistvol,2)*19/252+POW(rcurrent,2) ) /20*252);  //将19天的历史波动率和最新价的收益率结合起来计算20天的波动率
共5 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.04688 s, 2 queries.