爱意满满的作品展示区。
handsomejustin80

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

  •  
  •   handsomejustin80 ·
    handsomejustin · 1 day ago · 945 views

    大家好,分享一个我一直在维护的开源项目 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 解读仅供参考。工具是研究中用的,不构成任何投资建议。

    链接

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

    6 replies    2026-09-06 01:18:50 +08:00
    yadihaoku
        1
    yadihaoku  
       1 day ago
    已经 star ,赢利了分你一半
    lianggggg
        2
    lianggggg  
       1 day ago
    star 了,老哥牛逼!但还是想问一下,老哥用这个框架收益情况如何
    iorilu
        3
    iorilu  
       15h 52m ago
    一直奇怪通达信没有做任何服务器限制吗

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

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

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

    @iorilu 你可以试试。
    oldmii
        5
    oldmii  
       11h 58m ago
    1.32.4 版本被侦测带有 Trojan:Win32/Wacatac.C!ml
    handsomejustin80
        6
    handsomejustin80  
    OP
       6h 29m ago
    @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 等)不报。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1115 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 23:48 · PVG 07:48 · LAX 16:48 · JFK 19:48
    ♥ Do have faith in what you're doing.