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

期货量化历史 K 线区间与实时串:get_kline_data_series 和 serial 分工

前言

用天勤 TqSdk 写国内期货量化策略时,K 线数据有两个典型用法:一是启动或研究阶段,要拉去年一整年螺纹钢 5 分钟线,估算均线周期、做参数扫描;二是实盘主循环里,每来一根新 bar 用已收盘 K 线(常取iloc[-2])算双均线金叉死叉,再TargetPosTask调仓。有人用get_kline_serialdata_length设得巨大扛历史,有人又在while True: wait_update()里每分钟调区间接口,结果内存爆、流量超限、或历史末 bar 和实时首 bar 接不上。

天勤把两件事拆成两个 API:get_kline_serial管随wait_update更新的滚动序列;get_kline_data_series管指定起止日期的静态 DataFrame(专业版)。下面说明边界、衔接方式与常见误用。

一、两个接口各自是什么

接口返回类型是否随 wait_update 更新典型用途
get_kline_serial(symbol, duration_seconds, data_length=...)类 DataFrame 的 K 线表盘中信号、指标计算
get_kline_data_series(symbol, duration_seconds, start_dt, end_dt)pandas DataFrame否,一次性历史研究、冷启动填充

get_kline_data_series文档写明:返回对象不会更新,不建议在循环内调用;且仅限专业版用户(以官网购买说明为准)。get_kline_serial则绑定在TqApi生命周期内,每次wait_update()后表尾可能追加或更新。

二、get_kline_serial 的使用要点

klines=api.get_kline_serial("SHFE.rb2510",60*5,data_length=800)
  • duration_seconds:周期秒数,5 分钟为 300。
  • data_length:向服务器要的根数缓冲,不是均线周期;估法见 data_length 专题。
  • 新 bar 判定:对klines.iloc[-1]["datetime"][-2]配合is_changing(klines.iloc[-1], "datetime")
  • 指标应对已收盘 bar 用iloc[-2],避免信号闪烁。

三、get_kline_data_series 的使用要点

fromdatetimeimportdate df=api.get_kline_data_series("SHFE.rb2510",60*5,date(2024,1,1),date(2024,12,31),)
  • start_dt/end_dt可为date(交易日)或带时区的datetime
  • 返回列含datetimeopenhighlowclosevolumeopen_oiclose_oi等。
  • 适合离线算参数、画长期曲线、检验样本外;算完应落盘,不必常驻内存。

四、历史与实时如何衔接

推荐模式:

  1. 研究阶段:用get_kline_data_seriesDataDownloader拉全历史,本地 parquet/csv 存盘。
  2. 实盘启动:
    • 若已有本地历史,直接读文件预热指标状态;或
    • get_kline_serial订足够长的data_length预热。
  3. 盘中只维护get_kline_serial一张表,不再调get_kline_data_series

切忌在while True: api.wait_update()里每圈调get_kline_data_series,既浪费流量,又拿不到更新。

衔接检查:对比历史末行datetimeserial倒数第二根datetime是否连续;若有缺口,补下载或增大data_length重新订阅。

五、与回测环境的关系

TqBacktestget_kline_serial按回测时钟推进;get_kline_data_series在回测中的行为以你本地版本文档为准,研究链路更常直接用回测内置数据。保持「回测用一套加载、实盘用 serial」的环境分离,可减少上线时字段不一致。

六、内存与流量粗算

data_length=800的 5 分钟线,单合约内存占用通常可接受;若 50 个品种各 8000 根,DataFrame 会明显吃内存。研究阶段用get_kline_data_series拉完落盘释放;实盘只保留交易品种 serial。专业版区间拉取按流量计费时,避免在循环里重复拉同一段历史。

七、冷启动三种模式对比

模式做法优点缺点
A 大 data_lengthserial 一次要够长简单占带宽
B 本地文件预热DataDownloader 落盘可控要维护文件
C data_series 一次性专业版区间精确权限/费用

上线推荐 B+A:夜间 downloader 更新,盘前 serial 订 500~1000 根衔接。

八、常见衔接 bug

历史末 bar 的close与 serial 第一根open跳空:可能是换月或数据源拼接;不要用历史文件最后一个 close 直接当 serial 指标初值,应在 serial 预热满data_length后再交易。多合约对齐时,各 serial 的datetime可能差几秒,信号应各算各的,不要强行 merge 成一张宽表除非策略需要。

