# AlphaX Optimization Todo 本文件记录 AlphaX 筛选、确认、交易、复盘闭环的中长期优化路线,避免优化点只留在对话里。后续 Agent 接手时,应先看本文件和 `AGENTS.md`,再决定下一步开发。 ## 当前原则 - 不盲目增加指标,优先降低回撤、减少无效开仓、提升可解释性。 - 先做状态、日志、闸门,再做复杂模型。 - 高分机会和好买点必须拆开。 - 观察池、挂单池、交易账本不能混在一起。 - 所有能影响策略的因子都必须可复盘、可提权、可降权、可淘汰。 - 因子不等于策略。因子必须先归类为先决条件、触发、确认、入场、风控或归因;只有具备完整入场、退出、风控和复盘口径的交易剧本才能叫策略。 ## 已完成 - PostgreSQL 成为唯一运行时数据库,SQLite 已废弃。 - 根目录和代码目录已做基础整理。 - `altcoin_db.py` 已拆出多组 DB 查询/命令模块,剩余为兼容门面。 - 推荐状态、展示桶、买点质量闸门已中心化到生命周期相关模块。 - Paper trading 已拆分持仓、挂单、已完成、操作日志 tab。 - Paper trading 已支持模拟挂单、移动止盈、策略交易报告、账本维护、删除/重置数据。 - Paper trading 已加入更严格风控:推荐分、盈亏比、止损杠杆风险、账户回撤暂停、弱入场暂停。 - `Market Regime Engine` 第一版已建立,可识别 `risk_off`、`btc_main_uptrend`、`altcoin_rotation`、`sideways_chop`、`meme_frenzy`、`unknown`。 - `Global Risk Engine` 第一版已接入 paper trading 开仓和挂单成交前,critical 禁止新开仓,high 只允许高质量机会。 - 确认层已把 `market_regime` 写入 `market_context` / `entry_plan`,paper trading 开仓事件也会记录当时市场环境和全局风控结果。 - `FactorScorer` 已加入因子组去相关,限制同类动量/结构/叙事信号重复叠加导致虚高分。 - 确认层已输出 `opportunity_score`、`entry_score`、`risk_score` 三分制,并写入 `score_components`。 - 确认层已写入结构化 `decision_log`,用于解释确认/拒绝、分数、风险标记和核心证据。 - 实盘控制台已建立多账号配置、账户读取、订单/历史读取、Binance API 基础执行能力。 - 策略交易到 live trading 的自动同步链路已具备 demo 环境验证能力。 - 链上采集/API 模块已下线,当前策略聚焦 CEX 行情、事件舆情和交易所衍生品数据。 - `FactorScorer` 已建立,确认层核心技术因子、板块、舆情、大户因子已接入复盘权重。 - `factor_score_breakdown` 已进入确认上下文,复盘可追踪因子贡献。 - `box_breakout_pullback_4h` 已作为 4H 箱体突破回踩强结构因子接入确认层,但它只是 `box_retest_4h_v1` 这类策略的核心触发候选,不应单独等同于完整策略。 - 已新增 `docs/MULTI_STRATEGY_ARCHITECTURE.md`,定义多策略并行、策略血缘、因子角色和独立复盘口径。 ## P0:现在优先做 ### 0. 多策略架构第一阶段 目标:从“大而全评分器”过渡到“统一交易宇宙 + 多个独立策略 + 独立交易账本评价”。 待做: - 建立 `app/core/strategy_contract.py`,定义标准策略输出结构。 - 建立 `app/core/factor_roles.py`,统一因子角色:`prerequisite`、`trigger`、`confirmation`、`entry`、`risk`、`attribution`。 - 建立 `app/core/strategy_registry.py`,集中维护策略代码、中文名、描述、默认模式,避免策略名散落硬编码。 - 建立 `app/db/strategy_signal_queries.py` 和 `strategy_signals` 表,保存标准策略信号。 - 给 `recommendation`、`paper_trades`、`paper_orders` 增加 `strategy_code`、`strategy_signal_id`、`strategy_snapshot_json`、`factor_roles_json` 等策略血缘字段。 - 现有综合确认策略先标记为 `main_composite_v1`,它与其他策略平等,避免无策略来源的推荐继续进入账本。 - 先把 `box_retest_4h_v1` 作为第一个独立策略候选拆出来:`box_breakout_pullback_4h` 只能是核心触发因子,仍要经过市场环境、交易宇宙、确认、入场、风控和失效条件。 - 复盘中心增加按 `strategy_code` 聚合的胜率、收益、最大回撤、盈亏比和持仓时长。 - 新数据不得出现空 `strategy_code`;旧数据通过 migration 回填为 `main_composite_v1`,但不能继续产生无来源样本。 ### 1. Global Risk Engine 目标:单币再好,也要先看账户和大盘能不能开新仓。 已完成: - 输出 `globalRiskLevel`、`allowNewEntries`、`maxOpenPositions`、`maxLeverage`、`positionMultiplier`、`reasons`。 - 接入 paper trading 开仓/挂单前。 - critical 时禁止新开仓;high 时只允许高质量机会。 待增强: - 已把风控结果写入开仓事件返回与操作日志,方便复盘。 - 已加入同板块集中度、同方向拥挤度门禁。 - 后续可继续做更细的相关性矩阵和板块 Beta 暴露。 ### 2. Market Regime Engine 目标:先判断现在是什么市场,再决定用什么策略。 第一版只需要白话状态: - `risk_off`:风险释放期,禁止或大幅减少新山寨开仓。 - `btc_main_uptrend`:主流带动,山寨机会精选。 - `altcoin_rotation`:山寨轮动,可正常寻找机会。 - `sideways_chop`:横盘震荡,偏向等回踩,减少追突破。 - `meme_frenzy`:MEME 情绪高涨,提高 MEME 门槛。 - `unknown`:数据不足,保守运行。 已完成: - 使用现有 `market_overview` 快照、BTC/ETH 涨跌、山寨涨跌广度、强势/大跌数量、funding 概览。 待增强: - 每次确认/交易记录当时 regime。 - 后续再接入 BTC Dominance、TOTAL3、稳定币净流。 ### 3. Factor Group 去相关 目标:避免同一根大阳线被“量价、突破、动K、强势榜”重复奖励。 已完成: - 给因子增加大类:`momentum`、`participation`、`structure`、`positioning`、`narrative`、`risk`、`entry_quality`。 - 每个大类内部优先取最强信号,不简单全部累加。 - 每个大类设置分数上限。 - `factor_score_breakdown` 增加 group 视角。 待增强: - 已做因子组级别交易归因,能在策略归因和复盘中心查看。 - 后续让分组上限按 market regime 动态调整。 ### 4. Entry Quality Score 目标:机会分高不等于现在可以买。 已完成: - 输出 `opportunityScore`、`entryScore`、`riskScore`。 - 记录降级原因:追高、RR 不足、止损太宽、离支撑太远、24h 涨幅过热。 待增强: - 已把三分制接入 `apply_entry_quality_gate`:`entry_score` 不足时禁止 `buy_now`,过低时不进入挂单池,转观察。 - 后续根据线上样本校准 `min_entry_score_buy_now` / `min_entry_score_wait_pullback`。 ### 5. 完整结构化决策日志 目标:任何通过、拒绝、降级都能解释清楚。 已完成: - 每个候选/确认/开仓/拒绝都记录 module、decision、score、state、reasons、riskFlags、evidence。 待增强: - 优先复用现有 `screening_log`、`cron_run_log`、`paper_trade_events`,必要时新增决策日志表。 - 如果后续前端要集中展示策略决策,应考虑新增 `strategy_decision_log` 表,而不是长期只塞在 JSON 里。 ## P1:第二阶段 - Continuation Quality Engine:突破后是否真的延续。 - Fake Breakout Risk:假突破高风险时禁止 immediate buy。 - Opportunity TTL:旧信号自动过期,不反复污染新机会。 - Paper Trade Attribution:按因子组、regime、entryAction 归因交易结果。 - Regime-based Scoring:不同市场状态下使用不同因子权重。 - Watchlist / Trade Ledger 进一步分离:观察样本、挂单、持仓收益完全分开统计。 - 策略编排器:支持多个策略同时运行、启停、优先级、同币种冲突仲裁和同方向信号合并。 - 第一个独立策略模块:`app/strategies/box_retest_4h.py`,消费统一交易宇宙并输出标准 `strategy_signal`。 ## P2:第三阶段 - Narrative Graph 简化版:板块、龙头、二线、跟风、假相关。 - Sector Leader / Laggard 识别:热门板块不等于所有成员都加分。 - 舆情质量过滤:只在有稳定数据源时做 bot ratio / smart KOL。 - 策略分 regime 回测。 - `strategy_catalog`、`strategy_run_log`、`strategy_performance_daily` 等长期策略运营表。 ## 暂缓 - 多 Agent 投票系统:当前不是优先项,先把状态、因子、风控和日志做好。 - 复杂 Narrative Graph:数据质量不足前不要重投入。 - 180 天表现对比:等结构化样本足够后再做。 - 真实资金自动大规模跟单:paper trading 和 demo 稳定后再扩大。 ## 下一步执行建议 1. 先完成多策略第一阶段的策略血缘字段和标准策略输出结构。 2. 把现有综合确认策略标记为 `main_composite_v1`,确保 recommendation 和 paper trading 不再丢失策略来源。 3. 拆出 `box_retest_4h_v1` 作为第一个独立策略候选,先 observe/paper-only 跑样本。 4. 部署运行一段时间,观察 `market_regime`、`score_components`、`factor_score_breakdown.groups`、观察/挂单推进率是否能解释真实回撤。 5. 按线上样本校准 `entry_score` 门槛、group cap 和 high-risk 门槛。 6. 做 Regime-based Scoring,让不同市场环境使用不同因子权重和分组上限。 7. 如果 JSON 决策日志查询不方便,再新增 `strategy_decision_log` 表和页面。 8. 后续再接入 BTC Dominance、TOTAL3、稳定币净流,增强 Market Regime Engine。