• handsomejustin80

    大家好,分享一个我一直在维护的开源项目 easy-tdx,最近过了 1.1k star ,MIT 协议,今天来发个迟到的介绍帖。

    起因

    做 A 股研究最烦的不是策略,是数据:行情平台要注册、要会员、接口按次收费;通达信客户端数据全,但锁在自己的软件里。这个项目的思路很简单——通达信的 TCP 协议是公开可逆的,那就自己实现一遍,把数据解放出来。

    它是什么

    一个纯 Python 的 A 股量化工具箱,pip install easy-tdx 就能用:

    - 行情:K 线 / 五档报价 / 分时 / 逐笔成交 / 板块 / 资金流,通达信协议直连,不需要装通达信客户端

    - 回测:内置 54 个策略、Walk-Forward 样本外验证、一条龙评估、25 项绩效指标、S-D 五档评级

    - 选股:策略翻转到全市场扫描,也有按多周期涨幅的强势股排名

    - AI 解读:回测报告自动组装成提示词发给你自己的模型( DeepSeek / GLM / Kimi / Ollama 本地都行),返回大白话解读和信心分

    - Web 终端:easy-tdx serve 起一个本地看板,行业/概念热力图、异动雷达、期货持仓排名

    - 免注册、免 API Key ,所有数据通道都是协议直连或公开数据源

    几张截图

    行情终端(行业总览热力图):

    行业总览

    回测的防过拟合验证链(评级 + Walk-Forward 逐窗样本外):

    Walk-Forward

    技术上几个可能值得一看的点

    - 通达信二进制协议是净室实现的,标准协议 + MAC 协议两套编解码,commands 层无 IO 可独立单测

    - 回测引擎是向量化的,54 个策略的指标基线进了 CI 黄金测试,撮合逻辑漂移会直接红

    - 本地 K 线仓库用 DuckDB 做增量同步,15:05 前的当日 bar 标临时值,回测默认忽略,避免拿盘中价当收盘价

    - CLI / Python API / REST 三通道输出同一份 JSON ,喂给 Agent 或脚本都行

    - 有 Windows 单文件 EXE ,不装 Python 双击就能跑

    丑话说在前面

    回测 ≠ 实盘,历史收益不代表未来;龙头池名单只是扫描范围,不是荐股; AI 解读仅供参考。工具是研究中用的,不构成任何投资建议。

    链接

    - 仓库: https://github.com/handsomejustin/easy_tdx

    - 文档 Wiki: https://github.com/handsomejustin/easy_tdx/wiki

    - 零基础上手手册( 13 章图文): https://github.com/handsomejustin/easy_tdx/blob/main/docs/回测系统完全上手手册.html

    觉得有用的话给个 star ,遇到 bug 或想要的功能直接开 issue ,或者在评论区聊,谢谢大家。

    主楼
  • yadihaoku

    已经 star ,赢利了分你一半

    #1
  • lianggggg

    star 了,老哥牛逼!但还是想问一下,老哥用这个框架收益情况如何

    #2
  • iorilu

    一直奇怪通达信没有做任何服务器限制吗

    好像也是唯一能直接调用接口没啥限制的

    你这个实时数据性能如何, 能实时监控几百个股票吗

    我也没啥想分析, 只想找个能实时监控盘中情况, 找机会做短线那种

    #3
  • handsomejustin80

    @lianggggg 感谢 star ,作为开发者来说,希望看到各位把他们用活,webui 方式,cli 方式,webapi 方式,python SDK 方式,让你可以充分做二次开发。

    @iorilu 你可以试试。

    #4
  • oldmii

    1.32.4 版本被侦测带有 Trojan:Win32/Wacatac.C!ml

    #5
  • handsomejustin80

    @oldmii

    排查结论:这是误报( false positive ),不是真的木马。我做了完整取证,Release 页也补上了完整性说明和 SHA256 。

    取证过程与证据
    下载了我们发布的 EXE 并解析二进制:确认是 PyInstaller 6.x 单文件打包、Python 3.12 (与 CI 构建矩阵完全一致)、python312.dll 运行时——构建管线上个版本( v1.32.3 )也一模一样,不是这次才引入的。
    枚举了归档内全部 1437 个条目:入口脚本全是 PyInstaller 标准引导( pyiboot01_bootstrap 等);依赖全是预期内的正常库( PIL 、numpy 、pytz 、tzdata 、VC 运行时、api-ms 系统组件),无任何可疑命名或未知二进制。
    Wacatac.C!ml 的 !ml 后缀 = 机器学习启发式判定,不是特征码命中。未签名的 PyInstaller 单文件 EXE (自解压+运行时解包)是杀软 ML 引擎最经典的误报形态——这也是为什么发版说明里早就预写了 SmartScreen 警告。v1.32.1~3 同管线构建,被报的概率相同,只是你第一次实际下载。
    你可以做的一步验证

    你下载的文件 SHA256 应该是:

    aa7e199195495cf1f07015cbe21c0f9b12a1bfbba52ff8a011000b8b1f18d46f

    在 PowerShell 里 Get-FileHash easy-tdx-1.32.4-windows.exe 对一下。一致即是从 GitHub Actions 构建的原始产物。也可上传 VirusTotal 交叉看——典型误报特征是少数 ML 引擎报、主流特征码引擎( Kaspersky/ESET 等)不报。

    #6

发表回复

登录后回复