以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  需求:50ETF期权,当月和次月合约行权价的平值以及上下两档(当月5档+次月5档)的认购和认沽隐含波动率,以上共20个数值,求和取平均值,将结果输出为分时图,以及日K线图。  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=162076)

--  作者:代人发贴
--  发布时间:2018/3/14 16:41:51
--  需求:50ETF期权,当月和次月合约行权价的平值以及上下两档(当月5档+次月5档)的认购和认沽隐含波动率,以上共20个数值,求和取平均值,将结果输出为分时图,以及日K线图。
 需求:50ETF期权,当月和次月合约行权价的平值以及上下两档(当月5档+次月5档)的认购和认沽隐含波动率,以上共20个数值,求和取平均值,将结果输出为分时图,以及日K线图。 

--  作者:banzhuan
--  发布时间:2018/3/14 17:19:53
--  
抱歉,这个需求不太好实现
[此贴子已经被作者于2018/3/14 17:20:08编辑过]

--  作者:banzhuan
--  发布时间:2018/3/15 10:04:44
--  
可以尝试用一下方式实现 :
1. 用IMPLIEDVOLATILITY获取隐含波动率, 然后用STKINDI函数去引用 
2. 求得50ETF价格,然后手工计算上下几档
3. 分别引用到20个合约的隐波率,然后做均值输出到图表上

a1: CALLSTOCK(\'qq510050\',VTCLOSE,6,0);
a2: INTPART ( a1 * 10)/10 +0.05  ;// 求平值合约价格
a3: a2 + 0.05 ;//+1档价位合约价格
a4: a2 + 0.1 ;//+2档
a93: a2-0.05 ;//-1档
a94: a2-0.1 ;//-2档

a10 : =  OPOBYPRIRCE(\'QQ510050\',a2,0,201803,1);//获取平值认购合约代码
a11 : =  OPOBYPRIRCE(\'QQ510050\',a2,1,201803,1);
a12 : =  OPOBYPRIRCE(\'QQ510050\',a3,0,201803,1);获取+1档价位认购合约代码

DRAWTEXTEX(1,0,0,0,a10);//50ETF 平值认购合约代码
DRAWTEXTEX(1,0,0,20,a11);//50ETF 平值认沽合约代码
DRAWTEXTEX(1,0,0,40,a12);//50ETF +1档认沽合约代码

b1: STKINDI(a10 ,\'隐含波动率.aa\',0,6);//平值认购合约隐含波动率

b2: STKINDI(a12 ,\'隐含波动率.aa\',0,6);//+1档认购合约隐含波动率
[此贴子已经被作者于2018/3/15 10:06:25编辑过]

--  作者:alan2109
--  发布时间:2018/3/15 17:16:58
--  
版主辛苦了!您给的建议很有用,非常感谢教会我解决问题的思路
但是我现在这边不是很会计算后面的均值以及输出到图表这一步,而且我想要生成一个独立的K线图和分时图用以反应我们计算出来的结果、
所以,还望版主帮忙,能多辛苦帮我给我一个更完整的解决方案,

非常感谢!谢谢

--  作者:alan2109
--  发布时间:2018/3/16 15:49:54
--  
PZ:=ROUNDS(CALLSTOCK(\'QQ510050\',VTCLOSE,0),2);//平值行权价
0PG:=OPOBYPRIRCE(\'QQ510050\',PZ,0,0,1);//当月平值的认购合约
0D1PG:=OPOBYPRIRCE(\'QQ510050\',PZ-0.05,0,0,1);//当月比平值低一档的认购合约
0D2PG:=OPOBYPRIRCE(\'QQ510050\',PZ-0.10,0,0,1);//当月比平值低二档的认购合约
0G1PG:=OPOBYPRIRCE(\'QQ510050\',PZ+0.05,0,0,1);//当月比平值高一档的认购合约
0G2PG:=OPOBYPRIRCE(\'QQ510050\',PZ+0.10,0,0,1);//当月比平值高二档的认购合约

0PGYB:OPTIONINFO2(12,0PG);//当月平值的认购合约隐波
0D1PGYB:OPTIONINFO2(12,0D1PG);//当月比平值低一档的认购合约隐波
0D2PGYB:OPTIONINFO2(12,0D2PG);//当月比平值低二档的认购合约隐波
0G1PGYB:OPTIONINFO2(12,0G1PG);//当月比平值高一档的认购合约隐波
0G2PGYB:OPTIONINFO2(12,0G2PG);//当月比平值高二档的认购合约隐波

YBH:(0PGYB+0D1PGYB+0D2PGYB+0G1PGYB+0G2PGYB);
YBJ:ROUNDS(YBH/5,4);//波动率均值取4位小数点


大神,这个写法对不对?为什么我按照这样,得到的隐含波动率都跟T报价页面显示不同?OPTIONINFO2这个函数使用方法不对吗?

求大神解答

--  作者:gxx978
--  发布时间:2018/3/16 16:02:31
--  
请稍等,工作人员正在查看。
--  作者:alan2109
--  发布时间:2018/3/16 16:10:46
--  
我在两台不同的PC上运行这个代码,发现公式得出的结果很接近,而两台PC客户端的T报价页面波动率都会略有不同,是不是软件页面显示会有不准确的问题?而我们的公式运算反而是正确的?

还有个问题要请教,就是结果的小数点数位问题,如何设置成取4位小数点位数呢?现在都被自动处理了,比如隐含波动率出现0.19,0.188一类,我代码里面的YBH结果返回是0.948,YBJ返回0.19

谢谢

--  作者:gxx978
--  发布时间:2018/3/16 16:32:31
--  

1、隐含波动率是在本地计算的,分析--期权定价计算,设置可以设置历史计算的天数,看两台电脑的设置是否相同,且510050的日线数据是否补充完整。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180316163132.png
图片点击可在新窗口打开查看

2、工具--选项--常规中,修改默认小数位,默认的设置是3位小数。要是显示4位,这里修改即可。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180316163155.png
图片点击可在新窗口打开查看

--  作者:alan2109
--  发布时间:2018/3/16 16:52:53
--  
这个数据算出来了,如何生成分时图和K线图呢?
--  作者:gxx978
--  发布时间:2018/3/16 17:00:15
--  
这个计算出来的波动率,只在最新的K线上有数值,这个无法生成K线图或分时图的。