Commit Graph

8 Commits

Author SHA1 Message Date
claude_dev 9243f86773 feat(portfolio): LocalUnifiedProvider 辅助方法(Task4) 2026-07-23 08:12:34 +08:00
claude_dev 011c9d4ddb feat(portfolio): LocalUnifiedProvider fundamentals baostock估值+akshare市值(Task3) 2026-07-23 08:11:35 +08:00
claude_dev b46a0c26c8 feat(portfolio): LocalUnifiedProvider 成份股并集治偏差(Task2) 2026-07-23 08:07:37 +08:00
claude_dev 4b4dca2f44 feat(portfolio): LocalUnifiedProvider get_price+前复权(Task1) 2026-07-23 08:06:45 +08:00
claude_dev e12c66acd5 feat(portfolio): LocalUnifiedProvider 代码转换+复权因子(Task0) 2026-07-23 08:05:09 +08:00
claude_dev b270faf4b9 feat(portfolio): 本地数据 provider 层(baostock/local_parquet)
- BaostockProvider: 读 VPS daily_baostock_full(本地,不调online,守 provider-local-data-only 铁律)
- LocalParquetProvider: 读 parquet 兜底,回测117交易日0.4s/月出JSON
- all_weather 策略 + runner_backtest 适配
- 数据源融合使用层(单 Provider 内部路由,见 data-fusion spec §6)
2026-07-22 10:35:23 +08:00
claude_dev f074a6b420 fix(portfolio): provider download加threading超时防御+Layer1链路闭环
xtdata.download_financial_data 阻塞无超时,休市/服务不响应卡死整个回测
(实证:周六休市HS300全成分首次download卡死,已缓存股票0.5s)。
包threading+join(120s)超时跳过读缓存(数据不全但回测不卡死)。
Layer1 MVP链路完整闭环:runner→BulletTrade engine→AllWeather策略→miniQMT→JSON
(7.49%收益/37交易日/选股5只ETF/净值37点/指标total_return+sharpe+max_drawdown全有)。
休市致股票财务空走ETF兜底,策略数值无意义但链路100%通;周一download恢复走真实选股。
2026-07-18 22:31:58 +08:00
claude_dev a68cf4905e feat(portfolio): sanguo_portfolio 组合策略框架(BulletTrade+miniQMT,不用jqdatasdk)
把聚宽"全天候轮动"(post48819)搬到 BulletTrade。融合=pip+扩展点注入
(SanguoMiniQmtProvider 继承 MiniQMTProvider 只 override get_fundamentals,
set_data_provider 公开 API 注入, BulletTrade 源码 0 改动)。

- providers: SanguoMiniQmtProvider 补 get_fundamentals(PershareIndex+自算PE/PS/PB/PCF/市值/ROIC)
- strategies/all_weather: 4选股函数+大小盘轮动+ETF兜底+涨停止损(聚宽风格翻译)
- factors(估值/ROIC自算) + filters(ST/涨跌停/次新/停牌)
- 88/88 测试 Mac+VPS 双过; VPS 回测 pipeline 跑通(修9bug:Capital单位/日期格式/百分数口径/11字段alias)
- 实盘 runner_live+runbook 就绪等交易日; DEFAULT_DATA_PROVIDER=miniqmt env 不装 jqdatasdk
- 文档: sanguo_portfolio_plan / portfolio_backtest_result / portfolio_live_runbook
2026-07-18 19:08:18 +08:00