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

期货量化模拟盘资金曲线:天勤 get_account balance 采样记录

前言

国内期货量化策略在回测阶段,天勤TqBacktest会自动产出资金曲线;进入模拟盘阶段,程序改成TqApi(account=TqSim())TqKq(),主循环仍是while True: api.wait_update(),均线等信号触发后TargetPosTask调仓。很多人回测报告很漂亮,模拟盘跑了两周却没有同等口径的权益记录——程序里从没把get_account().balance(账户动态权益)落盘,说不清最大回撤多少、日亏风控线有没有误触,上线只能凭感觉。

天勤get_account()balance随每次wait_update()更新,与快期客户端权益同口径。只要在主循环里按 K 线收盘或日频采样写入 csv,就能在模拟盘画出与实盘可对照的资金曲线。下面说明采哪些字段、频率怎么定。

一、该采哪些字段

字段用途
balance权益曲线纵轴
available可用资金变化
margin保证金占用
risk_ratio风险度曲线
float_profit浮盈贡献
commission成本累积
datetime横轴,用quote.datetime或本机 UTC

同时记策略版本version、环境mode=sim/kq/live

二、采样频率怎么定

  • 日频:每个交易日收盘后采一次,对齐结算。
  • intraday:每根 K 线收盘采一次,用is_changing(klines.iloc[-1], "datetime")触发。
  • 事件驱动:成交或set_target_volume后采一次,点更密。

避免每个 tick 写盘,IO 会拖慢wait_update循环。

三、示例代码

importcsvfromdatetimeimportdatetimedefsample_equity(api,quote,path,version="v1"):acc=api.get_account()ifacc.balance!=acc.balance:returnts=quote.datetime# 纳秒,或转成可读时间row={"ts":ts,"balance":acc.balance,"available":acc.available,"margin":acc.margin,"risk_ratio":acc.risk_ratio,"commission":acc.commission,"version":version,}withopen(path,"a",newline="",encoding="utf-8")asf:w=csv.DictWriter(f,fieldnames=row.keys())iff.tell()==0:w.writeheader()w.writerow(row)

主循环片段:

klines=api.get_kline_serial(SYMBOL,300,data_length=200)whileTrue:api.wait_update()ifapi.is_changing(klines.iloc[-1],"datetime"):sample_equity(api,api.get_quote(SYMBOL),"equity_sim.csv")

四、画图与对比

用 pandas 读 csv,balance归一化后与TqBacktest导出的权益对比。关注最大回撤、夏普(需无风险利率自行处理)、手续费占比。模拟盘曲线若长期高于回测,检查TqSim.set_commission是否过低。

五、TqKq 与 TqSim 区别

TqKq走快期模拟环境,规则更接近柜台;TqSim本地模拟,便于批量测试。两者get_account()字段一致,曲线口径可统一,但不应与实盘曲线直接等同。

六、用 pandas 画净值

importpandasaspd df=pd.read_csv("equity_sim.csv")df["nav"]=df["balance"]/df["balance"].iloc[0]# df["nav"].plot()

叠加risk_ratio子图,可看杠杆是否随净值恶化。

七、与回测曲线叠图

回测导出权益序列,与模拟盘按日期 align。偏差大于 5% 连续一周,先查 commission 与成交模式,再怀疑策略逻辑。

八、断线缺口处理

曲线中balance平直而行情在动,多半是断线未采样。重连后补点并标注gap字段,避免误判策略回撤。

九、采样策略选择

日内高频策略可用 K 线收盘采一次;日频策略用日盘结束采一次即可;多策略共账户应在同一文件用strategy_id分列,或只记账户总权益、分策略记贡献成交。无论哪种,采样时刻应固定写进交付文档,避免后人用不同频率重画曲线得出相反结论。

总结

模拟盘资金曲线不自动生成,需要程序在wait_update后采样get_account().balance等字段落盘。按 K 线收盘或日频记录,配上versionmode,就能在TqSim/TqKq阶段画出与回测可对照的权益轨迹,为是否上实盘提供第二份证据。采样别在每个 tick 写文件,以免反过来影响模拟表现。曲线本身不是目的,能解释回撤、能对上手续费、能发现断线缺口,才是模拟盘留痕的价值。

FAQ

1)balance 跳动很抖?

正常,含浮盈波动;可看日频曲线。

2)多品种共账户怎么记?

一条账户曲线即可,品种归因另记 position 快照。

3)能否用 api.get_trade 重算权益?

成交可辅助,账户以get_account为准。

4)断线后曲线缺口?

重连后补采一点,标注断线区间。


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

http://www.jsqmd.com/news/990055/

相关文章:

  • 3个技巧快速掌握QMCDecode:解锁QQ音乐加密音频的终极指南
  • 钛投标:全流程企业级AI标书解决方案,重构投标数字化生产力
  • IDM激活脚本终极指南:三步实现永久免费下载体验
  • DABL7689数据采集卡:200元出头的“入门神卡”,还要啥自行车?
  • 内容创作智能体:多平台文案生成系统
  • 别再死记硬背了!用Verilog写移位寄存器,这3个实战场景帮你彻底搞懂
  • FPGA实战:手把手教你用Verilog实现带FIFO的UART环回测试(附完整代码)
  • 007、GPIO工程陷阱:浮空输入、漏电流、电平转换与PCB布局注意事项
  • iOS微信插件终极指南:解锁防撤回、远程控制等10大隐藏功能
  • 2026年评价高的无锡Y41A单柱矫直机/卧式型材矫直机200T/石油钻杆矫直机横向对比厂家推荐 - 行业平台推荐
  • [智能体-348]:CaaS:大模型是企业数字化决策者;智能体是企业的数值化管理者和员工;工具是企业传统的数字化工具;智能体框架是企业的流程和制度框架。他们共同组建了AI原生的数字化公司
  • 如何用go2rtc快速搭建智能摄像头流媒体网关:零延迟、零依赖的终极指南
  • 如何三步解密Navicat数据库连接密码的完整解决方案
  • 收藏!何小鹏160万年薪回母校抢AI人才,小白程序员抓住AI风口,改变命运的机遇就在眼前!
  • PyTorch炼丹笔记:把PConv卷积塞进YOLOv5,小目标检测涨点实战
  • 别再用万年历了!手把手教你用STM32F103的RTC实现一个精准的Unix时间戳时钟
  • 用LM358和红外LED,手把手教你DIY一个低成本无线耳机(附完整电路图)
  • CANoe CAPL DLL进阶:从Demo到实战,如何封装自定义加密算法(以MD5为例)
  • 怎么辨别正宗那曲虫草?
  • 分子图与LLM高效对齐:EDT-Former动态令牌技术解析
  • 微信聊天记录永久保存方案:WeChatMsg让数字记忆永不褪色
  • 2026在线抠图软件保姆级教程:免费且好用的工具手把手教你用
  • FanControl实战手册:Windows风扇智能控制完全解析
  • 大模型时代,小白也能抓住高薪机遇?收藏这份程序员跳槽指南!
  • 数据的加密与解密(04:53)
  • ThinkPHP6+Layui开发的模块化OA系统,含人事、审批、项目、合同及财务功能
  • DABM-D223数据采集卡:500K高速采样+FPGA架构
  • 前沿论文复现方法论:从论文到可复现代码的系统化流程
  • 避开STM32 HAL库的坑:自己动手实现RTC读写函数(以F103为例,附完整代码)
  • 2026年口碑好的浙江无纺布制袋机/浙江环保手提袋制袋机/保温袋制袋机厂家精选合集 - 品牌宣传支持者