分享一个 1.1k star 的 A 股开源工具:免注册、免 API Key,行情 / 回测 / 选股 / AI 解读一条龙

handsomejustin80 2026-09-04 18:37 1

大家好,分享一个我一直在维护的开源项目 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 ,或者在评论区聊,谢谢大家。

最新回复 (6)
  • yadihaoku 09-04 20:10
    1
    已经 star ,赢利了分你一半
  • lianggggg 09-05 03:41
    2
    star 了,老哥牛逼!但还是想问一下,老哥用这个框架收益情况如何
  • iorilu 09-05 15:56
    3
    一直奇怪通达信没有做任何服务器限制吗

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

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

    我也没啥想分析, 只想找个能实时监控盘中情况, 找机会做短线那种
  • handsomejustin80 楼主 09-05 18:35
    4
    @lianggggg 感谢 star ,作为开发者来说,希望看到各位把他们用活,webui 方式,cli 方式,webapi 方式,python SDK 方式,让你可以充分做二次开发。

    @iorilu 你可以试试。
  • oldmii 09-05 19:50
    5
    1.32.4 版本被侦测带有 Trojan:Win32/Wacatac.C!ml
  • handsomejustin80 楼主 09-06 01:18
    6
    @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 等)不报。
* 帖子来源V2EX
返回