当前位置: 首页 > news >正文

实盘回测一体的期货策略开发:tqsdk获取历史数据并回测,附python代码

原创内容第969篇,专注AGI+,AI量化投资、个人成长与财富自由。

星球好多同学希望说说实盘,我们就从实盘开始吧。

我们选择tqsdk给大家讲解,tqsdk支持免费注册,使用模拟账户,历史和实时数据,方便我们回测、实盘一体化的策略开发。

需要注册一个账户即可,默认就有一个模拟账户。

然后统一访问的api接口:

api = TqApi(auth=TqAuth(username, password))

然后就可以访问数据:

01 数据篇

查询所有的主连合约,一共85个:

图片

查询上交所所有有股票列表,一共2421支:

图片

查询上交所所有基金列表,一共970支:

图片

下面我们来获取时序数据——螺纹钢主连合约15分钟线(500个数据)# 定义主连合约代码(格式:KQ.m@{交易所}.{品种})

symbol = "KQ.m@SHFE.rb"  # 螺纹钢主连示例# 其他常见主连代码:#   KQ.m@DCE.m  -> 豆粕主连#   KQ.m@CFFEX.IF -> 沪深300股指主连#   KQ.m@SHFE.au -> 黄金主连
# 请求分钟线数据(以15分钟线为例)df = api.get_kline_serial(    symbol=symbol,    duration_seconds=60 * 15,  # 周期:15分钟(可修改为60=1分钟)    data_length=500,          # 获取K线数量)df['datetime'] = pd.to_datetime(df['datetime'], unit='ns')  # 毫秒转datetimedf.set_index('datetime', inplace=True)  df

图片

图片

使用tqsdk,我们不需要去管理数据,可以按需要获取数据,这是非常方便的。

另外,tqsdk还是回测功能,真正做到策略实盘和回测一体。

02 回测篇

在30分钟线上的回测——收盘价大于均线时做多,小于均线时平仓:

from datetime import datefrom tqsdk import TqApi, TqAuth, TqBacktest, TargetPosTask
'''如果当前价格大于5分钟K线的MA15则开多仓如果小于则平仓回测从 2018-05-01 到 2018-10-01'''# 在创建 api 实例时传入 TqBacktest 就会进入回测模式#api = TqApi(backtest=TqBacktest(start_dt=date(2018, 5, 1), end_dt=date(2018, 10, 1)), auth=TqAuth("快期账户", "账户密码"))api = TqApi(backtest=TqBacktest(start_dt=date(2018, 5, 1), end_dt=date(2018, 10, 1)), auth=TqAuth(username, password))api# 获得 m1901 5分钟K线的引用klines = api.get_kline_serial("DCE.m1901", 30* 60, data_length=15)# 创建 m1901 的目标持仓 task,该 task 负责调整 m1901 的仓位到指定的目标仓位target_pos = TargetPosTask(api, "DCE.m1901")
while True:    api.wait_update()    if api.is_changing(klines):        ma = sum(klines.close.iloc[-15:]) / 15        #print("最新价", klines.close.iloc[-1], "MA", ma)        if klines.close.iloc[-1] > ma:            #print("最新价大于MA: 目标多头5手")            # 设置目标持仓为多头5手            target_pos.set_target_volume(5)        elif klines.close.iloc[-1] < ma:            #print("最新价小于MA: 目标空仓")            # 设置目标持仓为空仓            target_pos.set_target_volume(0)

图片

图片

点击 “查看原文”,直接访问策略集合。

扩展  •  历史文章   

EarnMore(赚得更多)基于RL的投资组合管理框架:一致的股票表示,可定制股票池管理。(附论文+代码)

年化收益200%+的策略集 | 实时板块资金热力图 「aitrader 5.0系统代码发布」

机器学习驱动的策略开发通过流程 | 普通人阶层跃迁的可能路径?

年化30.24%,最大回撤19%,综合动量多因子评分策略再升级(python代码+数据)

三秒钟创建一个年化28%,夏普比1.25的策略(python系统已开放源代码下载)

会员专属策略可以直接下载了,多个十年年化30+%策略集|polars重构因子引擎(代码+数据下载)

6年年化收益46%,最大回撤率为16%的策略(附python代码)

http://www.xdnf.cn/news/1293643.html

相关文章:

  • Java 基础概念笔记
  • davici configurator 报错:License file of SIP has no valid checksum.
  • GitHub宕机时的协作方案
  • 如何使用 Ollama 在本地设置并运行 Qwen3
  • Git核心机制:工作区、暂存区与版本库
  • PyTorch Tensor完全指南:深度学习数据操作的核心艺术
  • Windows基础概略——第一阶段
  • 锂电池自动化生产线:智能制造重塑能源产业格局
  • 全球AI安全防护迈入新阶段:F5推出全新AI驱动型应用AI安全解决方案
  • C语言——深入理解指针(三)
  • YOLOv11+TensorRT部署实战:从训练到超高速推理的全流程
  • TeamViewer 以数字化之力,赋能零售企业效率与客户体验双提升
  • ROS2实用工具
  • 前端工程师的技术成长路线图:从入门到专家
  • 黑盒测试:用户视角下的软件“体检”
  • 自动驾驶轨迹规划算法——Apollo EM Planner
  • C++QT HTTP与HTTPS的使用方式
  • Pytest项目_day14(参数化、数据驱动)
  • 基于SpringBoot+Vue的智能消费记账系统(AI问答、WebSocket即时通讯、Echarts图形化分析)
  • 挂糊:给食材穿层 “黄金保护衣”
  • 量子安全新纪元:F5发布全新AI驱动的全栈式后量子加密AI安全方案
  • 美团搜索推荐统一Agent之交互协议与多Agent协同
  • 【P21】OpenCV Python——RGB和BGR,HSV和HSL颜色空间,及VScode中报错问题解决
  • 408每日一题笔记 41-50
  • 车载软件架构 --- MCU刷写擦除相关疑问?
  • 前端css学习笔记4:常用样式设置
  • epoll模型解析
  • Socket 套接字的学习--UDP
  • 【H5】禁止IOS、安卓端长按的一些默认操作
  • java中在多线程的情况下安全的修改list