fix(live): max_pool 全链默认 30→0(0=不限)——08-24巡检定罪MVP限流泄漏生产,选股池=代码序前30只失真 [vps]
根因(策略session 08-24 午休探针实证):runtime/live_strategy.py SANGUO_LIVE_MAX_POOL 默认30经env注入全部实盘+影子+paper实例,_stock_pool截断成份池为「代码序前30只」: small_cap「全市场最小市值」实际在000001平安银行等30只固定代码里选(平安银行≈3800亿 出现在小市值买入=market_cap开盘NaN排序失效叠bug);momentum每行业RPS只在代码序前 30里排;value 0/30+零委托史同源。注释自曝「MVP验证用」=限流遗留泄漏生产,上线 首日起全部选股失真。 改动(9处默认位一致30→0;语义0=不限,与策略层max_pool>0才截断一致): - sanguo_portfolio/live_strategy.py 适配器env默认+docstring - sanguo_live/runner.py _portfolio_env_for(存量DB显式值不篡改,缺列/0→"0") - sanguo_trader/shadow/supervisor.py 影子env默认 - sanguo_portfolio/runner_live.py live_env默认 - sanguo_trader/portfolio_paper.py + sanguo_api/routes_paper.py paper默认 - sanguo_api/routes_live.py create setdefault - frontend live/paper New.vue 表单默认 测试:env mapping三态断言(缺列/0→"0",显式30不篡改)+live_env默认"0" (RED→GREEN);CI范围642绿。存量实例DB仍存显式30,激活需配套DB迁移,必须与数据 session的get_security_info_batch SQL治本(101s→亚秒)同车部署——池放大×慢SQL=更糟。
This commit is contained in:
@@ -118,6 +118,13 @@ def test_portfolio_env_mapping():
|
||||
assert env["SANGUO_LIVE_CASH"] == "2000000"
|
||||
assert env["SANGUO_LIVE_DB"] == "live.db"
|
||||
assert env["SANGUO_LIVE_ACCOUNT_ID"] == "7"
|
||||
# 行缺 max_pool / 存 0 → env "0"(0=不限);显式 30 等存量值不篡改
|
||||
no_pool = {k: v for k, v in acc.items() if k != "max_pool"}
|
||||
assert live_runner._portfolio_env_for(no_pool, "live.db")["SANGUO_LIVE_MAX_POOL"] == "0"
|
||||
zero_pool = dict(acc, max_pool=0)
|
||||
assert live_runner._portfolio_env_for(zero_pool, "live.db")["SANGUO_LIVE_MAX_POOL"] == "0"
|
||||
kept = dict(acc, max_pool=30)
|
||||
assert live_runner._portfolio_env_for(kept, "live.db")["SANGUO_LIVE_MAX_POOL"] == "30"
|
||||
|
||||
|
||||
def test_runner_live_env_defaults(monkeypatch):
|
||||
@@ -129,7 +136,7 @@ def test_runner_live_env_defaults(monkeypatch):
|
||||
monkeypatch.delenv(k, raising=False)
|
||||
cfg = runner_live.live_env()
|
||||
assert cfg["strategy"] == "all_weather"
|
||||
assert cfg["max_pool"] == "30"
|
||||
assert cfg["max_pool"] == "0" # 0=不限(2026-08-24 巡检:MVP 默认 30 泄漏生产致选股池失真)
|
||||
assert cfg["benchmark"] == "000300.XSHG"
|
||||
assert cfg["account"] == "" # 空 → run_live 拒绝启动(防误下单)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user