#本文买入合成期货、卖出合成期货
#买入合成期货,买入一份认购期权,卖出一份具有相同到期日与行权价的看跌期权
#卖出合成期货,买入一份看跌期权,卖出一份具有相同到期日与行权价的看涨期权
###################################
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_conditionif buy_condition==False:money=(float(option_p_data_near['closePrice'])-float(option_p_data_near['openPrice'])-float(option_c_data_near['closePrice'])+float(option_c_data_near['openPrice']))*10000profit.append(money)if buy_condition==True:money=(float(option_c_data_near['closePrice'])-float(option_c_data_near['openPrice'])-float(option_p_data_near['closePrice'])+float(option_p_data_near['openPrice']))*10000profit.append(money)
all_profit=pd.Series(profit).cumsum()
all_profit.plot()

注:策略未考虑手续费,以上代码里面有bug,不能直接使用,仅供参考。需要代码,有偿提供,联系:1733505732 注明期权代码

python-优矿-期权合成期货策略相关推荐

  1. python-优矿-期权合成策略分析

    #合成看张策略分析 import pandas as pd import numpy as np import matplotlib.pyplot as plt from lib.qiquan imp ...

  2. python写因子策略_单因子策略进阶版 本篇延续(第三期:单因子策略入门版),介绍如何使用优矿平台编写策略代码,以股息率作为择股条件,自动筛选出股息率前十名的股... - 雪球...

    来源:雪球App,作者: 爱喝豆汁的投资者,(https://xueqiu.com/2680567071/130470562) 本篇延续(第三期:单因子策略入门版),介绍如何使用优矿平台编写策略代码, ...

  3. 优矿量化实验室———转自知乎

    出处:https://www.zhihu.com/question/20874888 https://www.zhihu.com/question/20874888/answer/87738147?u ...

  4. 量化初步-《python与量化投资从基础到实战》——优矿策略

    python与量化投资从基础到实战--策略初步 量化数据获取 优矿介绍 使用方式 日行情数据 因子数据 数据处理 数据合并 数据透视 数据过滤 数据获取与整理 数据转化: 标准化 哑变量 通联数据回测 ...

  5. 【python】优矿多因子策略白皮书学习与思考

    背景 本文用来快速理清常见量化思路,其官方提供的多因子此策略白皮书很适合上手. 流程 一 . 获取因子数据 # 优矿里提供了400多个因子数据,将诸如TTM类似的标准化算法工程化,可利用DataAPI ...

  6. 【学习笔记】优矿量化交易入门(一)策略框架编写

    半自动化优矿 全自动化IB 面向对象 策略框架编写 start = '2017-01-01' # 回测起始时间 end = '2018-01-01' # 回测结束时间 universe = Dynam ...

  7. 《期权、期货及其他衍生产品》读书笔记(第三章:利用期货的对冲策略)

    3.1 基本原理 完美对冲(Perfect Hedge):指完全消除风险的策略. 一劳永逸(保完即忘Hedge-and-Forget Strategy):一旦设定对冲策略后,无需在对其进行调整. 空头 ...

  8. python程序化交易实例-用 Python 实现你的量化交易策略

    Python 的学习者中,有相当一部分是冲着爬虫去的.因为爬虫可以帮你解决很多工作和生活中的问题,节约你的生命.不过 Python 还有一个神秘而有趣的应用领域,那就是量化交易. 量化交易,就是以数学 ...

  9. 83、【backtrader期货策略】一个国债期货的日线趋势跟踪策略

    有读者咨询怎么获取国债期货的数据以及如何用国债期货做一个交易策略,并且指定其中要涉及到移仓换月,交易逻辑和64.[backtrader期货策略]基于macd与ema的趋势跟踪策略(真实回测-2021- ...

  10. 【优矿学习】分析新用户引导的代码

    本文中的例子来自于优矿的新用户引导中提供的代码: 记录在优矿这个平台一下学习的回测和取数据用到的基本方法 首先第一个策略是新用户引导里面给的,大概干了这么一件事: 回测2017-01-01到2018- ...

最新文章

  1. 华硕ac68u最佳设置_灵耀X2 Pro和ARTone双双登场 华硕一举承包轻奢创作
  2. mysql录入foreigen错误_Python MySQLdb 使用utf-8 编码插入中文数据问题
  3. spring boot 异常设计原理
  4. Codeforces Round #374 (Div. 2) A. One-dimensional Japanese Crosswor 水题
  5. python敏感字替换_教学案例_Python处理敏感词汇方法
  6. 查找会议论文的会议地址
  7. mysql 5.1 db2i_DB2 9.5.0.0升级至9.5.0.9(小版本升级)
  8. Undefined symbols for architecture xxx
  9. 【工具推荐】ADB IDEA
  10. outlook不能保存密码_教大家轻松保存Outlook当中的附件到Onedrive文件夹上
  11. 2018年宝鸡市三检文科数学题目解答
  12. lisp 设计盘形齿轮铣刀_钨钢铣刀制造厂
  13. HNOI2017 滚粗记
  14. Atitit custom popup 弹窗 techweo layers目录Custom div 1Open 2关闭popup 3关闭事件 3Custom div<!-- pw
  15. 基于麻雀搜索算法优化的Elman神经网络数据预测 - 附代码
  16. 【详解】BiLSTM+CRF模型
  17. 推荐系统 AB 测试
  18. 2019计算机小高考成绩,2019江苏小高考成绩揭晓生物化学4A不易
  19. flowable modeler6.5.0集成spring boot
  20. SSL原理,SSL握手过程

热门文章

  1. OSChina 周一乱弹 —— 无双什么都好,但不是芙妹
  2. 今日头条Go建千亿级微服务的实践
  3. 近期DDG挖矿病毒防护与分析
  4. vp230引脚功能_CAN收发器—TJA1040与TJA1050区别
  5. C# 设置或验证 PDF中的文本域格式
  6. R语言使用lmPerm包应用于线性模型的置换方法(置换检验、permutation tests)、使用lm模型构建多元线性回归模型、使用lmp函数生成置换检验多元线性回归模型
  7. 小码哥C++_反汇编分析
  8. GoLand:Cannot resolve symbol
  9. 全国哪个城市适合创业
  10. 2019HPU-ICPC-Training-1