我是靠谱客的博主 矮小大树,最近开发中收集的这篇文章主要介绍python-优矿-牛市价差和熊市价差组合策略,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#本文分析牛市看张价差和熊市看跌价差的组合策略效果:
#牛市看涨价差采用买入平值看涨期权,卖出较高行权价的看涨期权
#熊市看跌价差组合采用买入平值看跌期权,卖出较低行行权价的看跌期权
#####实际上还有很多不同的方式构造价差组合
###################################
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from lib.qiquan import*
###########################################################################################
#读取50etf标的
df=pd.read_excel('50etf_fund.xlsx')
df.index=df['tradeDate']
#获取交易日期
date=list(df['tradeDate'])
####################################################################
profit=[]
for i in range(1,len(date)):  
        day=date[i]
        etf_price_close=float(df[df['tradeDate'].isin([day])]['close'])
        etf_price_open=float(df[df['tradeDate'].isin([day])]['open'])
        secID_data_low=list(get_low(df,day)['secID'])
        #print data
        #获取近月代码
        near_c_low=secID_data_low[-2]
        near_p_low=secID_data_low[-1] 
        #####
        secID_data_high=list(get_high(df,day)['secID'])
        #print data
        #获取近月代码
        near_c_high=secID_data_high[-2]
        near_p_high=secID_data_high[-1] 
        #获取近月价格
        secID_data_near=list(get_near(df,day)['secID'])
        #print data
        #获取近月代码
        near_c_near=secID_data_near[-2]
        near_p_near=secID_data_near[-1] 
        #####
        option_c_data_low=DataAPI.MktOptdGet(tradeDate=day,
                                           secID=near_c_low,optID=u"",ticker=u"",beginDate=u"",endDate=u"",field=u"",pandas="1")

        option_p_data_low=DataAPI.MktOptdGet(tradeDate=day,secID=near_p_low,
                                             optID=u"",ticker=u"",beginDate=u"",endDate=u"",field=u"",pandas="1")
        option_c_data_high=DataAPI.MktOptdGet(tradeDate=day,
                                           secID=near_c_high,optID=u"",ticker=u"",beginDate=u"",endDate=u"",field=u"",pandas="1")

        option_p_data_high=DataAPI.MktOptdGet(tradeDate=day,secID=near_p_high,
                                             optID=u"",ticker=u"",beginDate=u"",endDate=u"",field=u"",pandas="1")
        option_c_data_near=DataAPI.MktOptdGet(tradeDate=day,
                                           secID=near_c_near,optID=u"",ticker=u"",beginDate=u"",endDate=u"",field=u"",pandas="1")

        option_p_data_near=DataAPI.MktOptdGet(tradeDate=day,secID=near_p_near,
                                             optID=u"",ticker=u"",beginDate=u"",endDate=u"",field=u"",pandas="1")
        buy_condition=get_up(df,date,i,20)
        #print buy_condition
        if buy_condition==False:
            money=(float(option_p_data_near['closePrice'])-float(option_p_data_near['openPrice'])-float(option_c_data_low['closePrice'])+float(option_c_data_low['openPrice']))*10000
            profit.append(money)
        if buy_condition==True:
            money=(float(option_c_data_near['closePrice'])-float(option_c_data_near['openPrice'])-float(option_c_data_high['closePrice'])+float(option_c_data_high['openPrice']))*10000
            profit.append(money)
all_profit=pd.Series(profit).cumsum()

注:代码仅供参考,请勿直接使用,有bug.另外没有考虑手续费的问题。


最后

以上就是矮小大树为你收集整理的python-优矿-牛市价差和熊市价差组合策略的全部内容,希望文章能够帮你解决python-优矿-牛市价差和熊市价差组合策略所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部