前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度解析期权现货合约交易所系统开发说明分析

深度解析期权现货合约交易所系统开发说明分析

原创
作者头像
I357O98O7I8
发布2022-08-07 16:16:11
4280
发布2022-08-07 16:16:11
举报
文章被收录于专栏:dapp系统开发dapp系统开发

  策略代码:

  #coding=utf-8

  from __future__ import print_function,absolute_import

  from gm.api import*

  import string

  import pandas as pd

  def get_main_future(context):

  '''

  此函数用于获取全市场当前时间的主力合约

  '''

  #查询全市场期货合约

  ins_data=get_instruments(sec_types=4,df=True)

  #筛选掉已经退市的合约

  live_future=ins_data[ins_data['delisted_date']>context.now.strftime('%Y-%m-%d')]

  #返回当前日期的前一个交易日时间

  last_day=get_previous_trading_date(exchange='SHFE',date=context.now.strftime('%Y-%m-%d'))

  #获取全市场期货合约前一个交易日的信息

  future=get_history_instruments(symbols=live_future['symbol'].tolist(),start_date=last_day,end_date=last_day,df=True)

  #对期货合约代码做处理,处理成为‘交易所+名称’的格式

  future['name']=future.apply(lambda x:x['symbol'].rstrip(string.digits),axis=1)

  #将当前成交量最大的规则筛选出主力合约

  future['max_position']=future.groupby('name')['position'].transform('max')

  #取出主力合约代码

  main_future=future[(future['position']==future['max_position'])&(future['position']>0)]['symbol'].tolist()

  #返回主力合约代码

  return main_future

  #策略中必须有init方法

  def init(context):

  #高开或者低开的幅度要求

  context.multiple=0.01

  #定义上轨

  context.up=pd.DataFrame()

  #定义下轨

  context.dowm=pd.DataFrame()

  #限制每一支标的的开仓次数最大为5

  策略逻辑:

  1、判断当天高开或低开时,即当开盘价≥昨天收盘价*1.01或开盘价≤昨天收盘价*0.99。如果为高开,则进入第二步。低开则进入第三步。

  2、定义上轨=第一根K线的最高价;如果突破上轨则进入第四步。

  3、定义下轨=第一根K线的最低价;如果突破下轨则进入第五步。

  4、价格突破上轨,则买入开仓。

  5、价格跌穿下轨,则卖出开仓。

  6、第二天开盘平所有持仓。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
网站建设
网站建设(Website Design Service,WDS),是帮助您快速搭建企业网站的服务。通过自助模板建站工具及专业设计服务,无需了解代码技术,即可自由拖拽模块,可视化完成网站管理。全功能管理后台操作方便,一次更新,数据多端同步,省时省心。使用网站建设服务,您无需维持技术和设计师团队,即可快速实现网站上线,达到企业数字化转型的目的。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档