欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 计算历史波动率的问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2780人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
cooper56
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:28 积分:0 威望:0 精华:0 注册:2017/8/23 15:17:29
计算历史波动率的问题  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
FexTel
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:5960 积分:0 威望:0 精华:2 注册:2014/6/12 11:29:04
  发帖心情 Post By:2017/8/30 15:11:39 [只看该作者]

波动率已有函数,VOLATILITY( , ) 


金字塔—专业程序化交易量化投资平台

产品部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
cooper56
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:28 积分:0 威望:0 精华:0 注册:2017/8/23 15:17:29
  发帖心情 Post By:2017/8/30 15:12:42 [只看该作者]

太好了,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
cooper56
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:28 积分:0 威望:0 精华:0 注册:2017/8/23 15:17:29
  发帖心情 Post By:2017/8/30 15:20:09 [只看该作者]

不好意思,发现一个新问题,由于我的波动率计算需要加入最新价的影响(见第二行代码),而volatiliy函数只能计算历史值,请问怎么改写呢?

 回到顶部
帅哥哟,离线,有人找我吗?
cooper56
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:28 积分:0 威望:0 精华:0 注册:2017/8/23 15:17:29
  发帖心情 Post By: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天的波动率

 回到顶部