claude_dev
|
b86af798aa
|
test(strategy): A3预检——B2定寸虚拟化×A1通道三明治集成测试5条(issue#29) [vps]
CI/CD / test (push) Successful in 23s
CI/CD / nas-deploy (push) Successful in 32s
CI/CD / nas-verify (push) Successful in 18s
复刻 live_strategy._setup 实盘接线(A1 broker通道注入+B2 wrap_scheduler代理
context 同开=VPS重建后将运行的真实状态),真实 LiveInstanceLedger+真策略驱动:
①available_cash 过代理=账本现金(99.3万预算口径,非全账户396万)
②channel_test 等权买入 per=(账本现金+Σ自己市值)/N≈50万/只(hold_n=2),
精确断言 spec §A3 验收口径(非168万=995万/6量级)
③三明治下轮换只卖台账标的(别家600036不动)
④止损链路三层通:账本avg_cost+真账户现价透传(6.0<7.0*0.92触发,只卖自己)
⑤无账本 make_proxy_context 原样返回(模拟盘零改动铁律)
19/19绿;portfolio 367绿(3失败=Mac缺bullet_trade环境性,NAS CI过)
|
2026-08-19 22:42:30 +08:00 |
|
claude_dev
|
5a91be2efd
|
fix(strategy): A1 卖出只卖自己——共享QMT账户互卖根治,持仓读取优先实例账本视图(spec §A1)
CI/CD / test (push) Failing after 7s
CI/CD / nas-deploy (push) Has been skipped
CI/CD / nas-verify (push) Has been skipped
2026-08-19 盘后实锤:8路实盘共享miniQMT账户66639661,context.portfolio是
全账户视图→'卖掉所有不在目标里的持仓'卖掉别家持仓(518880/600036双实例
各卖当日真实发生)。spec: docs/design/multi-strategy-instance-budget-spec.md
- _get_positions(context, broker=None)(all_weather共享helper+all_weather_ex
同构副本):broker.get_instance_positions存在(runner_live注入台账,dae56e2)
→只返回本实例持仓(_InstancePosition:数量/成本取台账,price/value从共享
视图同名标的补=市场数据非所有权);否则回测/影子原context.portfolio不变,
模拟盘零改动;通道返非dict→TypeError fail-fast(回退=互卖,宁可崩)
- 视图空dict→轮换退化'只买不卖'(spec:正确行为不是bug)
- 逐个卖出腿过一遍(spec清单):channel_test rotate/partial_adjust/swap_one/
t1_probe、momentum/_ex熊市清仓+调仓+买入去重、small_cap/_ex _rebalance、
value_selection/_ex月度卖出、all_weather/_ex prepare/stop_loss/monthly
- 附带修:channel_test加仓腿市值未知时跳过,绝不order_target_value(code,0)
把加仓变清仓
- 测试:test_instance_view_isolation.py 14条(helper5+channel_test5+momentum
熊市2+small_cap1+all_weather止损1),含'实例视图空→零卖出'×3策略;
strategy 126全绿;A2属性清单已发issue#29给前后端(B2虚拟化输入)
- 注:工作树另有前后端session未提交WIP(routes_live.py B3预算),不混入本commit
[vps]
|
2026-08-19 22:22:42 +08:00 |
|