Python实盘交易之期货指数映射主力与“自动换月”

点及财经,股票期货专业投机者。

前言

通常情况下,大部分的程序化交易者都采用期货指数作为信号的产生,而报单是需要用主力合约的价格去报,这就是“指数映射主力”。

因为,主力换月会有跳空,所以大部分人都会用指数映射。

同时,我们的持仓合约会随着主力的切换而切换,当主力切换后,我们的程序也要跟着换,既然是程序化交易,这项操作就只有做成自动换月。

作者在本期文章中,将借助天勤量化平台实现“指数映射主力”和“持仓自动换月”这两项功能。

“指数映射主力”和“持仓自动换月”实现逻辑!

1.映射功能,主要是通过获取指数和主力两个合约数据,通过指数计算开仓条件,等到开仓的时候用主力去开仓。

2.持仓换月,每次指数K线更新,都获取主力的合约代码,然后判断更新前后主力合约代码是否一致,如果不一致那么就进行,换月。

Python实现指数映射、持仓换月!

1.参数变量设置。作者采用上期技术simnow账号,进行测试。读者可以根据自己需要采用simnow或者用快期官网注册模拟账号进行模拟。

实盘交易账户配置案例:

self.api = TqApi(TqAccount("H海通期货", "320102", "123456"))

主力合约代码:

self.api.get_quote("KQ.m@SHFE.rb").underlying_symbol

上段代码,获取期货对应品种的主力合约代码,比如现在主力为:SHFE.rb2101。check_symbol,用于存储主力合约代码。

2.将最新的主力合约,存入check_symbol列表。

这里,主要是在k线更新时,获取当前主力合约代码并保存至列表中。其主要作用是,判断更新前更新后主力合约是否发生变化。

如果发生了变化,则说明主力已经切换。

程序将平掉之前的仓位,并重新建立主力。

3.计算SMA均线。作者在本期代码中采用的是双均线交易系统,并且是用期货指数合约来计算均线。

在开仓条件中,是用指数来判断,主力来开仓。

4.映射与持仓换月。

target_pos2,target_pos1创建更新前后的目标持仓对象,用于换月开平仓操作,position2-为持仓最新信息。

映射细节:

klines是期货指数K线。

在策略中,我们只需要根据klines来计算指标并发出买入卖出信号后,通过获取主力合约代码创建目标持仓对象target_pos2,并以此来进行委托交易。

如下图所示:

换月细节:

通过判断存储的主力合约列表前后两个数据,就可以得知主力切换了没。如果前后不一致,说明需要进行换月操作。

self.check_symbol[-1] != self.check_symbol[-2]

如下图所示:

5.启动交易策略。

run:

小结。

上述就是,关于如何利用python实现期货指数映射交易与持仓换月操作。映射比较简单,指数负责开仓条件,主力负责开仓。

而换月,则需要创建换月前和换月后两个目标持仓对象,主力切换时,平掉老仓位,并用换月后的主力重新开仓。

最后

指数映射主力交易是比较常见的,在指数失真不严重的情况下使用比较好。持仓换月,是期货程序化交易必须要做的,每当主力切换后,我们都要把仓位切换成最新的主力合约。

文章及策略代码仅供学习,切勿直接实盘。

相关