tradingSystem/scripts
zlt c9b468e7a2 数量按建议档位重算:卡上写试探仓 1%,采纳后就真的只买 1%
一、问题。155 实测 8 张待确认提议,7 张卡上写「建议方案:试探仓(目标 1.0%,
分批 100%)」,而每一张采纳后实际会买 3.00%(标准仓 6% 的第一批),正好三倍。
只有 300118.SZ 那张标准仓的是自洽的。

根因是次序。候选产出时 advise() 的档位是进过数量的(params_for 把 target_pct
塞进 stock_target_default,action_engine 据此拆批)。但研判回来之后 apply_judge
还会再降一档 —— 把握度低或结论不可用就降成试探仓 —— 那一步只改档位文字,数量
已经算完了。apply_judge 的说明原文写着「不改数量, 数量交人」,而页面上采纳按钮
根本没有填数量的地方,这个「交人」无处兑现;采纳时后端直接抄提议里的股数原样
落单(web/main.py 只有卖出侧会按可卖量重算)。

二、改法。新增 advice_service.resize_to_advice,在 apply_judge 降档之后重算这一批
的股数,并把 target_pct / target_amount / base_amount / batch_scheme 一起改掉 ——
否则卡上那三个数字仍然是旧口径。总规模不另外读参数表,直接从硬数字里的
target_amount ÷ target_pct 反推,保证与当初算数量用的是同一个规模。

买不足一手时抬到一手:300604.SZ 现价 264.81,1% 只有 75 股,抬到 100 股实际
占 1.32%,仍远小于机械档 6%。但一手金额不许超过机械档 —— 超过说明这只票对当前
规模本来就太贵,那就不改数量、把原因留在卡上,不默默按旧数量下单。

三、一并补上持仓的目标仓位。pms_position.target_pct 这一列全库从来没有任何一处
写过,而动作引擎算补仓与加仓金额时先读它、读不到退全局 6%。不补的话会得到一个
更难看的组合:第一笔只买 1%,随后系统自己按 6% 一路补,试探仓的意思当场作废。
现在在建仓成交入账时记一次,且只记第一次(目标仓位是建这只仓时定的意思,
后续加仓不该改)。记不上绝不拦成交入账。

四、补一个洞:上游标了硬风险的候选一律交人,哪怕档位是 full。

这一条原先只写在 _verdict_auto_exec_why 那条更窄的旁路里(第四条「上游风险列表
为空」),而一票否决那条链完全不看 risk。后果是反的:档位是 propose_only 时旁路
会拦住带风险的票,一旦档位改成 full,那条旁路根本不走,带硬风险的候选反而畅通
无阻直接落指令 —— 越放开越不设防。交人原因也把硬风险排到最前,不再笼统说
「档位 propose_only」。

硬风险是选股系统在候选卡上标的三类:昨夜给出卖出/回避/已剔除信号、用的传导快照日
与计划日不符、吸筹为高位派发。

五、方向。这一批改动只会让发出去的钱变少或不变,不会变多:同一张卡从 1200 股
58,260 元降到 400 股 19,420 元;硬风险那条是把自动执行改成必须人点头。
新增 test_batch26_units.py 十七例,D 组专门钉「重算之后的金额一定不超过原来那一笔」。