总结

天勤把「拉一段固定历史」和「维护一根实时 K 线序列」分成get_kline_data_seriesget_kline_serial:前者静态、适合研究落盘;后者动态、适合wait_update主循环。专业版才能用区间接口,免费场景可依赖data_length预热或DataDownloader。程序上做到启动预热一次、盘中只更新 serial,历史与实盘信号才能在同一套指标代码下对齐,也避免在循环里误用不更新的 DataFrame 导致信号僵死。

FAQ

1)没有专业版怎么办?

加大get_kline_serialdata_length,或用DataDownloader夜间批量拉历史到本地。

2)多合约每个都要 serial 吗?

交易合约必须订;纯研究合约可离线文件,不占实时订阅。

3)datetime 是纳秒吗?

K 线表datetime为纳秒时间戳,与quote.datetime一致,比较时注意单位。

4)主连 KQ.m@ 能用 data_series 吗?

可以传主连代码,但实盘下单仍要映射到具体月份,别混用。


本文基于天勤 TqSdk 公开 API 整理,不构成投资建议。

http://www.rkmt.cn/news/1503657.html

相关文章:

  • 告别刮痧!手把手教你给《饥荒》Mod添加炫酷伤害数字(附完整Lua源码)
  • 红米Note 3高通版LineageOS 16刷机整合包:含TWRP恢复、OpenGApps及完整烧录文件
  • 二级域名自动分发+易支付PHP对接源码,含伪静态规则与部署指南
  • MRIcroGL医学影像可视化:5大核心功能解析与高效应用指南
  • 从Python到C语言:手把手教你将YOLOv8检测结果喂给STM32(附串口协议设计)
  • 手把手教你用PyTorch复现LSTM+CRF论文代码(附CoNLL2003数据集实战)
  • 用MAX30102和OLED做个桌面心率血氧仪:STM32项目从硬件连接到数据显示
  • 用STM32F103和HC-12模块,把旧手机蓝牙遥控器改造成无线快门(附完整代码和PCB)
  • 下载 | 官方正版 Windows 11 ISO映像 2025 更新 l 版本 25H2(持续更新)
  • 当Excel遇上AutoCAD:用VBA打通两大软件,实现数据与图纸的联动
  • 三步解锁Linux上的Windows世界:Bottles深度使用指南
  • 终极指南:在PC上完美使用Switch控制器的完整解决方案
  • 雷达-惯性里程计:紧耦合EKF框架设计与无人机导航应用
  • 终极PotPlayer字幕翻译解决方案:免费实现多语言视频无障碍观看
  • Jable视频下载终极指南:3步轻松保存任何视频到本地
  • 51单片机蜂鸣器除了滴滴响,还能用C语言弹《生日快乐》?手把手教你玩转音乐编程
  • Switch大气层系统完整安装指南:轻松打造终极自制游戏平台
  • 终极指南:如何快速重置JetBrains IDE的30天试用期
  • 施工工艺三维动画实测:投标场景下的靠谱服务商解析 - 奔跑123
  • S6.3稀缺性原理——限时限量的心理机制与产品设计
  • LTspice瞬态参数设置对ZVS振荡器起振的关键影响
  • PTPX功耗分析实战指南:从脚本配置到报告解读
  • 终极指南:3分钟完成Android Studio中文界面配置,告别英文困扰
  • FPGA项目实战:给Si5340时钟芯片配个“遥控器”——基于Zynq PS的I2C控制器设计与调试
  • 2026年浙江杭州10大正规叛逆青少年教育学校名单发布:让成长不再逆反 - 小途xt
  • VMware Workstation Pro 17 免费激活终极指南:5000+许可证密钥一键获取
  • GD32F405RG IAP升级实战:手把手教你用USART+DMA实现Bootloader(附完整源码)
  • 真人实测|2026 武汉手表回收测评,各大机构优缺点一目了然 - 奢侈品交易观察员
  • 杉德斯玛特卡闲置处理攻略:轻松变现,三步到账 - 团团收购物卡回收
  • 4×300MW火电厂电气主系统设计:从可靠性、灵活性到经济性的综合考量