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
f438c6cd652929abde76494ac558480030893cb3
sanguo_vnpy_v2
/
tests
/
api
T
History
claude_dev
f0e9860316
feat(api): 因子批量评估四端点(runs/leaderboard/detail/submit)+orchestrator任务接线——leaderboard服务端扁平化排序,worker落factor_eval.db+任务中心摘要 [vps]
2026-08-25 00:31:12 +08:00
..
__init__.py
…
test_account_monitor.py
feat(live): B1全局账户监视器+qmt_account_snapshot快照表——预算制地基(多策略共享账户spec§B1)——①supervisor内daemon线程AccountMonitor:专属probe连接(session id=880811 int,远离bullet_trade的time*1000量级)60s查QMT资金+持仓,upsert单行全局快照(account主键,不挂实例,positions JSON)②账户来源三并集=sticky快照行(实例删光仍记得账号+mini_path,重建期校验不断供)<live_accounts行<config watch_accounts/env③断连自愈:asset None→关旧连接下轮重建,失败日志节流(首败WARN+每30败心跳)④零实盘实例也运行;xtquant缺失(NAS/Mac)warning后空转不炸supervisor⑤get_fresh_account_snapshot(10min过期→None)供B3预算校验fail-closed;+12测试(假xtquant注入,union/断连重建/sticky路径/过期判定);策略session在途A1修改(strategies/*+test_instance_view_isolation)不属本commit [vps]
2026-08-19 22:15:40 +08:00
test_auth.py
feat(api): P1.4 web token 60min静默刷新—后端POST /auth/refresh(有效旧token换新,过期401不放行续命)+login/refresh返expires_in+get_token_exp;前端请求拦截器剩余<10min单飞预刷新(裸axios避递归/mock短路,失败静默降级走401兜底);治长回测轮询401跳登录;3新测试 [vps]
2026-08-14 23:09:34 +08:00
test_backtest_routes.py
…
test_code_versions.py
feat(strategy): 代码版本快照(§12.6补,方案B发起时快照·QuantConnect轻量版)——用户拍板:解决「实例参数有快照但代码没有,历史运行无法回溯当时跑的哪版代码」——①sanguo_api/code_versions.py:发起时全文落盘data/strategy_code_versions/{file}.{hash8}.py(md5内容寻址天然去重,原子替换防并发坏);发起四入口(paper/live/CTA/组合回测)全快照,账户加code_hash列(ALTER迁移),回测经spec→run_meta.code_hash落档案②查看:GET /strategy/code-versions列表+单版本全文;代码编辑页「版本历史」抽屉(MonacoDiff左右对比当前,主题同款)③「代码已变更」角标:策略库档案行(enriched code_changed)+全景每run标v哈希·一致/已变更④双轨对账加「代码版本一致」第五指标(对账FAIL先查这行,两边代码不同价差必然大);路径穿越防护(版本号只认8位hex)+6测试;927绿+build绿;「用当时代码重跑」留P2 [vps]
2026-08-15 23:38:07 +08:00
test_factor_eval_routes.py
feat(api): 因子批量评估四端点(runs/leaderboard/detail/submit)+orchestrator任务接线——leaderboard服务端扁平化排序,worker落factor_eval.db+任务中心摘要 [vps]
2026-08-25 00:31:12 +08:00
test_factor_routes.py
…
test_instance_binding.py
feat(live): B3预算硬限制+GET /live/budget-info——实例预算制闸门(spec§B3)——①_budget_state:剩余=QMT账户现金−Σ同账户其他实盘实例预算(不分运行/停止,停止实例持仓仍占资金);快照缺失/过期(>10min)→fresh=False+remaining=None,fail-closed不猜数②create_live落库前_enforce_budget:超限400报文带现金/已分配/剩余三数;快照不可用400(重建期QMT关闭时创建被正确拒绝)③update_live补initial_capital可编辑+校验(仅预算或账号变更触发,改名不触发;exclude自身旧值防重复计入Σ)④GET /live/budget-info(必须注册在/live/{aid}前,FastAPI路径匹配不按类型分流否则422)→{account_cash,allocated,remaining,fresh,snapshot_at}供前端默认值+占用率条⑤存量不追溯(仅新建/修改走校验);+14预算测试,旧测试fixture补快照播种(test_portfolio_live/test_instance_binding,B3后create新契约);api+data_platform 273绿 [vps]
2026-08-19 22:21:10 +08:00
test_instance_store.py
…
test_live_budget.py
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
test_main.py
…
test_paper_lifecycle.py
…
test_paper_routes.py
feat(shadow-desk): 双轨日终对账报表(影子P3前半,设计§8.2)—reconcile_report四指标(成交笔数全同/每笔价差vwap对比<10bps带符号供滑点重标/收盘持仓逐只数量/净值月偏差<0.5%)+find_dual_track_pairs自动配对(shadow策略名↔live strategy_class,live#5↔shadow#39实证)+dual_track_reconcile落库upsert;API GET /paper/reconcile(+单配对refresh);CLI python -m;supervisor auto轮询挂15:10后每日一次兜底;14新测试(符号口径SH/XSHG归一/影子拒单不计/部分成交如实报笔数异) [vps]
2026-08-14 23:18:07 +08:00
test_portfolio_live.py
test(api): 修channel_test随启随验过时断言——实盘=单probe_all定时(启动+90s随墙钟),四时点改由无env直测钉死 [nas]
2026-08-24 13:49:21 +08:00
test_routes_strategy.py
fix(editor): 语法检查按钮接真——原为原型期假实现(sleep 600ms恒报通过,用户删中括号仍提示成功);后端POST /strategy/file/{name}/check(compile()不落盘,SyntaxError返行号+消息,与保存的py_compile门禁同源);前端调真接口,错误显示「第N行:消息」红tag+toast,编辑即清;3新后端测试(删括号必报错) [vps]
2026-08-15 21:08:36 +08:00
test_routes.py
…
test_strategy_registry.py
…
test_submit_cta_fees.py
…
test_task_list_management.py
…
test_task_status_db_fallback.py
…
test_validation.py
fix(vps验收五问题之四): ①#84个股回测/回放提交秒败——L2校验end>latest且end<=today(周末/节假日/当日未灌)不再400,引擎区间过滤自然截到latest;新增start>latest仍400(必空跑);VPS实况=结束默认今天周日>最新周五,首提即败 ②#85组合任务标的列永远000300.XSHG——worker symbol=benchmark改pool(spec透传,benchmark已在params);内存任务两处symbol回退symbol→pool→benchmark ③#42影子拉起即崩——live_strategy工厂表补4个TET副本映射(all_weather_ex等,01184c2改名后回测认得但影子/实盘runner不认,VPS shadow#42实录) ④#88影子快照刷垃圾行——_snapshot_loop每30s无条件写date=''行(40号半天97行),改_should_write_balance同日一行+空行情不写(+3测试) ⑤可观测性——supervisor子进程stdout/stderr落logs/shadow_{aid}.log(>5MB重置)+主管自身日志落logs/shadow_supervisor.log(原schtask控制台=黑洞,41/42崩因至今零线索);933绿 [vps]
2026-08-16 18:28:18 +08:00
test_ws.py
…