This website requires JavaScript.
Explore
Help
Register
Sign In
sanguo
/
sanguo_vnpy_v2
Watch
3
Star
0
Fork
0
You've already forked sanguo_vnpy_v2
Code
Issues
2
Pull Requests
Actions
Packages
Projects
Releases
Wiki
Activity
Files
27ed4b14169745dbcaff7f40b618c9320c830ee0
sanguo_vnpy_v2
/
tests
T
History
claude_dev
27ed4b1416
CI/CD / test (push)
Successful in 12s
Details
CI/CD / nas-deploy (push)
Successful in 46s
Details
CI/CD / nas-verify (push)
Successful in 23s
Details
fix(provider): 实盘SanguoMiniQmtProvider补get_limit_status_batch+get_value_metrics——2026-08-21策略session巡检实锤:方法缺失→实盘策略_get_limit_status getattr(...,None)静默返{}→filter_limitup/limitdown/paused全走'无数据保留'分支=实盘涨跌停/停牌过滤完全失效(涨停股照买/停牌股照挂单),回测LocalUnifiedProvider有此方法实盘缺,第5个同款洞。修=①历史日期(<今日,实盘主路径策略传previous_date,昨晚bs-daily已写昨日bar)委托self._unified同回测口径(prev_close×板块幅度+ST5%+volume==0判停牌,None条目语义原样透传);②当日盘中单次批量xtdata.get_full_tick拿lastPrice/lastClose,幅度复用_limit_pct板块感知(主板10/创业科创20/北交30/ST5),线程超时15s(2197fea开盘QMT忙挂死同款教训);③失败一律返'全清白map'(每code {False,False,False})而非{}——filter_paused对map内缺失code是剔除语义,返{}会全剔除(空转事故形态),全清白=只丢过滤不丢选股;tick缺code/价无效不猜停牌(宁错过不误杀)。另+方法面对照加固(策略session建议):diff两provider扫出get_value_metrics(+batch)同款洞(value_selection未入舰队=提前堵,委托unified三表parquet);get_price_ex/get_constituent裸名零消费不堵;+21测试(委托涨停/停牌/无bar/委托失败全清白/今日走tick/创业板20%钉/缺tick全清白非None/挂死超时/value_metrics四态) [vps]
2026-08-22 08:37:56 +08:00
..
api
feat(live): B4前端三层展示+预算表单+账户实况端点(spec§B4)——①新建实盘表单:起始资金升级『实例预算』,默认值=剩余可分配(budget-info,用户改过不跟随),占用率进度条(已分配+本次 vs 现金),超限红条+禁提交,快照不可用警告条(与后端fail-closed双保险)②监控页三层重构:本策略买卖(live_trades归因,今日/全部)/本策略账本+持仓(实例视图,现金/市值/净值语义重命名)/账户实况(新卡:现金/市值/总资产+Σ实例市值+未归因市值=账户市值−Σ实例+实例分解表+QMT全账户持仓表)③列表页:每QMT账号一条占用率横幅,存量超限亮黄条⚠④后端补GET /live/account-snapshot(注册在{aid}前):全局快照+同账号实例最新账本分解+unattributed_mv,快照缺失fresh=False数值None;⑤live.ts补BudgetInfo/AccountSnapshotView类型+updateLive带initial_capital;+3端点测试(分解算术/无快照降级/跨账号过滤);api 164绿;npm run build绿 [vps]
2026-08-19 22:26:41 +08:00
backtest
fix(tests): Mac本地9个既有测试失败根治——test_cta_engine的sys.modules mock注入从import期挪进module-scoped fixture(pytest全量collection先于执行,import期注入污染后收集的metrics/datareader/factor)+venv310按lock补装empyrical-reloaded==0.5.12;影子柜台设计文档头更新(P1已上线/P3前半已实现) [nas]
2026-08-15 00:02:12 +08:00
data
fix(datareader): read_index_daily 切 dbbardata(治 benchmark 读陈旧 vnpy DbBarData)
2026-08-01 08:41:57 +08:00
data_platform
fix(data): bs_eod挂死根治——login/logout纳入_with_timeout保护伞+中文系统运行判定三词修正。①根因(08-20 19:26实锤,日志形态逐字吻合):bs.login()打印success后仍有后续往返,baostock recv不遵守socket default timeout,主线程卡死在login内部recv(50min+零输出,连60s超时err都没有);fetch早已套_with_timeout但login/logout是裸调——relogin/login_once全部纳入(login60s/logout30s),超时按登录失败处理走既有重试链;②bs_fundamentals._is_running_text:中文系统实际输出「正在运行」不含连续子串「运行中」,原两词判定在中文VPS恒False=守卫恒fail-open(当晚若不禁用bs-fund将真撞车);三词都认+回归钉测试;③check_task_running.py通用探针(修复版)替换VPS上带同bug的check_bs_eod.py;+4测试(登录超时返False/relogin全程超时不raise/login与logout必经保护伞契约/正在运行判定) [vps]
2026-08-20 20:04:51 +08:00
factor
test(factor): test_analyzer三个never-ran测试修复——补read_db_daily假bars(analyzer真读库建prices,缺bars触发DBG空守卫短路tears/IC)+factor日期对齐生产aware口径(Asia/Shanghai);此批测试原在任何环境都没跑过(Mac缺依赖skip/容器缺pytest/CI只跑data_platform),Mac补齐lock依赖后暴露;全量900绿 [nas]
2026-08-15 07:08:21 +08:00
orchestrator
…
portfolio
fix(provider): 实盘SanguoMiniQmtProvider补get_limit_status_batch+get_value_metrics——2026-08-21策略session巡检实锤:方法缺失→实盘策略_get_limit_status getattr(...,None)静默返{}→filter_limitup/limitdown/paused全走'无数据保留'分支=实盘涨跌停/停牌过滤完全失效(涨停股照买/停牌股照挂单),回测LocalUnifiedProvider有此方法实盘缺,第5个同款洞。修=①历史日期(<今日,实盘主路径策略传previous_date,昨晚bs-daily已写昨日bar)委托self._unified同回测口径(prev_close×板块幅度+ST5%+volume==0判停牌,None条目语义原样透传);②当日盘中单次批量xtdata.get_full_tick拿lastPrice/lastClose,幅度复用_limit_pct板块感知(主板10/创业科创20/北交30/ST5),线程超时15s(2197fea开盘QMT忙挂死同款教训);③失败一律返'全清白map'(每code {False,False,False})而非{}——filter_paused对map内缺失code是剔除语义,返{}会全剔除(空转事故形态),全清白=只丢过滤不丢选股;tick缺code/价无效不猜停牌(宁错过不误杀)。另+方法面对照加固(策略session建议):diff两provider扫出get_value_metrics(+batch)同款洞(value_selection未入舰队=提前堵,委托unified三表parquet);get_price_ex/get_constituent裸名零消费不堵;+21测试(委托涨停/停牌/无bar/委托失败全清白/今日走tick/创业板20%钉/缺tick全清白非None/挂死超时/value_metrics四态) [vps]
2026-08-22 08:37:56 +08:00
shadow_desk
feat(shadow-desk): P0对账spike(runner加initial_positions通道+final_portfolio产出): BacktestEngine续跑注入初始持仓(引擎原生支持,不消耗现金); 期末现金/持仓/总值从engine.context.portfolio直取; run_backtest_json透传initial_positions+final_portfolio; scripts/shadow_desk/spike_p0全量vs 3段续跑对账(持仓逐只/现金总值/净值曲线<1e-6,自动月初分段或--split压除权边界); 6测试 [vps]
2026-08-14 10:10:51 +08:00
spikes
…
trader
feat(trader): B5对账恒等式优先——15:10日终报表加『全账户=Σ实例账本+未归因』层(spec§B5)——①build_identity_report:每QMT账号一行,快照市值vs Σ实例账本市值(live_balance最新,dae56e2起=实例视图),未归因MV+占比,容差0.5%(价格时点差);逐票未归因=快照持仓−Σ实例持仓(6位码对齐)单列(重建后应≈0,大数=遗留/手动仓)②状态四态:pass/no_instances(重建期无实例=恒等式成立)/snapshot_missing(如实FAIL)/unattributed_over_tol(旧全账户行叠加期呈现大额负未归因)③save/load落库identity_reconcile(account+date主键)④15:10调度(_maybe_daily_reconcile)与CLI恒等式先行,再逐对live↔shadow(配对v2不变);+7测试(容差内过/未归因票单列/负未归因/无快照/无实例/多实例Σ不串账号/落库回读);trader 248绿 [vps]
2026-08-19 22:32:00 +08:00
.gitkeep
…
test_live_api.py
feat: 实盘模拟(live) + 组合回测MVP(portfolio)
2026-07-18 20:04:16 +08:00
test_live_engine.py
feat: 实盘模拟(live) + 组合回测MVP(portfolio)
2026-07-18 20:04:16 +08:00
websocket_test.html
…