免责声明本文基于个人使用体验不代表官方观点与厂商无利益关联。在学习期货量化的过程中我尝试了几种不同的程序化交易软件。每种工具都有各自的特点本文客观记录一下天勤量化TqSdk和交易开拓者TB的使用体验供大家参考。我是2005年入行的那时候国内量化交易才刚刚起步。转眼二十年过去这个行业已经完全变了模样。TB是我最早接触的程序化软件之一天勤量化是近几年转用的两款都有一定的使用经验。一、基本信息对比对比项TqSdk天勤量化TB交易开拓者开发语言PythonTBLTB专用语言开源情况Apache 2.0开源闭源商业软件发布时间2018年2007年安装方式pip install客户端安装学习曲线需要Python基础TBL语法简单二、开发语言对比TB的TBL语言TB使用自己的TBL语言语法类似于EasyLanguage比较简洁// TB均线策略示例TBL语言 Params Numeric Length1(5); Numeric Length2(20); Vars Numeric MA1; Numeric MA2; Begin MA1 AverageFC(Close, Length1); MA2 AverageFC(Close, Length2); If MA1 Cross Over MA2 Then Buy(1, Open); End If; If MA1 Cross Under MA2 Then Sell(1, Open); End If; End优点语法简单入门门槛低缺点扩展性有限复杂策略难以实现天勤量化的Python天勤量化使用Python语法更通用fromtqsdkimportTqApi,TqAuth,TqBacktestfromtqsdk.taimportMAfromdatetimeimportdate apiTqApi(backtestTqBacktest(start_dtdate(2025,1,1),end_dtdate(2025,6,30)),authTqAuth(账户,密码))klinesapi.get_kline_serial(SHFE.rb2510,300,200)positionapi.get_position(SHFE.rb2510)whileTrue:api.wait_update()ifapi.is_changing(klines):ma5MA(klines,5).ma.iloc[-1]ma20MA(klines,20).ma.iloc[-1]ifma5ma20andposition.pos_long0:api.insert_order(SHFE.rb2510,BUY,OPEN,1)elifma5ma20andposition.pos_long0:api.insert_order(SHFE.rb2510,SELL,CLOSE,1)优点Python生态丰富可以用numpy、pandas、sklearn等库缺点需要Python编程基础三、数据服务对比TB数据TB的数据主要来自交易所和自有数据源历史数据相对完整。但如果想做数据分析导出比较麻烦。天勤量化数据天勤量化内置全市场Tick和K线数据从合约上市至今都有。数据获取非常方便# 获取历史K线klinesapi.get_kline_serial(SHFE.rb2510,60,500)print(klines.tail())# 获取Tick数据ticksapi.get_tick_serial(SHFE.rb2510)print(ticks.tail())对于需要用Python做数据分析的场景天勤量化的数据接口更友好。四、回测功能对比TB回测TB的回测功能比较成熟可视化做得不错能直观看到策略的买卖点和资金曲线。但回测精度主要是K线级别Tick级回测支持有限。天勤量化回测天勤量化同时支持K线级和Tick级回测对于高频策略更有意义fromtqsdkimportTqApi,TqAuth,TqBacktestfromdatetimeimportdate# Tick级回测apiTqApi(backtestTqBacktest(start_dtdate(2025,1,1),end_dtdate(2025,3,31)),authTqAuth(账户,密码))ticksapi.get_tick_serial(SHFE.rb2505)whileTrue:api.wait_update()ifapi.is_changing(ticks):# 基于Tick数据的策略逻辑pass回测结束后可以获取详细的交易记录和统计数据。五、实盘交易对比TB实盘TB通过自己的服务器对接期货公司稳定性较好。但TB是闭源软件出了问题只能等官方修复。天勤量化实盘天勤量化支持130多家期货公司的实盘交易覆盖面很广。代码开源遇到问题可以自己排查。一个很实用的特点是回测代码和实盘代码结构一致只需修改一行就能切换# 从回测切换到实盘apiTqApi(TqAccount(期货公司,账号,密码),authTqAuth(账户,密码))六、适用场景分析TB更适合场景原因没有编程基础TBL语法简单入门快已有TB策略积累迁移成本高继续用也行追求开箱即用客户端集成度高天勤量化更适合场景原因有Python基础充分发挥Python优势需要复杂策略Python扩展性强重视数据分析数据接口友好追求开源自由Apache 2.0协议七、我的选择两款软件我都用过较长时间目前主要使用天勤量化。原因Python生态可以用pandas做数据分析用sklearn做机器学习扩展性强数据便利不用自己建数据库全市场数据现成开源透明代码开源遇到问题可以自己排查团队背景快期团队二十年期货软件经验稳定性有保障当然这只是我个人的选择。如果你没有Python基础或者已经在TB上积累了很多策略继续使用TB也完全可以。八、总结对比表维度TqSdk天勤量化TB交易开拓者开发语言Python通用TBL专用学习门槛需要Python基础TBL语法简单策略扩展性很强有限数据获取内置全市场数据需要客户端回测精度Tick级K线级主要K线级开源情况Apache 2.0闭源历史积累2018年至今2007年至今每种工具都有其适用场景没有绝对的好坏之分。选择时需要考虑自己的编程基础、交易需求、数据要求等因素。本文仅作为技术介绍不代表对任何工具的推荐。实际使用请自行评估。声明本文基于个人学习经验整理仅供技术交流参考不构成任何投资建议。
Ubuntu 24.04 Samba 安全加固指南:3个关键参数与防火墙深度配置 在跨平台文件共享领域,Samba 作为连接 Linux 与 Windows 生态的桥梁,其安全性往往成为企业级部署中最容易被忽视的环节。当您将共享目录暴露在网络中时,默认配置可能…
Jailhouse-gui可视化管理工具:让多核处理器分区变得简单高效 【免费下载链接】Jailhouse-gui A graphical user interface (GUI) tool for configuring and managing Jailhouse, a Linux-based hypervisor for partitioning multicore processors into isolated cel…