期权策略回测python计算历史波动率-以poboquant为例

论坛 期权论坛 期权     
qmhedging   2018-11-26 14:42   15721   0
本帖最后由 qmhedging 于 2018-11-26 14:47 编辑

标的历史波动率在期权策略中是一个重要的统计指标,使用poboquant量化平台可以比较方便地计算标的资产一定时间内的历史波动率。
以50ETF为例,只要输入标的交易日期及定义历史范围(30、60或90天),即可通过CalOBJ.GetVolatility(历史价格数组)方便地取得标的历史波动率
完整策略范例 可见https://github.com/qmhedging/pob ... ge%20HV%20cal%20fix


CalOBJ = CreateCalcObj() #创建一个计算对象
        option = PBObj()
        yearstring=int(tradingtime.year)        
        monthstring=int(tradingtime.month)
        daystring=int(tradingtime.day)
        #准备计算50ETF的历史波动率
        option.EndDate=datetime.datetime(yearstring,monthstring,daystring)
        option.Count = 31 #获取过去31条K线
        klinedata0 = GetHisData(g.code0, BarType.Day, option)
        #print "len(klinedata) ",len(klinedata)
        klist = []
        i=0
        while i<len(klinedata0)-1:
            #print "previous trading day" +str(klinedata0.tradedate)
            #print "previous prices "+str(klinedata0.close)
            klist.append(klinedata0.close) #  
            i+=1
        if len(klist)>0:
            Kl = np.array(klist, dtype=np.double)
            HisVola=CalOBJ.GetVolatility(Kl) #得到历史波动率
        print "30D HisVola "+str(HisVola)
更多策略范例代码 可以参考 https://github.com/qmhedging/poboquant
云量化平台 可访问

https://quant.pobo.net.cn/quant/login#/
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

下载期权论坛手机APP