This website requires JavaScript.
Explore
Help
Register
Sign In
sanguo
/
sanguo_vnpy_v2
Watch
2
Star
0
Fork
0
You've already forked sanguo_vnpy_v2
Code
Issues
3
Pull Requests
Actions
Packages
Projects
Releases
Wiki
Activity
Files
1d754426cde1272fd6fbda84c4f48d29ad1cca1d
sanguo_vnpy_v2
/
tests
T
History
claude_dev
be315a0fd8
CI/CD / test (push)
Successful in 8s
Details
CI/CD / nas-deploy (push)
Successful in 27s
Details
CI/CD / nas-verify (push)
Successful in 8s
Details
fix(live): P0 order_target_value执行层跨实例互卖根治——2026-08-20 14:06实锤#22探针otv(513030,0)(own仅100股)按引擎全账户target把#18的43,500股(~8.3万)一起卖了,当晚15:10恒等式如实报警(unattributed -83,346/-19.09%>0.5%);所有真实策略卖出全是同款写法(aw:191/409·mom:472·sc:392·vs:383),不修则9:30轮换同代码票必互卖——修法=facade层实例相对化(_instance_order_wrappers):有账本时otv换算 目标-持有 增量下显式股数单(买入差额/卖出硬顶own closeable,清仓允许零股尾巴,减仓整手化,可卖0一单不下·绝不卖别家),负order_value同款硬顶,正order_value买入不动;价格取get_current_data实时价,拿不到回退账本加权成本,双失效才透传引擎旧语义;无账本(回测/单测)原样透传行为零改动;+10测试(只卖自己恰好-100/P0原样复现own空再清仓零下单/T+1当日买closeable=0拒/半仓锁定只卖可卖600/加仓差额2400/减仓整手5000/负ov硬顶1000/正ov透传/无账本identity/价格回退avg_cost);portfolio 410绿 [vps]
2026-08-20 20:05:33 +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
fix(backtest): 结果页指标全显"—" + 任务重启后404
2026-07-11 22:10:48 +08:00
portfolio
fix(live): P0 order_target_value执行层跨实例互卖根治——2026-08-20 14:06实锤#22探针otv(513030,0)(own仅100股)按引擎全账户target把#18的43,500股(~8.3万)一起卖了,当晚15:10恒等式如实报警(unattributed -83,346/-19.09%>0.5%);所有真实策略卖出全是同款写法(aw:191/409·mom:472·sc:392·vs:383),不修则9:30轮换同代码票必互卖——修法=facade层实例相对化(_instance_order_wrappers):有账本时otv换算 目标-持有 增量下显式股数单(买入差额/卖出硬顶own closeable,清仓允许零股尾巴,减仓整手化,可卖0一单不下·绝不卖别家),负order_value同款硬顶,正order_value买入不动;价格取get_current_data实时价,拿不到回退账本加权成本,双失效才透传引擎旧语义;无账本(回测/单测)原样透传行为零改动;+10测试(只卖自己恰好-100/P0原样复现own空再清仓零下单/T+1当日买closeable=0拒/半仓锁定只卖可卖600/加仓差额2400/减仓整手5000/负ov硬顶1000/正ov透传/无账本identity/价格回退avg_cost);portfolio 410绿 [vps]
2026-08-20 20:05:33 +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
spike(s2): run_optimization PASS(vnpy_ctastrategy 1.4.1 + spawn pool + max_workers)
2026-07-06 07:45:47 +08:00
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
chore: 添加 .gitkeep 保持目录结构
2026-07-01 21:21:57 +08:00
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
fix: 修复登录500错误和移除明文密码提示
2026-07-02 12:23:55 +08:00