alphax/docs/OPTIMIZATION_TODO.md
2026-05-27 07:02:37 +08:00

9.6 KiB
Raw Blame History

AlphaX Optimization Todo

本文件记录 AlphaX 筛选、确认、交易、复盘闭环的中长期优化路线,避免优化点只留在对话里。后续 Agent 接手时,应先看本文件和 AGENTS.md,再决定下一步开发。

当前原则

  • 不盲目增加指标,优先降低回撤、减少无效开仓、提升可解释性。
  • 先做状态、日志、闸门,再做复杂模型。
  • 高分机会和好买点必须拆开。
  • 观察池、挂单池、交易账本不能混在一起。
  • 所有能影响策略的因子都必须可复盘、可提权、可降权、可淘汰。
  • 因子不等于策略。因子必须先归类为先决条件、触发、确认、入场、风控或归因;只有具备完整入场、退出、风控和复盘口径的交易剧本才能叫策略。

已完成

  • PostgreSQL 成为唯一运行时数据库SQLite 已废弃。
  • 根目录和代码目录已做基础整理。
  • altcoin_db.py 已拆出多组 DB 查询/命令模块,剩余为兼容门面。
  • 推荐状态、展示桶、买点质量闸门已中心化到生命周期相关模块。
  • Paper trading 已拆分持仓、挂单、已完成、操作日志 tab。
  • Paper trading 已支持模拟挂单、移动止盈、策略交易报告、账本维护、删除/重置数据。
  • Paper trading 已加入更严格风控:推荐分、盈亏比、止损杠杆风险、账户回撤暂停、弱入场暂停。
  • Market Regime Engine 第一版已建立,可识别 risk_offbtc_main_uptrendaltcoin_rotationsideways_chopmeme_frenzyunknown
  • Global Risk Engine 第一版已接入 paper trading 开仓和挂单成交前critical 禁止新开仓high 只允许高质量机会。
  • 确认层已把 market_regime 写入 market_context / entry_planpaper trading 开仓事件也会记录当时市场环境和全局风控结果。
  • FactorScorer 已加入因子组去相关,限制同类动量/结构/链上/叙事信号重复叠加导致虚高分。
  • 确认层已输出 opportunity_scoreentry_scorerisk_score 三分制,并写入 score_components
  • 确认层已写入结构化 decision_log,用于解释确认/拒绝、分数、风险标记和核心证据。
  • 实盘控制台已建立多账号配置、账户读取、订单/历史读取、Binance API 基础执行能力。
  • 策略交易到 live trading 的自动同步链路已具备 demo 环境验证能力。
  • NodeReal 已作为当前链上主数据源DEX Screener / Etherscan / Helius 运行链路已移除。
  • 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,统一因子角色:prerequisitetriggerconfirmationentryriskattribution
  • 建立 app/core/strategy_registry.py,集中维护策略代码、中文名、描述、默认模式,避免策略名散落硬编码。
  • 建立 app/db/strategy_signal_queries.pystrategy_signals 表,保存标准策略信号。
  • recommendationpaper_tradespaper_orders 增加 strategy_codestrategy_signal_idstrategy_snapshot_jsonfactor_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

目标:单币再好,也要先看账户和大盘能不能开新仓。

已完成:

  • 输出 globalRiskLevelallowNewEntriesmaxOpenPositionsmaxLeveragepositionMultiplierreasons
  • 接入 paper trading 开仓/挂单前。
  • critical 时禁止新开仓high 时只允许高质量机会。

待增强:

  • 已把风控结果写入开仓事件返回与操作日志,方便复盘。
  • 已加入同板块集中度、同方向拥挤度门禁。
  • 后续可继续做更细的相关性矩阵和板块 Beta 暴露。

2. Market Regime Engine

目标:先判断现在是什么市场,再决定用什么策略。

第一版只需要白话状态:

  • risk_off:风险释放期,禁止或大幅减少新山寨开仓。
  • btc_main_uptrend:主流带动,山寨机会精选。
  • altcoin_rotation:山寨轮动,可正常寻找机会。
  • sideways_chop:横盘震荡,偏向等回踩,减少追突破。
  • meme_frenzyMEME 情绪高涨,提高 MEME 门槛。
  • unknown:数据不足,保守运行。

已完成:

  • 使用现有 market_overview 快照、BTC/ETH 涨跌、山寨涨跌广度、强势/大跌数量、funding 概览。

待增强:

  • 每次确认/交易记录当时 regime。
  • 后续再接入 BTC Dominance、TOTAL3、稳定币净流。

3. Factor Group 去相关

目标避免同一根大阳线被“量价、突破、动K、强势榜”重复奖励。

已完成:

  • 给因子增加大类:momentumparticipationstructurepositioningnarrativeonchain_flowriskentry_quality
  • 每个大类内部优先取最强信号,不简单全部累加。
  • 每个大类设置分数上限。
  • factor_score_breakdown 增加 group 视角。

待增强:

  • 已做因子组级别交易归因,能在策略归因和复盘中心查看。
  • 后续让分组上限按 market regime 动态调整。

4. Entry Quality Score

目标:机会分高不等于现在可以买。

已完成:

  • 输出 opportunityScoreentryScoreriskScore
  • 记录降级原因追高、RR 不足、止损太宽、离支撑太远、24h 涨幅过热。

待增强:

  • 已把三分制接入 apply_entry_quality_gateentry_score 不足时禁止 buy_now,过低时不进入挂单池,转观察。
  • 后续根据线上样本校准 min_entry_score_buy_now / min_entry_score_wait_pullback

5. 完整结构化决策日志

目标:任何通过、拒绝、降级都能解释清楚。

已完成:

  • 每个候选/确认/开仓/拒绝都记录 module、decision、score、state、reasons、riskFlags、evidence。

待增强:

  • 优先复用现有 screening_logcron_run_logpaper_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 识别:热门板块不等于所有成员都加分。
  • Onchain Flow 增强:链上事件按钱包角色、金额、方向、持续性细分。
  • 舆情质量过滤:只在有稳定数据源时做 bot ratio / smart KOL。
  • 策略分 regime 回测。
  • strategy_catalogstrategy_run_logstrategy_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_regimescore_componentsfactor_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。