聚宽源码21

这是一个基于聚宽平台的海龟策略增强版,策略中包含了期货合约到期移仓逻辑,根据价格突破进行开仓,并设有加仓和止损规则。在开盘前和开盘时,策略会检查并处理主力合约的变化,同时记录极限价格以判断是否止盈止损。
摘要由CSDN通过智能技术生成

原文策略源码如下:
#海归策略升级版

导入函数库

from jqdata import *

#入市 20日最高值 需考虑先平仓
#离市 反向5%
#加仓 涨0.5N
#止损 跌2N

初始化函数,设定基准等等

def initialize(context):

===标的选择

g.symbol='CU'
set_benchmark(get_future_code(g.symbol)) 
# set_option('futures_margin_rate', 0.06)

设置:是否合约到期移仓,策略频率===

g.shift=True                        # 是否进行合约移仓
g.frequency='1m'                    #【注意】分钟回测用'1m',天回测用'1d'

设定账户为金融账户

set_subportfolios([SubPortfolioConfig(cash=context.portfolio.starting_cash, type='index_futures')])
set_order_cost(OrderCost(open_commission=0.000023, close_commission=0.000023,close_today_commission=0.0023), type='index_futures')
set_slippage(FixedSlippage(0))
set_option('use_real_price', True)  # 开启动态复权模式(真实价格)
log.set_level('order', 'error')     # 过滤掉order系列API产生的比error级别低的log

g.N=20                     #通道长度
g.limit=4                  #最多加4次仓
g.position=0               #持有头寸
g.add=0                    #加仓次数
g.lastprice=0              #上一次成交价格
g.markprice=0              #记录极限价格
g.lastfuture=None
g.contract_change=False

run_daily(before_market_open, time='before_open', reference_security=get_future_code(g.symbol))
run_daily(while_open, time='every_bar', reference_security=get_future_code(g.symbol))    

开盘前运行函数

def before_market_open(context):

得到主力合约

g.future=get_dominant_future(g.symbol)
price=attribute_history(g.future,g.N+1,'1d',('open','high','low','close'))
g.upperbound=max(price['high'].iloc[1:].dropna())  #如果主力合约是下月的,换合约时,回取数据不到20天。
g.lowerbound=min(price['low
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值