Justin Gu
a9782b74b9
feat: 盘面洞察收官 — AI 盘面复盘 + 板块主力资金日历
...
- AI 盘面复盘(市场情绪页):一键汇总当前情绪/量能/涨停梯队数据生成
摘要 Prompt,走 /llm/chat/async 异步任务 + 轮询,回复页内展示并经
_record_history 自动归档「AI 解读历史」
- 板块资金日历:FundFlowSampler 每交易日 14:45 后经
get_board_ranking(main_net_amount) 采样行业主力净流入 Top10,
SentimentStore 新增 board_fund 表((date,rank) 幂等);口径为
"涨幅前 50 名中主力净流入最高 10 个"(逐板块 summary 太贵,非全市场
严格排序);/market/board-fund/history + 市场情绪页日历视图
- app.py lifespan 接线启停;路线图 ⑥⑩ 标记收官
2026-09-05 04:43:22 +08:00
Justin Gu
7f0f14532e
refactor: 移除异动雷达 — 数据源盘中几乎无记录,功能不达预期
...
- 删除 /radar 页面与导航、看板「异动雷达」卡片、fetchUnusual 封装
- 移除 /mac/unusual HTTP 端点(MAC 协议层 get_unusual 与 mock 保留,
属协议覆盖面);路线图 ③ 标记取消
2026-09-05 04:42:53 +08:00
Justin Gu
0a205ffbf3
feat: 盘面洞察第四批 — 板块相关性热力图 + 异动雷达 + 量能仪表盘
...
- 相关性 /hotspots 页内新增「相关性」视图:/board-mac/hotspot-correlation
复用热点历史矩阵缓存,对窗口内活跃板块(每日前 per_day 名并集,按上榜次数
取前 N)两两算日涨跌幅 Pearson 相关;红=同涨同跌(抱团)、绿=跷跷板(轮动),
ECharts 热力图 + 双向色阶 visualMap;无缓存时透传 building 状态
- 异动雷达 /radar:沪深异动流时间线(封板/炸板/大笔买入/逼近涨停…),
每分钟异动密度柱 + 类型筛选 chips(带计数),行点击直达个股弹窗,15s 轮询
- 量能仪表盘并入市场情绪页:两市(上证+深成 5 分钟线)累计成交额曲线
vs 近 5 日同期均值(虚线),标题给出偏离百分比——放量/缩量一眼可辨
- 热点缓存判定重构为 _hotspot_history_or_build 公共入口,correlation 与
hotspot 共用同一构建状态机;新增相关性矩阵回归单测
2026-09-05 04:09:03 +08:00
Justin Gu
2b86a7d588
feat: 市场情绪栏目 — 盘中情绪采样器 + 宽度分时 + 涨停史离线回补
...
- /sentiment 市场情绪:温度卡(实时上涨占比/涨跌停/总成交,五档情绪判定)
+ 今日宽度分时(上涨/下跌/涨停家数三线)+ 近 60 日涨停跌停家数与上涨占比
- SentimentSampler:交易时段每分钟采样全市场广度(get_market_stat),
停牌/盘外自动跳过、失败不中断;SentimentStore 落 SQLite
(~/.easy_tdx/sentiment.db,(date,minute) 幂等主键,重启不丢)
- /market/sentiment/today|history:当日分钟曲线 + 逐日聚合(收盘快照占比/峰值)
- /market/limitup-history:涨停跌停家数逐日历史由 vipdoc 离线回补,
无需采样积累即时可用;缓存按 days 分键(修复 10 天缓存被 60 天请求命中)
- 采样历史需交易日积累,页面空态有明示;涨停/跌停历史开箱即有 60 天
2026-09-05 03:10:19 +08:00
Justin Gu
e419f911b7
feat: 盘面洞察三栏目 — 热点滚动/大盘日历/涨停生态,移除龙头池
...
- 热点滚动 /hotspots:交易日×板块涨跌矩阵(行业/概念/风格FG、领涨领跌镜像、今日~30日窗口),
每日名次徽标+连板/累计/首榜统计,统计卡可点击展开成员板块;后端 /board-mac/hotspot
两段式数据(历史日K矩阵当日缓存 + 今日实时列,周末 pre_close 未滚动去重),
单连接约束下后台构建+进度轮询;风格轮动 /styles 为同视图 FG 路由别名
- 大盘日历 /calendar:指数全年红绿热力图,方框大小编码成交额(年内四分位),
悬停浮框显示收盘/涨跌幅/成交额
- 涨停生态 /limitup:本地 vipdoc 日线离线回算连板天梯/首板二板分布/炸板率/跌停;
仅统计最后一根 bar 等于全市场最新交易日的股票(防停牌/退市/未下载陈旧文件污染),
主板 5% ST 判定带低价护栏;名称前端经 symbol-info 懒加载补齐
- 移除龙头池栏目及 /market/core-leaders 端点(screen 模块 universe=core 保留)
- 设计文档:docs/hotspot-rolling-design.md、docs/market-insights-roadmap.md
2026-09-05 02:43:02 +08:00
GitHub
2359df8694
feat: warehouse sync 支持 --source auto/tdx/baostock + EXE 打包内置 baostock 兜底源 + README 使用说明
2026-09-04 19:40:28 +08:00
GitHub
cb506dc0ed
docs: README 新增回测防过拟合验证链实拍(WF 样本外/一条龙评估/25 项指标/成交明细)与期货持仓排名页截图
2026-09-04 18:20:29 +08:00
GitHub
f6dab148bb
docs: README 行情终端章节新增行业/概念总览三张实拍截图(热力图通栏 + 20日排序/概念页并排)
2026-09-04 18:12:12 +08:00
GitHub
f6560f3c6d
feat: 行业/概念总览 — WebUI 板块总览双栏目(统计条+热力图/表格+三榜/翻红翻绿+板块弹窗复用)+ /board-mac/overview 聚合端点(多排序归并+15s缓存)
2026-09-04 15:59:57 +08:00
Justin Gu
c8535e2596
feat: CLI 对齐 WebUI/SDK 分析能力 — 一键参数寻优+策略列表+组合级WF/一条龙
...
CLI 此前缺失的三块补齐,引擎层复用现成实现(ParamGridOptimizer/
STRATEGY_PRESETS/evaluate_portfolio/PortfolioWalkForwardEngine),
CLI、Web API 与 Python SDK 三条通路能力对等:
- 新增 easy-tdx optimize 参数网格寻优命令:单策略网格搜索
(--strategy 用预设网格或 --param 自定义),--all 一键寻优所有
内置策略并按总收益率全局排名(对齐 WebUI /optimize 页与
/backtest/optimize-all/run/async);--workers 进程级并行;
策略名/参数名联网前前置校验快速失败
- optimizer 新增 optimize_all_strategies 规范实现(模块级 worker
可 pickle、主进程解析 label、跨策略进程池并行、presets 可注入
子集网格),CLI 与后续 Web 端共用
- 新增 easy-tdx strategies 内置策略列表命令(名称/参数默认值/
预设网格/说明;--output json 与 GET /backtest/strategies 同构)
- portfolio 补 --evaluate(组合级一条龙)/ --wf(组合级 WF)/
--auto-fees,输出与 WebUI /portfolio 页同构
- 测试新增 12 例(optimize 互斥/未知策略/未知参数校验、strategies
表格与 JSON、portfolio 新旗标、optimize_all_strategies 排名序/
skipped/JSON 原生类型);pytest 1611 通过、ruff/mypy 全绿
- 文档同步:README、docs/backtest_usage.md CLI 章节+目录、
CHANGELOG 未发布小节、examples/20_cli/cli_examples.sh 补
回测系列 §39-48(输出样例均为真实行情实测)
2026-09-04 12:17:36 +08:00
GitHub
0ab5101188
docs: 回测上手手册全面更新至 v1.30.3 — 54 策略/50 指标/25 项绩效对齐实况,新增 AI 解读章、附加分析(WF+一条龙)指引与信号雷达,FAQ 补 editable guard 与 ZIG 移除
2026-09-03 13:19:32 +08:00
Justin Gu
62e80d892e
release: v1.30.2 — 无未来函数指标扩容16个(注册指标50个)+ 内置策略补齐54个:WebUI回测全覆盖,新增前缀一致性无未来函数回归测试
2026-09-03 03:07:57 +08:00
Justin Gu
1433f4eed0
release: v1.30.1 — 移除 ZIG 未来函数指标与 zig_breakout 策略:回测数字可信优先
2026-09-03 02:02:19 +08:00
GitHub
393b0b1386
docs: 新增项目七层架构图(HTML+Canvas 交互版 + 高清 PNG)并展示于 README
2026-09-02 22:59:30 +08:00
GitHub
534ab0e0c8
Merge branch 'main' of https://github.com/handsomejustin/easy_tdx
2026-09-02 13:16:41 +08:00
Justin Gu
4dde339f26
fix(mac): 异动 0x1237 补齐 0x15/0x16/0x1D/0x1E 解析并修正 0x13 试盘方向(#62)
...
- 0x16 盘中强势/弱势:09:25 样本 v2 与开盘涨幅 49/49 精确一致,v1 为带符号 ±1~3 级强弱等级
- 0x15 竞价/尾盘异动:09:25 与 15:00 双时刻触发,desc 按时刻区分竞价/尾盘前缀
- 0x1D/0x1E 急速拉升/急速下跌:阈值下限 ±0.6%
- 0x13 竞价试盘:v1=0x00 试买/0x01 试卖(552 条对照昨收 549 条一致),旧实现试卖方向描述错误
- 新增顶层常量 UNUSUAL_TYPE_NAMES(19 种类型码→名称)
- 协议探索结论与完整证据链文档化 docs/protocol-unknown-fields.md §3.4
- 测试 test_unusual.py 21 例(全部真实抓包字节 fixture)
2026-09-02 10:44:09 +08:00
GitHub
1ad88371da
docs: 升级计划 P4 收尾进度更新——三项遗留(E2E/WebSocket/引擎向量化)全部落地
2026-09-01 23:47:52 +08:00
GitHub
e58de789ab
feat(ws): /ws/realtime 接通 RealtimeDataFeed — 按需轮询 hub + fan-out + 冒烟脚本
...
- web/realtime_hub.py:RealtimeStreamHub——订阅集合变化按需启停 RealtimeDataFeed,
无人订阅完全停止轮询(对齐 QuoteStreamer 节能);EventBus → 每连接队列
fan-out(丢最旧保最新);去重标的上限 80;lifespan 挂载/关闭
- routers/realtime.py 重写:连接即订阅、断开退订、subscribe/unsubscribe 控制帧、
30s ping 心跳;单一写者泵模型(全部出站帧经队列串行,防并发 send 交错)
- 修复 RealtimeDataFeed stop-before-start 竞态(_stop_requested 标志),
补 2 个回归用例;hub 单测 10 例(并发订阅/退订竞态、跨标的串扰、背压、
TestClient 端到端)
- 前端接入选文档方案(api_reference.md 协议+重连/心跳骨架;README 撤「未联动」):
SSE 已覆盖看板/自选实时刷新,WS 定位按需单标的 tick,双通道冗余无必要
- scripts/ws_smoke.py:手动冒烟(mock 模式实测 tick 帧与动态订阅确认可见)
2026-09-01 23:21:42 +08:00
GitHub
917295edaf
release: v1.27.0 — 通达信公式解析器三通道 + 轮动组合引擎 + 回测页WF/评估开关 + Docker 部署
...
升级计划 P3 + P4(部分)。全量 1252 单测、ruff/mypy strict、前端 vue-tsc+vite build 全绿。
- 通达信公式解析器(formula.py):自建 tokenizer + 递归下降 AST + 30+ 函数白名单求值
(不走 Python eval);命名布尔输出=信号列、数值输出=排名列;除零→NaN、预热期不出信号
- 公式三通道:CLI easy-tdx formula compute|screen|backtest;REST /formula/validate|compute|
backtest|screen(run/async);Python API run_formula_backtest(买/卖列自动挑选)
- 轮动组合引擎(rotation.py):排名定期换仓(打分只用截至当日数据)、槽位等额、
跌出排名自动补位、日/周/月刷新、槽内止盈止损;momentum_score/formula_score 打分;
REST /backtest/rotation/run/async
- 回测页附加分析开关(Web UI):勾选后随回测并行跑 WF(逐窗红涨绿跌柱状图+汇总卡,
窗口数 2~12)与一条龙评估(评分分项条/高适配徽标/买入持有对比/8 项适配检查);
新增 WalkForwardPanel/EvaluatePanel 组件与 store runWalkforward/runEvaluate;
WF 端点 ?n_windows= 透传;修复报告 numpy 标量 REST 400(源头清洗)
- Docker 部署(Dockerfile + docker-compose.yml,/data 卷 + 健康检查)与
scripts/verify_ci.sh 一键门禁
- 升级计划文档 docs/upgrade-plan-2026H2.md(四阶段全部完成 + 诚实实测数据)
- 未做(独立排期):Playwright E2E、WebSocket 实时联动、引擎逐 bar 向量化
2026-09-01 22:17:57 +08:00
GitHub
6412880dbe
release: v1.23.3 — serve --no-ui 纯 API 模式 + 概念冷榜修复 + 文档截图
2026-09-01 18:37:00 +08:00
GitHub
9d206c121b
docs: README 三通道介绍下方新增 CLI 输出示例截图(cli-page-1)
2026-09-01 18:28:08 +08:00
GitHub
62ae92e7f0
docs: README 数据评级系统段落下方新增评级徽章截图(web-ui-page-5)
2026-09-01 18:25:04 +08:00
GitHub
8b20bbe17e
docs: README 简介区行情终端段落下方新增看板截图(web-ui-page-4)
2026-09-01 18:22:04 +08:00
GitHub
1b7d8a5fff
docs(client): 资金流口径标注——0x0fb5 逐笔为聚合记录、按成交额分档,与东财主力净额不可比(issue #55)
2026-08-28 20:14:41 +08:00
GitHub
574ffdd2a4
fix(client): 历史资金流当日行全零 + 主力净额列缺失(issue #52)
...
三个根因(全部实测核实):
1. Category 22 直连接口为虚构协议——52 台已知服务器中 46 台可达的
全部仅回 2 字节空包,从未成功过;移除死代码与臆造解析格式。
2. 历史逐笔接口当日数据要收盘清算后才有,日 K 盘中已含当日 bar,
故 start=0 的最新一行恒为全 0——当日 bar 改走当日实时逐笔接口。
3. main_net_inflow 此前仅为 dataclass property,asdict 静默丢弃,
返回 DataFrame 无主力净额列——新增 _fund_flow_df_with_net 物化
(history 紧随 date 列、当日快照放首列)。
sync + async 双客户端同步修改;更新示例与三份文档;重写/新增回归
测试(当日实时逐笔路径、主力净额列断言)。
2026-08-26 15:00:53 +08:00
GitHub
00b8c6374a
fix(backtest): v1.20.1 修复回测引擎 3 个 bug(issues #22 #23 #25)
...
排查发现用户反馈的"回测统计数据缺失/异常"并非服务器连接问题,
而是回测引擎与组合优化器自身的代码缺陷:
#23 : 首根 bar 访问 close[-1] 崩溃
_SeriesAccessor 负向越界改返回 NaN(不抛 IndexError);
BacktestEngine 新增 warmup_bars 参数跳过指标预热期。
#25-A: FactorWeightedOptimizer 权重坍缩
n_stocks=2 且得分接近时,减最小值把低分标的权重压到 ~6e-8,
等于单股满仓、n_stocks 被无视,进而出现持仓1只/-99.98%回撤。
新增 _apply_weight_floor 权重下限保证入选标的都有实质权重。
#25-B: RebalanceEngine total_trades 统计错误
total_trades = len(equity_curve)(天数)改为 len(trades_df)(真实笔数)。
#22 : 绩效别名键 + 数据异常诊断
performance dict 新增 sharpe_ratio/start_cash/end_value 别名键;
资金曲线异常时返回 diagnostic_warning 而非静默全 0,CLI 显示提示。
文档:README 加入回测手册导航;backtest_usage.md 补充 warmup 说明。
测试:新增 6 个回归测试,更新 3 个;932 passed。
2026-07-09 20:16:12 +08:00
Justin Gu
0b4ed9af62
feat(packaging): v1.19.1 支持 Windows 单 EXE 打包 + 系统托盘 + 自动发版
...
面向零基础老年用户,easy-tdx 可打包成单一 Windows EXE,双击即用。
新增:
- 后端同源托管前端 dist(app.py 三级探测:env → _MEIPASS → web-ui/dist)
- easy-tdx serve 默认 --open-browser,启动后自动开浏览器
- PyInstaller 打包入口(__main__.py)+ spec 配置(easy_tdx.spec)
- 系统托盘(tray.py):右下角图标,右键"打开浏览器/退出"
解决老人不会用任务管理器关闭的问题
- GitHub Actions release.yml:打 v* tag 自动构建并发布 EXE 到 Releases
- docs/packaging.md 打包使用文档
修复:
- K 线残缺尾记录导致 500(security_bars.py):通达信服务器偶发
ret_count 与 body 长度不匹配,改为 try/except 优雅降级丢弃残缺尾,
返回已解析的完整记录。GetIndexBarsCmd 同改。加 4 个回归测试。
- PyInstaller frozen 模式三个坑:
1. console=False 下 stdout/stderr 为 None → 重定向到日志文件
2. multiprocessing spawn 子进程重新 import __main__ → freeze_support + 子进程检测
3. 系统托盘需主线程消息泵 → uvicorn 挪到后台线程
文档:
- README/手册改为三档分流:EXE(零基础)/ Python(一条命令)/ 源码(打包)
- 删除 npm run dev / 5173 / 两个终端的过时说明
- 手册补虚拟环境配置 + EXE 打包附录 + EXE 排错 FAQ
2026-07-07 01:48:07 +08:00
Justin Gu
5c520c513d
docs: 上手手册更新到 v1.18.0(策略组合保存+一键看今日信号+Tab 分类)
...
新增「第十章补充」完整章节,详细写:
- 如何保存策略组合(💾 保存为组合按钮 + 弹窗)
- 如何载入组合(↻ 重跑到今天,自动用今天重跑)
- 持仓三态徽章含义(持有/持有·浮亏/空仓·等买点)
- 三处警示(过拟合/模型仓位水印/载入确认)
- 完整日常使用流程(每天收盘后重跑看信号变化)
- 组合的局限(模型仓位≠真实账户、资金均分、过拟合风险)
补充更新:
- 第四章 4.4 加投资大师名言轮播说明(100 条/3 秒轮播)
- 第六章 6.2 加策略库 Tab 分类说明(单标的/组合)
- 封面 + footer 版本号 v1.17.14 → v1.18.0
- 目录加第十章补充链接
保持原作者口语化新手教学风格,沿用原文半角标点惯例。
2026-07-05 03:06:40 +08:00
Justin Gu
2f3826d84d
docs(README): 添加头部宣传图
2026-07-04 23:14:39 +08:00
Justin Gu
1838995c51
docs(README): 添加 Web UI 回测可视化截图展示
2026-07-04 11:37:01 +08:00
GitHub
155328df8b
release: v1.16.2 — 三轮审计质量加固(B6.9→A7.9)
...
经三轮代码审计后的综合质量加固版本,覆盖协议核心层、数据正确性、
错误处理、测试真实度与可维护性。761 单测全绿(+58),ruff/mypy 全过。
主要修复:
- 离线 .day 写入原子化(fsync + _repair_tail + 读取校验,CQS 守住)
- 回测止损前视偏差(延迟下一根开盘 + 跳空保护)
- VWAP 权重索引 / bar_time fail-fast / 绩效除零保护
- 闭包绑定 / 路径穿越 / naive datetime 跨时区 / ruff UP038
重构:
- 抽 AsyncHeartbeatMixin 收敛 4 处心跳副本(12→1)
- 统一 _RETRY_DELAYS 退避序列 / scanner 失败可观测性
新增 5 个测试文件 + 公共 API 类型契约,CI 加 Windows 矩阵 +
trusted publishing 签名 + 锁文件。
详见 CHANGELOG.md
2026-07-02 03:37:37 +08:00
GitHub
615994ad72
feat(kline): 分钟级K线时间戳可选bar_time对齐Tushare (Discussion #7 )
...
通达信协议用bar开始时间打时间戳(5min线上午最后一根标11:25、下午第一根标13:00;午休11:30-13:00无bar),而Tushare/同花顺/聚宽用bar结束时间(标11:30/13:05)。新增bar_time参数让用户一键切换,避免自行+5分钟偏移。
- 全部3条K线路径覆盖:A股get_security_bars/get_index_bars、扩展行情get_instrument_bars、MAC get_stock_kline(含同步+异步、get_stock_kline_with_indicators)
- CLI kline新增--bar-time {start,end}选项;Web /bars、/bars/index新增bar_time查询参数
- bar_time=start(默认)保持完全向后兼容;bar_time=end仅对分钟级周期(1/5/15/30/60min)生效,自动按周期时长右移并处理跨小时/跨日边界
- 协议解码层零改动,偏移作为纯展示语义在client层后处理,单一工具函数_apply_bar_time_align_df/_apply_bar_time_align_bars复用于全部路径
- 新增27个单元测试(test_codec_datetime.py偏移逻辑 + test_kline_bar_time.py三路径覆盖),全量700单测通过
- bump 版本号至 1.16.0
2026-06-30 15:02:27 +08:00
GitHub and Claude
a6ed0eac16
docs: add quantitative guide, update README + CHANGELOG, bump v1.11.1
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-12 22:12:19 +08:00
GitHub
6b6b7c66a0
docs: add v1.13.0 portfolio management implementation plan
2026-06-12 20:17:43 +08:00
GitHub
799a4da428
docs: add v1.12.0 factor analysis implementation plan
2026-06-12 20:05:24 +08:00
GitHub
7d6607b0cf
docs: add v1.11.0 factor engine implementation plan (13 tasks, TDD)
2026-06-12 19:35:16 +08:00
GitHub
64f8a5e8b6
docs: add quantitative factor engine + portfolio management design spec
2026-06-12 19:27:02 +08:00
GitHub and Claude Opus 4.8
b44636207b
release: v1.8.1 - single-source version, batch backtest detail output
...
- Consolidate version to pyproject.toml as single source of truth
- __init__.py, cli/__init__.py, docs/conf.py all read dynamically
- run_all_strategies.py now shows best strategy full trade details
- Update README changelog for 1.8.1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-09 22:12:27 +08:00
GitHub and Claude Opus 4.8
b5b5d0dc5b
release: v1.8.0 - backtest engine with batch strategy comparison
...
- Add backtest section to README with CLI usage and run_all_strategies.py demo
- Update all version numbers to 1.8.0 (pyproject.toml, __init__.py, cli/__init__.py, docs/conf.py)
- Fix turtle_breakout strategy: TAQ returns 3 values (UP, MID, DOWN)
- Add run_all_strategies.py batch comparison script
- Update README intro to highlight backtest feature
- Add backtest to CLI command table and architecture tree
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-09 20:35:38 +08:00
GitHub and Claude Opus 4.8
00b7d75caa
docs: add backtest engine usage manual
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-09 18:37:58 +08:00
GitHub and Claude Opus 4.8
04c2be1d7f
fix(backtest): resolve mypy and ruff lint issues
...
- dsl.py: use NDArray type annotations, fix None narrowing
- cli.py: add type annotations, fix import sorting
- strategy.py: fix UP038 isinstance, add noqa for I() method name
- tests: fix E712 bool comparison assertions
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-09 18:21:25 +08:00
GitHub and Claude Opus 4.8
5f14c44791
docs: add backtest engine implementation plan
...
10 tasks, TDD approach, covering:
- Core data types (Signal/Trade/Position/BacktestResult)
- Strategy base class with DataProxy and crossover
- OrderSimulator (5 execution modes + reject policy)
- PortfolioTracker (equity curve + drawdown)
- PerformanceAnalyzer (18 metrics)
- BacktestEngine (vectorized execution pipeline)
- DSL skeleton (P1)
- CLI integration with auto data fetch
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-09 16:25:11 +08:00
GitHub and Claude Opus 4.8
28925063d4
docs: finalize backtest spec with minor clarifications (rev 2.1)
...
- DSL identifier rules: letters/digits/underscores
- reduce mode: min(requested, max_affordable) formula
- Chanlun time alignment: nearest K-line <= timestamp
- GridResult/run_many return types documented
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-09 16:17:02 +08:00
GitHub and Claude Opus 4.8
480e635dcb
docs: revise backtest spec per feasibility review (rev 2)
...
- DSL requires explicit column references (close/open/high/low)
- Add order_reject_policy: reduce | skip
- Add future_leak_warning for this_close execution
- Add benchmark datetime alignment rules
- Support pre-computed indicator columns via StrategyDataProxy
- Add chanlun_result injection (P0 interface, v2 auto-integration)
- Adjust priorities: DSL→P1, run_many/run_grid→P1, chanlun→P1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-09 16:14:05 +08:00
GitHub and Claude Opus 4.8
8d68e9c094
docs: add backtest engine design spec
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-09 16:05:17 +08:00
Justin Gu
9d906c340c
docs: add Sphinx + Read the Docs infrastructure
...
- Add .readthedocs.yaml build config (Ubuntu 22.04, Python 3.11)
- Add docs/conf.py with myst-parser for Markdown support
- Add docs/index.md toctree including README and existing docs
- Add docs/readme.md to include root README via myst directive
- Add docs/requirements.txt for Sphinx build dependencies
- Add docs/_build/ to .gitignore
2026-06-08 03:36:40 +08:00
GitHub and Claude Opus 4.7
4c5817f7b0
feat: add BIAS_SIGNAL indicator (30-day bias with signal lines)
...
Add BIAS_SIGNAL indicator derived from TongDaXin's 30-day bias formula.
Outputs BS_X (raw bias), BS_SMA (short signal line), BS_LMA (long signal
line) for trend direction and reversal detection via asymmetric bull/bear
logic.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-28 22:31:17 +08:00
GitHub and Claude Opus 4.7
6b06f9eb40
feat: add ZHUOYAO indicator (multi-period momentum resonance), bump to 1.4.1
...
Add 捉妖大师 (ZHUOYAO) indicator to the indicator registry. Outputs
ZY_LONG/ZY_MID/ZY_SHORT/ZY_TREND four lines based on 20/60/120-day
ROC with EMA smoothing for trend resonance detection.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-28 17:49:30 +08:00
GitHub and Claude Opus 4.7
50491f9aae
feat!: rename project from xmtdx to easy-tdx
...
- Package directory: src/xmtdx/ -> src/easy_tdx/
- Import path: from easy_tdx import ...
- pip install easy-tdx
- Add LICENSE (MIT) with upstream attribution (pytdx, xmtdx)
- Add NOTICE with detailed attribution
- Update all examples, tests, scripts, docs
- Bump version to 1.0.0
BREAKING CHANGE: import path changed from `xmtdx` to `easy_tdx`
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-21 23:21:21 +08:00