前端跟上两种结果:重算成功了说一声「数量已按试探仓重算:1200 股 → 400 股」,
重算不成的把原因摆在卡上。两道页面守卫通过。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-10 13:42:39 +08:00
..
backtest_churn.py 代码全面修改 2026-08-28 13:07:27 +08:00
backtest_entry.py 代码全面修改 2026-08-28 13:07:27 +08:00
calibrate_macro_signal.py 加入股汇参数和相应逻辑 2026-08-18 17:31:37 +08:00
check_db.py 添加每日导出按钮 2026-08-28 15:45:30 +08:00
code_fingerprint.py 处理现有问题 2026-08-03 09:10:56 +08:00
deploy.sh 处理挂载问题 2026-07-29 15:28:57 +08:00
gen_keys.py 代码全面修改 2026-08-28 13:07:27 +08:00
init_db.py 模拟库和正式库分离 2026-08-28 14:34:00 +08:00
migrate_archived_at.py 模拟库和正式库分离 2026-08-28 14:34:00 +08:00
migrate_param_value_text.py 通道弃洞自愈+参数列放宽TEXT+运维清标记按钮+iPad浮层teleport与触屏直连+信号计划标 2026-09-01 09:18:00 +08:00
probe_bionic.py 加入决策系统 2026-08-03 12:49:01 +08:00
probe_plan_api.py PMS 接通选股系统判决:计划解析增读判决五键、按判决分流新建仓、研判键放行与必答题、人工裁决理由必填、信号来源区分、会话密钥补进密钥名单 2026-09-03 11:51:42 +08:00
probe_strategy_signals.py 模拟库和正式库分离 2026-08-28 14:34:00 +08:00
rebuild_ledger.py 处理现有问题 2026-08-03 09:10:56 +08:00
report_strategy_score.py 代码全面修改 2026-08-28 13:07:27 +08:00
reset_ledger.py 代码全面修改 2026-08-28 13:07:27 +08:00
run_tests.py 数量按建议档位重算:卡上写试探仓 1%,采纳后就真的只买 1% 2026-09-10 13:42:39 +08:00
test_batch2_units.py 代码全面修改 2026-08-28 13:07:27 +08:00
test_batch3_units.py PMS 两处安全修复:强制交人改为一票否决不再被卖出方向短路;目标价与止损价接通且必定交人 2026-09-03 16:06:27 +08:00
test_batch4_units.py 第零件甲组:PMS 目标价那条路的四个缺陷,加裁决理由服务端强制 2026-09-07 11:22:05 +08:00
test_batch5_units.py 代码全面修改 2026-08-28 13:07:27 +08:00
test_batch6_units.py 通道弃洞自愈+参数列放宽TEXT+运维清标记按钮+iPad浮层teleport与触屏直连+信号计划标 2026-09-01 09:18:00 +08:00
test_batch7_units.py 三条断言跟上新文案:冻结来路分开、判据码显示层剥掉、接口地址只进日志 2026-09-04 13:31:30 +08:00
test_batch8_units.py #7#12 2026-07-31 13:28:10 +08:00
test_batch9_units.py 处理现有问题 2026-08-03 09:53:18 +08:00
test_batch10_units.py PMS 两处安全修复:强制交人改为一票否决不再被卖出方向短路;目标价与止损价接通且必定交人 2026-09-03 16:06:27 +08:00
test_batch11_units.py 代码全面修改 2026-08-28 13:07:27 +08:00
test_batch12_units.py 第三件 PMS 侧:按逻辑状态分流,入场论点随持仓走 2026-09-07 14:37:35 +08:00
test_batch13_units.py 开始处理系统整体细节 2026-08-18 14:10:26 +08:00
test_batch14_units.py 加入股汇参数和相应逻辑 2026-08-19 10:04:20 +08:00
test_batch15_units.py 处理命令冲突的问题 2026-08-20 11:09:33 +08:00
test_batch16_units.py 修改前端页面部分问题 2026-08-25 11:09:58 +08:00
test_batch17_units.py 代码全面修改 2026-08-28 13:07:27 +08:00
test_batch18_units.py 添加权限 2026-08-27 10:16:45 +08:00
test_batch19_units.py 通道弃洞自愈+参数列放宽TEXT+运维清标记按钮+iPad浮层teleport与触屏直连+信号计划标 2026-09-01 09:18:00 +08:00
test_batch20_units.py 低把握驳回用例:断言改查提议的研判理由字段 2026-09-07 11:58:16 +08:00
test_batch21_units.py 第零件甲组:PMS 目标价那条路的四个缺陷,加裁决理由服务端强制 2026-09-07 11:22:05 +08:00
test_batch22_units.py 行业催化只进提议卡与账本,不送研判;单测(台账 051) 2026-09-08 15:21:21 +08:00
test_batch23_units.py 测试按 PMS 自己的代码形态取键 2026-09-09 12:17:26 +08:00
test_batch24_units.py 资金异动方向两套写法都认 2026-09-09 14:59:11 +08:00
test_batch25_units.py 解锁重问:判定、取数、接线、参数、单测(台账 055 第二件之 PMS 侧) 2026-09-09 15:13:09 +08:00
test_batch26_units.py 数量按建议档位重算:卡上写试探仓 1%,采纳后就真的只买 1% 2026-09-10 13:42:39 +08:00
test_core_units.py 设计定型后提交 2026-07-27 15:50:57 +08:00
test_page_enum_guard.py 翻译表按清点结果补齐;修守卫把两套同名枚举混成一组的错 2026-09-04 15:17:06 +08:00
test_page_wiring_guard.py 修页面白屏:十一个显示函数没交给模板,并加一道接线守卫 2026-09-10 11:06:39 +08:00
test_wiring.py 点股票看它今天的全部信号:按代码回扫接口、抽屉、遮罩空白四处修复(台账 055 第一件) 2026-09-09 14:53:29 +08:00
watch.py 代码全面修改 2026-08-28 13:07:27 +08:00
ws_smoke.py pms-ws 启动横幅与联调面板改读运行参数表, 与运行逻辑同源 2026-09-09 16:10:39 +08:00