问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

基于移仓换月实盘情形下的布林带期货通道突破策略

创作时间:
作者:
@小白创作中心

基于移仓换月实盘情形下的布林带期货通道突破策略

引用
1
来源
1.
https://bigquant.com/wiki/doc/yyqonkc1Yw

本文介绍了一种基于移仓换月实盘情形下的布林带期货通道突破策略。该策略通过在具体合约上交易买卖,并在交割日临近时进行移仓换月操作,以实现更贴近真实交易场景的期货交易策略。

回测绩效

策略简介

我们在《127-期货布林带通道突破策略-日频》介绍了一种常见的期货CTA策略,该策略是非常经典的一个策略,常年在实盘策略排前。那篇文章里,我们交易的是某个期货品种的主力合约(8888)合约,但做个实盘的人知道,8888主力是没法交易的,我们真正实盘的时候交易的是具体的有明确交个日期的合约。

因此本策略是通过主力合约出信号,然后在具体合约上交易买卖,这和真实交易情形就是一致的了。

那么新的问题来了,持有某一个具体的合约不能一直持有,因为随时交割日临近,我们需要不断切换到下一个主力合约上,这个操作实盘叫:移仓换月。

策略说明

数据抽取

因为我们需要两个数据,一个是行情数据来计算指标,一个是主力合约映射关系表。所以,我们有两个数据抽取,第一个数据抽取模块(m4)是行情数据,第二个数据抽取(m5)是主力合约映射关系表。

在m2模块里,我们需要计算布林带相关指标,上轨下轨等,如下:

选择品种

这里我们选择焦煤这个品种,jm开头的合约数据都需要。如果我们想换成螺纹钢,我们换成 instrument like “RB%“

移仓换月

如果当前持仓和主力合约不是同一个标的,那我们需要进行移仓换月。如果是多头仓位,那我们先卖平旧的合约,再买开新的主力合约。

反之同理,如果是空头仓位,那我们先买平旧的合约,再卖开新的主力合约。

交易逻辑

代码见下:

buy_close、buy_open可以按照字面含义理解,买平和买开

if short_position > 0:
    if price > high_line:
        # 空头情况下,价格突破上轨
        context.buy_close(dominant_contract, short_position, price, order_type=OrderType.MARKET)
        context.buy_open(dominant_contract, context.lots, price, order_type=OrderType.MARKET)
        print(today,'先平空再开多', dominant_contract)
elif long_position > 0:
    if price < low_line:
        # 多仓情况下,价格突破下轨
        context.sell_close(dominant_contract, long_position, price, order_type=OrderType.MARKET)
        context.sell_open(dominant_contract, context.lots, price, order_type=OrderType.MARKET)
        print(today,'先平多再开空', dominant_contract)
elif curr_position == 0:
    if price > high_line:
        # 无仓位情形下,价格突破上轨
        context.buy_open(dominant_contract, context.lots, price, order_type=OrderType.MARKET)
        print(today, '空仓开多', dominant_contract)
    elif price < low_line:
        # 无仓位情形下,价格突破下轨 
        context.sell_open(dominant_contract, context.lots, price, order_type=OrderType.MARKET)
        print(today, '空仓开空', dominant_contract) 

克隆链接

https://bigquant.com/codesharev3/9528d380-7b29-4bcd-b732-5a2423cbf98f

本文原文来自BigQuant

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号