复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63#本文分析牛市看张价差和熊市看跌价差的组合策略效果: #牛市看涨价差采用买入平值看涨期权,卖出较高行权价的看涨期权 #熊市看跌价差组合采用买入平值看跌期权,卖出较低行行权价的看跌期权 #####实际上还有很多不同的方式构造价差组合 ################################### 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-优矿-牛市价差和熊市价差组合策略内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复