50ETF期权数据库构建以及使用方法

论坛 期权论坛 期权     
voltrader   2018-5-16 02:04   8215   0
1、导入历史参数-wind
Step1 :
1000001.sh – 10001010.sh按顺序排列(1行)
Step2 :
WSS(“”“”,“sec_name”,“ShowCodes=N”,“cols=1;rows=1”)获取合约名称
Step3:
用 IF(ISNUMBER(FIND(”购”,“”“”)),“购”,“沽”)区分认购认沽
Step4:IF(ISNUMBER(FIND(“年”,B2)),MID(B2,FIND(“沽”,B2)+1,5),IF(ISNUMBER(FIND(“3月”,B2)),“2018年”,“2017年”)) 找到合约年份
Step5:VALUE(IF(ISNUMBER(FIND(“年”,B2)),MID(B2,FIND(“年”,B2)+1,FIND(“月”,B2)-12),MID(B2,FIND(“沽”,B2)+1,FIND(“月”,B2)-7)))找到合约月份
Step6:
WSS(“”“”,“exe_enddate”,“ShowCodes=N”,“cols=1;rows=1”)获取到期日期
Step7:
WSS(,“exe_price”,“ShowCodes=N”,“cols=1;rows=1”)获取行权价
Step8:
WSD(“close3”,“2015-02-09”,“”,“TradingCalendar=SSE”,“rptType=1”,“ShowParams=Y”,“cols=505;rows=641”) 和
WSD(“volume”,“2015-02-09”,“”,“TradingCalendar=SSE”,“rptType=1”,“ShowParams=Y”,“cols=505;rows=641”)获取收盘价和成交量

2、Excel操作 —— 处理隐含波动率计算vix
合成期货价格:
Call-Put+strike
VBA找到平均期货价格, 平值位置, 个个月份的开始结束位置
VBA宏中 “合成期货价格”代码 (非模块)
返回以上参数
TDaysCount(日期,INDEX(合成期货sheet中所有到期日期数据,平值位置)) 返回日期距离到期日期的剩余天数(包含日期该天,记录在Call_IV表中
在VBA中运行计算Vix (模块3),在删除到期日前三天的条件下计算所有的Vix按照平值以及上下一档 的按成交量加权平均的计算方法 计算认购以及认沽

3、50ETF数据处理
=WSD(B2,"close3","2017-09-21","","TradingCalendar=SSE","rptType=1","ShowParams=Y","cols=1;rows=1")提取50ETF的历史收盘价
用LN(收盘价/上个收盘价) 计算出对数收益率,然后计算出20日,40日,60日,120日的标准差*SQRT(244)作为年化的历史波动率
对应的Vix-HV,Vix近月-Vix远月得到需要比较的波动率差值
主观参照5日均线对涨跌进行人为判定,颜色代表涨跌,盘整
再运行模块4中的期限差价(),日历差价(),对杂乱的数据进行颜色,月份归类
用数据中的数据分析进行频率统计以及画图
用COUNTIF函数计算出某一日差值在历史上的概率,也就是超过了多少百分比的数据

4、如何更新数据库
Step1:
WSD(B2:SL2,“close3”,“2017-09-21”,“”,“TradingCalendar=SSE”,“rptType=1”,“ShowParams=Y”,“cols=1;rows=1”),通过更改close3,volume,日期 对收盘价 成交量 以及50ETF收盘价更新
Step2 :
Copy日期到”合成期货价格” “Call_IV”表中
Step3:
按照VBA代码中的提示更改合成期货价格()的两个参数,运行得到更新之后的合成期货价格表,下拉Call_IV单元格更新
Step4:
运行模块3中的计算Vix
Step5:
下拉50ETF历史走势单元格(函数已经写好),更新数据,人为判断今日走势,染色
Step6:
运行模块4 模块5,跟新比较屏
对于比较屏中的图像,颜色需要人为调整

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:778
帖子:168
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP