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

前言

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

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

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

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

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

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实现期货指数映射交易与持仓换月操作。映射比较简单,指数负责开仓条件,主力负责开仓。

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

最后

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

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

python找出主力合约价格_Python实盘交易之期货指数映射主力与“自动换月”相关推荐

  1. python找出两个列表不同元素_python 找出两个列表的相同元素与不同元素

    python 找出两个列表的相同元素与不同元素,用了以下几种方法 1. 通过set 集合 list1 = [1,2,3] list2=[2,3,4] set1 = set(list1) set2 = ...

  2. 在哪里能收到python实例代码-Python找出最小的K个数实例代码

    题目描述 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 这个题目完成的思路有很多,很多排序算法都可以完成既定操作,关键是复 ...

  3. Python找出列表中出现次数最多的元素三种方式

    通过三种方式给大家介绍,具体详情如下所示: 方式一: 原理:创建一个新的空字典,用循环的方式来获取列表中的每一个元素,判断获取的元素是否存在字典中的key,如果不存在的话,将元素作为key,值为列表中 ...

  4. linux 端口tnpl,利用Python找出9个连续的空闲端口

    这篇文章主要介绍了Python找出9个连续的空闲端口的方法,感兴趣的小伙伴们可以参考一下 一.项目需求 安装某软件,配置时候需要填写空闲的端口.查看5个平台的某个端口是否被占用 5个平台为window ...

  5. python找出某个文件夹下某个后缀的文件

    python找出某个文件夹下某个后缀的文件 import osdef find_files_with_suffix(folder_path, suffix):# 使用os模块获取文件夹中所有文件的路径 ...

  6. python找最长的单词,Python 找出英文单词列表(list)中最长单词链

    这篇文章主要介绍了Python 找出英文单词列表(list)中最长单词链,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 本文主要 ...

  7. Python -- 找出100以内的所有质数

    Python – 找出100以内的所有质数 质数:除了1和本身没有其他因数 i=2 for i in range(2,100): # 取i从2开始,2 最小的质数for j in range(2,i) ...

  8. python分词统计词频_-用python找出一篇文章中词频最高的20个单词

    python统计一个大文件中很多小文件里面的词频 #!/usr/bin/env python3.6 from collections import Counter from functools imp ...

  9. python找出素数_[Python 1] 如何使用Python找质数?

    学习生物信息需要熟练掌握一门甚至多门编程语言,比如Python.R.C++,这取决于你的需求. 但语言只是工具,最关键的是如何合理使用工具去解决生物学问题,这需要你去多写.多查.多看来锻炼.不然给你把 ...

最新文章

  1. 你陪我长大 我陪你变老
  2. 输出nginx执行过程中函数调用关系
  3. Python Django创建项目命令
  4. java代码整合_java合并多个文件的实例代码
  5. php设置外键约束,关于php:禁用教义外键约束
  6. 大数据学习笔记19:MR案例——汇总三科成绩表文件
  7. 在虚拟机linux上安装gdb,linux下gdb的安装和使用
  8. win32开发(消息机制)
  9. 【选手分享】菜鸡到大佬的蜕变技巧
  10. JVM内存分析及导致内存溢出的不健壮代码及解决办法
  11. list集合去除重复对象
  12. Mysql触发器与动态完整性
  13. 服务器控件编程中的控件状态保存机制
  14. 命名问题导致的一个bug
  15. Android常用提示框(dialog和popuwindow)
  16. JAVA数据类型的强制转换
  17. 如何获得更多表情包_从资产商店获得更多
  18. PE文件格式偏移参考
  19. phpstrom中的常用快捷键
  20. Entry name ‘classes.dex‘ collided

热门文章

  1. 区块链技术与溯源业务实践。_如何通过区块链技术丰富您的在线业务?
  2. js13位时间戳转换,10位时间戳转换
  3. canvas 的save()和restore()方法
  4. css html 对错号,HTML_DIV+CSS编码时易犯的错误,CSS+DIV是网站标准(或称“WEB - phpStudy...
  5. 微信小程序获取滚动条高度_小程序超过高度加滚动条 小程序尺寸规范
  6. 重磅开讲 | 图灵奖得主—— Joseph Sifakis
  7. 【django】搭建博客教程(2)——Template的使用
  8. mysql 更新 自我_ClickOnce DIY全自动更新下载升级的自我实现
  9. 解决:Win10 显示无法连接到Internet,但是还能上网
  10. win10显示未连接到网络,但是任然可以上网