GitHub
|
8a5ed52a1f
|
release: v1.28.1 — WebUI 名词解释折叠帮助 + AI 解读 Prompt 导出 + WF 窗口序列化修复(to_json_native 有限 float 落入 str 兜底,逐窗指标变字符串)
|
2026-09-02 15:49:41 +08:00 |
|
Justin Gu
|
0a00ca3f70
|
release: v1.28.0 — 深度风险报告+移动止损+黄金测试(借鉴 akquant):25 项绩效 / α·β·IR·TE 基准对比 / trail_stop OCO
|
2026-09-02 11:53:53 +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
|
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
|
697fad71e1
|
docs: README 介绍补充 v1.24~v1.27 能力,CHANGELOG 补录 1.27.0 修复与文档
- README:介绍部分新增「防过拟合验证链」「通达信公式 + 轮动组合」「本地 K 线数据仓库」
三段;回测可视化段补充附加分析开关;CLI 参考新增 --wf/--evaluate 示例与
formula / warehouse 两个命令组小节
- CHANGELOG:1.27.0 条目补录「修复」(CI UP038 版本漂移、任务状态跃迁锁内
落盘竞态)与「文档」两节
|
2026-09-01 23:01:42 +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
|
a79861af76
|
release: v1.23.1 — 行情终端 WebUI 重大升级
|
2026-09-01 17:45:12 +08:00 |
|
GitHub
|
1b7d8a5fff
|
docs(client): 资金流口径标注——0x0fb5 逐笔为聚合记录、按成交额分档,与东财主力净额不可比(issue #55)
|
2026-08-28 20:14:41 +08:00 |
|
GitHub
|
fd53ec4c90
|
fix(mac): 板块列表涨速恒 0——值槽实为排序键列值,暴露 sort_column(issue #53)
抓包+对值锚定确认:0x1231 响应中 price 与 pre_close 之间的 float 是
"当前排序列的值"(板块与领涨股各一份),并非固定涨速;此前硬编码
sort_column=0(涨跌幅,仅排序键、值槽恒 0),故该列永远全 0。
排序列映射(实测):0=涨跌幅(值槽恒0) 1=涨速 2=3日 3=20日 4=60日
5=年初至今 6=5日 7=10日。
- 新增 BoardSortColumn 枚举并公开导出;get_board_list(sync/async)
新增 sort_column 参数,取涨速传 SPEED,默认涨跌幅排序行为不变
- BoardInfo 字段更名 rise_speed→sort_value、symbol_rise_speed→
symbol_sort_value(旧名语义错误且恒 0,属破坏性更名)
- Web /board-mac/list 新增 sort_column 参数;CLI board-list 新增 --sort
- 新增 9 个测试;README 示例更新
|
2026-08-26 15:21:35 +08:00 |
|
Justin Gu
|
afcc100e35
|
feat(realtime): 新增 RealtimeDataFeed 轮询数据源(issue #34)
EventBus 原本是纯发布/订阅管道,库内没有任何代码调用 publish(),导致
RealtimeStrategy 订阅后无数据可收(issue #34 根因)。
新增 RealtimeDataFeed:轮询 get_stock_quotes 快照 → 封装 MarketEvent →
bus.publish,让 RealtimeStrategy 拿来就能跑。
- feed.py: async(run_async) + sync(run_sync, executor 线程避免卡 loop)
支持 interval/dedup(去重)/sessions(交易时段过滤,默认 9:15-11:30/13:00-15:00)
symbol key 自动拼 f"{market}{code}" 匹配 EventBus.publish
- test_realtime_feed.py: 20 个单测覆盖 publish 路径/symbol key 匹配/
去重开关/空 df/客户端异常不崩溃/盘外不拉取/stop 退出
- engine.py + __init__.py docstring: 「API 骨架待实现」→「需配合 feed 使用」
- README: 新增实时行情轮询 Python API 段落(含 issue #34 三个坑说明),
WebSocket 段落标注「当前未联动数据源」现状
- examples/11_realtime/: 可直接运行的异步示例
通达信协议无服务端推送,本模块是约 3 秒延迟的快照轮询近似,非逐笔 tick。
验证:ruff + mypy(strict) + pytest 全量 956 passed(+20 新增),无回归。
|
2026-07-12 16:56:41 +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
|
c9d80617e8
|
revert: 移除拼音声母搜索,回到 6 位代码输入
拼音搜索的底层依赖(首次需爬沪深 A 股 5000 条全名单,几十次 TDX 协议
往返,慢机器几十秒到超时)太重,反复优化(按需加载/遮罩/单飞/预热)
都无法兼顾'不阻塞核心行情请求'与'首次可用'。用户决定放弃此功能,
回到简单稳定的 6 位代码输入。
回退 e2bf29e..2523605 共 6 个 commit 的全部改动:
- 删除 StockSearchInput / AppInitOverlay / useStockSearch
- 移除 pypinyin 依赖、/security/search-index 端点、lifespan 预热
- SymbolPicker / StocksPicker 恢复为纯 6 位代码输入
- README / CHANGELOG 同步回退
代码状态等同 v1.18.1(一键寻优多进程并发)发布后的干净基线
|
2026-07-06 02:50:51 +08:00 |
|
Justin Gu
|
dfbafd5ad4
|
docs(readme): 补充拼音声母搜索的升级提示(v1.19.0 需重装 [web] extra)
- 前置条件代码块注释加 pypinyin
- 新增 ⚠️ 升级注意:旧版本升级必须重跑 pip install -e ".[web]" 否则搜索端点 500
- 单标的回测取行情描述补上拼音声母搜索能力说明
|
2026-07-06 01:49:49 +08:00 |
|
Justin Gu
|
cf843cebad
|
release: v1.17.14 — Web UI 数据评级系统(S/A/B/C/D 五档,三入口覆盖)
纯前端 TypeScript 实现,零后端改动。回测/组合/寻优三处结果顶部
显示评级徽章,让普通人 1 秒判断「适不适合经常参与」。
评级不看收益率(避免被近期大涨误导),只看风险调整后的持有体验:
卡玛/最大回撤/胜率/利润因子/夏普/波动率六维加权 + 一票否决。
京东方「收益 126% 但胜率 35%」案例 = D 档(核心验证点)。
长线低频策略(6年6笔)不会被冤枉:交易<10笔时只降权胜率/利润因子
维度,不否决整个评级(修复用户实测反馈)。
- 新增 web-ui/src/grading/ 核心模块(engine/thresholds/combinedMetrics/index)
- 新增 GradeBadge.vue + GradeDetails.vue 组件
- 接入 BacktestView/PortfolioView/OptimizeView(寻优排名表加评级列)
- 15 个自检测试(node:test + rolldown 打包),覆盖京东方 D / 长线 B 等场景
|
2026-07-05 01:21:18 +08:00 |
|
Justin Gu
|
2f3826d84d
|
docs(README): 添加头部宣传图
|
2026-07-04 23:14:39 +08:00 |
|
Justin Gu
|
2f4d7bef8e
|
docs(README): 添加 DeepWiki 徽章
|
2026-07-04 23:03:33 +08:00 |
|
Justin Gu
|
05dc9a74af
|
release: v1.17.11 — Web UI 策略库(SQLite 持久化)+ 多策略资金分仓组合回测
新增两层能力:
1. 策略库:单标的/组合回测结果可保存到本地 SQLite 单文件
(~/.easy_tdx/strategies.db),策略库页可载入回填、重跑、删除。
2. 多策略组合回测:勾选 N 个单标的策略,各拿 1/N 资金、各跑原标的,
净值曲线按日期并集对齐求和,组合结果含 19 项完整绩效指标 + 持仓表。
后端:strategy_store.py(SQLite CRUD) + multi_strategy_engine.py(资金分仓引擎)
+ routers/strategies.py + /backtest/multi-strategy/run/async。
前端:StrategiesView.vue + 保存策略按钮 + 复用组合页图表组件。
895 单测全绿(+24 新增),ruff/mypy strict/前端 vue-tsc 全通过。
|
2026-07-04 20:40:57 +08:00 |
|
Justin Gu
|
4db7104209
|
docs(README): Web UI 截图改为一行一张
|
2026-07-04 11:39:44 +08:00 |
|
Justin Gu
|
1838995c51
|
docs(README): 添加 Web UI 回测可视化截图展示
|
2026-07-04 11:37:01 +08:00 |
|
Justin Gu
|
f7cb015ec6
|
docs(README): 补充港股 goods_transaction_all + 逐笔倒序语义说明
在 Python API「扩展市场」章节加 goods_transaction_all 示例(港股当日全部逐笔),
并补 start 倒序语义说明(start=0 为最新/收盘方向,count=2000 默认只取最近 2000
笔会集中在尾盘,需全天用 goods_transaction_all)。同步 GitHub Wiki。
|
2026-07-04 03:19:11 +08:00 |
|
Justin Gu
|
49c892b317
|
docs: 扩充 README Web UI 使用说明(前置条件/启动/四页操作步骤/注意事项)
|
2026-07-03 12:04:15 +08:00 |
|
Justin Gu
|
bd419da83d
|
release: v1.17.0 — 回测可视化 Web UI(单标的/组合/寻优/对比)
回测从命令行升级到浏览器可视化。Vue3 + ECharts 单页应用,零代码完成
单标的回测、组合回测、参数网格寻优、结果对比四大场景。
后端新增回测 REST API + 策略注册表 + 后台任务执行器,
内置策略从 5 个扩充到 18 个。823 单测全绿。
README 新增 Web UI 章节,CHANGELOG 记录本次全部变更。
|
2026-07-03 11:55:04 +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 |
|
Justin Gu
|
3945800728
|
feat(cli): company-info 传板块名自动读完整正文(分块循环 + 多服务器重试)
修复体验问题:此前传板块名仍需用户关心 --offset/--length,太笨拙。
现在传板块名即自动按目录 length 分块循环读取整个板块(单次上限 30720 字节,
大板块如「公司大事」77万字节也能一次读全),--offset/--length 仅传文件名时生效。
- _resolve_filename 返回板块 length,_run_content 分块循环读取完整内容
- 修复分块 offset 推进 bug:原按解码字符串 GBK 重编码计字节,遇 U+FFFD 崩溃;
改为按请求字节数推进(服务器按字节偏移工作)
- 修复多服务器目录版本不一致:传板块名未命中时自动重试多个服务器(最多4次)
- bump 版本号至 1.15.3
|
2026-06-27 04:37:44 +08:00 |
|
Justin Gu
|
781ee6c48a
|
feat(cli): company-info 命令合并 + examples/06_finance 文档完善
合并 company-info(列目录)与 company-info-content(读正文)为一个命令,
板块名改为可选位置参数:无参数列目录,有参数读正文。消除两个相似命令名
导致的混淆(用户曾误用 company-info SH 601088 "公司概况" 报错)。
- company-info:name_or_filename 可选,无则列 F10 板块目录,有则读正文
- company-info-content:保留为隐藏别名(hidden=True),向后兼容 v1.15.1
- 提取 _run_category/_run_content 模块级函数复用逻辑
- 新增 examples/06_finance/{README.md,company_cli.sh,company_web_api.py}
覆盖 CLI / Python API / Web API 三种调用方式,含 16 个 F10 板块完整列表
- 更新 company_info.py 板块名为实测的 16 板块
- bump 版本号至 1.15.2
|
2026-06-27 04:22:43 +08:00 |
|
Justin Gu
|
29b6ca33aa
|
feat(cli): 新增 finance-info / company-info / company-info-content 命令
把 TdxClient 上已封装但未暴露给 CLI 的三个 F10/财务方法做成命令,
数据源走通达信原生协议(与 Web 层 /finance /company/* 同源),
覆盖 f10(新浪三表)之外的 F10 全文板块。
- finance-info: 最新财务快照(37 字段单期指标),与 f10 多期三表互补
- company-info: F10 板块目录(最新提示/公司概况/财务分析/... 等 16 板块)
- company-info-content: 读 F10 正文,支持板块名(自动解析)或文件名
--offset 语义随入参而定:板块名=板块内相对偏移,文件名=绝对偏移
- conn.py: 新增 get_tdx_client() 上下文管理器
补 README 命令表与 CHANGELOG。
|
2026-06-27 04:02:09 +08:00 |
|
Justin Gu
|
e5bc1b1a16
|
docs: 将 README 中的 Changelog 迁移至独立的 CHANGELOG.md
- README 历史版本记录(1.0.0 → 1.14.5)全部搬运到 CHANGELOG.md
- README Changelog 章节替换为指向 CHANGELOG.md 的链接
- CHANGELOG.md 现包含完整 41 个版本(1.15.0 → 1.0.0)的变更记录
|
2026-06-25 03:41:54 +08:00 |
|
Justin Gu
|
f36e2d6a6c
|
feat(screen): v1.15.0 — 强势股排名 + 修复证券类型识别与名称分批查询
新增:强势股排名(screen strength)
- 全市场按 5/20/60 日涨幅加权合成强势分,纯离线扫描
- 三种预设:steady(稳健)/breakout(妖股)/balanced(均衡)
- CLI: easy-tdx screen strength --preset steady --top 50 --table
- Web API: GET /api/v1/market/strength
- 支持自定义权重、成交额过滤、并发扫描
修复:
- _detect_security_type 代码段不全,ETF/基金/科创板/逆回购被误判为 A 股
- screen strength/rank 名称补齐超 80 只时末尾被丢弃(分批查询)
详见 CHANGELOG.md
|
2026-06-25 03:33:13 +08:00 |
|
Justin Gu
|
85e0f8a65f
|
feat(chanlun): 分钟级别日期自适应输出时分 YYYY-MM-DD HH:MM
|
2026-06-17 18:17:32 +08:00 |
|
Justin Gu
|
87f11e409c
|
release: v1.14.4 — 修复 cmd_chanlun.py ruff format CI 失败
|
2026-06-16 10:03:48 +08:00 |
|
Justin Gu
|
aa58bd9e88
|
release: v1.14.3 — 缠论 CLI table 模式补日期(中枢/买卖点/背驰)
|
2026-06-16 03:04:12 +08:00 |
|
Justin Gu
|
28aad8a84c
|
release: v1.14.2 — 缠论 JSON 可视化字段增强(中枢/买卖点/背驰补日期)
|
2026-06-16 02:51:52 +08:00 |
|
 GitHubandClaude
|
c54071e85e
|
release: v1.14.1 — 高级回测 ExecutionModel 路径 3 个真实数据兼容 Bug 修复
- datetime 类型分歧(致命):Trade.datetime 转 int 与 PortfolioTracker 的 Timestamp key 失配,TWAP/VWAP/Limit 路径交易全部静默丢失、权益曲线恒定、收益归零
- volume 列名分歧:回测认 volume 而真实行情为 vol,滑点 volume 恒 0 退化百分比模式,VWAP 退化为等权
- date/datetime 列名分歧:日线返回 date 列引擎要 datetime,run() 入口由 date 派生下游无感兼容
新增 3 个回归测试(均红灯验证)。650 单测通过,backtest 模块 ruff + mypy strict 清洁。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-15 20:50:49 +08:00 |
|
Justin Gu
|
b49cfd66f8
|
feat(sina): 新增新浪财报三表 — 三层接入(API/CLI/Web),独立数据源
|
2026-06-15 00:31:13 +08:00 |
|
Justin Gu
|
a5ce783487
|
release: v1.13.1 — cninfo 公告检索 Bug 修复 + PDF 下载
|
2026-06-15 00:05:52 +08:00 |
|
Justin Gu
|
574b284dd5
|
fix(cninfo): URL 404 + type null + 表格截断 + PDF 下载(实测 601088 暴露)
|
2026-06-14 23:58:24 +08:00 |
|
Justin Gu
|
c0605698f3
|
docs(cninfo): 补齐 README 三层接入 demo(Python API + Web 返回结构)
|
2026-06-14 23:35:06 +08:00 |
|
Justin Gu
|
4b439920fc
|
feat(cninfo): 新增巨潮公告检索 — 三层接入(API/CLI/Web),独立数据源
|
2026-06-14 23:29:19 +08:00 |
|
Justin Gu
|
a12c2122fc
|
feat(indicator): 新增 SAR/VWAP/AROON 三指标 + 注册 FK(30 → 34)
|
2026-06-14 18:46:02 +08:00 |
|
Justin Gu
|
37635af8f2
|
release: v1.11.6 — CI mypy/ruff 修复
|
2026-06-13 21:26:13 +08:00 |
|
Justin Gu
|
88638e82ad
|
release: v1.11.5 — scipy 依赖声明 + 文档同步 + 工程化清理
- pyproject: 新增 science 可选依赖组(scipy),dev 纳入 scipy;版本号 1.11.5
- factor/analysis: spearman 分支加 scipy 软依赖保护,缺失时友好报错
- mac/client: 板块排行吞异常处补 logger.debug
- CLAUDE.md: 架构章节补全 mac/ex/unified/portfolio/factor/offline/screen 子包
- .gitignore: 补全 .coverage、signals.json
- README: 补 1.11.5 changelog
|
2026-06-13 21:10:35 +08:00 |
|
 GitHubandClaude
|
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
|
e6ed6efcd4
|
chore: bump version to v1.10.5 + update changelog
|
2026-06-12 17:19:47 +08:00 |
|
 GitHubandClaude
|
d17895e92b
|
feat(web): full Web API parity with CLI — 18 new endpoints (v1.10.2)
- Board analysis: list/members/belong/summary/ranking/change-ranking (6)
- Capital flow, symbol info, server info (3)
- Quote list, auction, unusual (3)
- Extended market: bars/quote/minute/transaction (4)
- Technical indicators: list + compute (2)
- Multi-client DI: AsyncMacClient + AsyncExTdxClient lifecycle
- 6 MAC enum converters, DictResponse, ComputeIndicatorsRequest schemas
- Web API endpoints: 22 → 40
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-12 16:46:48 +08:00 |
|
Justin Gu
|
06ce712d15
|
fix: CI mypy job missing [web] deps + update README intro
|
2026-06-12 03:52:47 +08:00 |
|
Justin Gu
|
d904ae7af6
|
docs(web): update README with serve CLI, docs URL, and install instructions
|
2026-06-12 03:35:26 +08:00 |
|