{
  "schema_version": "dashboard.v1",
  "status": "ok",
  "generated_at": "2026-08-19T00:23:23+08:00",
  "read_only": true,
  "project": {
    "name": "Quant_Project",
    "display_name": "Quant Project · 策略驾驶舱",
    "version": "2026.08.12-ai-offensive-priority",
    "strategy_version": "ROTATION_PRODUCTION_20260812_AI_PRIORITY1",
    "mode": "只读监控",
    "pipeline": "market -> rotation_data -> defensive_value -> dca -> rotation -> xueqiu -> eastmoney -> wechat"
  },
  "daily_run": {
    "status": "SUCCESS",
    "started_at": "2026-08-18T22:50:30+08:00",
    "finished_at": "2026-08-18T22:58:14+08:00",
    "last_success_at": "2026-08-18T22:58:14+08:00",
    "current_step": "",
    "step_index": 9,
    "total_steps": 9,
    "message": "正式策略日常任务全部完成",
    "notification": {},
    "steps": [
      {
        "name": "更新正式轮动底层及指数信号数据",
        "status": "SUCCESS",
        "required": true,
        "started_at": "2026-08-18T22:50:30+08:00",
        "finished_at": "2026-08-18T22:51:19+08:00",
        "return_code": 0
      },
      {
        "name": "更新正式定投ETF行情",
        "status": "SUCCESS",
        "required": true,
        "started_at": "2026-08-18T22:51:19+08:00",
        "finished_at": "2026-08-18T22:51:25+08:00",
        "return_code": 0
      },
      {
        "name": "DCA ETF compatibility cache",
        "status": "SUCCESS",
        "required": true,
        "started_at": "2026-08-18T22:51:25+08:00",
        "finished_at": "2026-08-18T22:51:26+08:00",
        "return_code": 0
      },
      {
        "name": "更新防御权益估值及国债收益率",
        "status": "SUCCESS",
        "required": true,
        "started_at": "2026-08-18T22:51:26+08:00",
        "finished_at": "2026-08-18T22:51:30+08:00",
        "return_code": 0
      },
      {
        "name": "更新并运行正式定投策略",
        "status": "SUCCESS",
        "required": true,
        "started_at": "2026-08-18T22:51:30+08:00",
        "finished_at": "2026-08-18T22:51:49+08:00",
        "return_code": 0
      },
      {
        "name": "运行正式轮动策略",
        "status": "SUCCESS",
        "required": true,
        "started_at": "2026-08-18T22:51:49+08:00",
        "finished_at": "2026-08-18T22:58:09+08:00",
        "return_code": 0
      },
      {
        "name": "同步雪球组合",
        "status": "SUCCESS",
        "required": false,
        "started_at": "2026-08-18T22:58:09+08:00",
        "finished_at": "2026-08-18T22:58:10+08:00",
        "return_code": 0
      },
      {
        "name": "同步并预览东方财富组合",
        "status": "SUCCESS",
        "required": false,
        "started_at": "2026-08-18T22:58:10+08:00",
        "finished_at": "2026-08-18T22:58:12+08:00",
        "return_code": 0
      },
      {
        "name": "发送微信合并日报",
        "status": "SUCCESS",
        "required": true,
        "started_at": "2026-08-18T22:58:12+08:00",
        "finished_at": "2026-08-18T22:58:14+08:00",
        "return_code": 0
      }
    ],
    "updated_at": "2026-08-18T22:58:14+08:00"
  },
  "freshness": {
    "status": "fresh",
    "label": "数据已更新",
    "latest_date": "2026-08-18",
    "data_date": "2026-08-18",
    "signal_date": "2026-08-18",
    "rotation_date": "2026-08-18",
    "dca_date": "2026-08-18",
    "stale": false,
    "sources": [
      {
        "name": "轮动信号",
        "date": "2026-08-18",
        "status": "PASS",
        "count": 3
      },
      {
        "name": "定投信号",
        "date": "2026-08-18",
        "status": "PASS",
        "count": 8
      },
      {
        "name": "轮动行情",
        "date": "2026-08-18",
        "status": "PASS",
        "count": 27,
        "total": 27
      },
      {
        "name": "定投质量",
        "date": "2026-08-18",
        "status": "PASS",
        "count": 7,
        "total": 7
      }
    ]
  },
  "rotation": {
    "status": "ok",
    "as_of": "2026-08-18",
    "account": {
      "strategy": "rotation_production",
      "strategy_version": "ROTATION_PRODUCTION_20260812_AI_PRIORITY1",
      "signal_date": "2026-08-18",
      "estimated_execution_date": "2026-08-19",
      "execution_session": "下一交易日开盘",
      "equity": 100000.0,
      "cash": 37409.749838954565,
      "invested_value": 62590.250161045435,
      "exposure": 0.6259025016104544,
      "position_count": 3,
      "total_units": 2.5,
      "max_units": 4,
      "regime": "NEUTRAL_UP",
      "regime_label": "中性偏强",
      "breadth": 0.4,
      "drawdown": -0.09393369736523005,
      "generated_at": "2026-08-18T22:58:08.478679"
    },
    "positions": [
      {
        "date": "2026-08-18",
        "code": "159985",
        "name": "豆粕ETF",
        "role": "COMMODITY_TREND",
        "role_label": "商品趋势",
        "risk_group": "农业商品",
        "shares": 5900.0,
        "units": 0.5,
        "avg_cost": 2.181308109,
        "close": 2.205,
        "market_value": 13010.207599694679,
        "current_weight": 0.1301020759969468,
        "unrealized_return": 0.010861322571647625,
        "entry_date": "2026-07-09",
        "rank": 1,
        "rank_total": 1,
        "score": 0.30389580185535237,
        "buy_distance": -0.050387596899224785,
        "sell_distance": 0.06676342525399126,
        "buy_distance_pct": -0.050387596899224785,
        "sell_distance_pct": 0.06676342525399126,
        "status": "持有"
      },
      {
        "date": "2026-08-18",
        "code": "159612",
        "name": "标普500ETF",
        "role": "GLOBAL_EQUITY",
        "role_label": "海外趋势",
        "risk_group": "海外宽基",
        "shares": 11900.0,
        "units": 1.0,
        "avg_cost": 2.06623910325,
        "close": 2.071,
        "market_value": 24683.520488305996,
        "current_weight": 0.24683520488305996,
        "unrealized_return": 0.0023041364102109885,
        "entry_date": "2026-08-05",
        "rank": 1,
        "rank_total": 2,
        "score": 0.4969318887568655,
        "buy_distance": -0.009165005458441344,
        "sell_distance": 0.0589478974195492,
        "buy_distance_pct": -0.009165005458441344,
        "sell_distance_pct": 0.0589478974195492,
        "status": "待卖"
      },
      {
        "date": "2026-08-18",
        "code": "159929",
        "name": "医药ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "医疗医药",
        "shares": 17900.0,
        "units": 1.0,
        "avg_cost": 1.3928352696,
        "close": 1.388,
        "market_value": 24896.522073044758,
        "current_weight": 0.24896522073044758,
        "unrealized_return": -0.003471530126738287,
        "entry_date": "2026-08-11",
        "rank": 1,
        "rank_total": 18,
        "score": 0.2165023993432299,
        "buy_distance": -0.030048916841369788,
        "sell_distance": 0.07264296754250377,
        "buy_distance_pct": -0.030048916841369788,
        "sell_distance_pct": 0.07264296754250377,
        "status": "持有"
      }
    ],
    "actions": [
      {
        "signal_date": "2026-08-18",
        "execution_date": "2026-08-19",
        "execution_session": "下一交易日开盘",
        "priority": 0,
        "action": "SELL",
        "action_label": "卖出",
        "code": "159612",
        "name": "标普500ETF",
        "role_label": "海外趋势",
        "risk_group": "海外宽基",
        "target_units": 0.0,
        "estimated_shares": 11900.0,
        "reference_close": 2.071,
        "reason": "NEUTRAL_UP总仓位上限3单位",
        "status": "PENDING"
      },
      {
        "signal_date": "2026-08-18",
        "execution_date": "2026-08-19",
        "execution_session": "下一交易日开盘",
        "priority": 2,
        "action": "BUY",
        "action_label": "买入",
        "code": "159930",
        "name": "能源ETF",
        "role_label": "进攻权益",
        "risk_group": "CYCLICAL_ALL_ONE_UNIT",
        "target_units": 1.0,
        "estimated_shares": 14200.0,
        "reference_close": 1.744,
        "reason": "NEUTRAL_UP按25/15建立1单位",
        "status": "PENDING"
      }
    ],
    "signals": [
      {
        "date": "2026-08-18",
        "action": "SELL",
        "action_label": "卖出",
        "code": "159612",
        "name": "标普500ETF",
        "role_label": "海外趋势",
        "target_units": 0.0,
        "current_units": null,
        "current_weight": null,
        "unrealized_return": null,
        "reason": "NEUTRAL_UP总仓位上限3单位",
        "execution_session": "下一交易日开盘"
      },
      {
        "date": "2026-08-18",
        "action": "BUY",
        "action_label": "买入",
        "code": "159930",
        "name": "能源ETF",
        "role_label": "进攻权益",
        "target_units": 1.0,
        "current_units": null,
        "current_weight": null,
        "unrealized_return": null,
        "reason": "NEUTRAL_UP按25/15建立1单位",
        "execution_session": "下一交易日开盘"
      },
      {
        "date": "2026-08-18",
        "action": "HOLD",
        "action_label": "持有",
        "code": "159929",
        "name": "医药ETF",
        "role_label": "进攻权益",
        "target_units": 1.0,
        "current_units": 1.0,
        "current_weight": 0.24896522073044758,
        "unrealized_return": -0.003471530126738287,
        "reason": "趋势与状态条件仍有效",
        "execution_session": "无需操作"
      },
      {
        "date": "2026-08-18",
        "action": "HOLD",
        "action_label": "持有",
        "code": "159985",
        "name": "豆粕ETF",
        "role_label": "商品趋势",
        "target_units": 0.5,
        "current_units": 0.5,
        "current_weight": 0.1301020759969468,
        "unrealized_return": 0.010861322571647625,
        "reason": "趋势与状态条件仍有效",
        "execution_session": "无需操作"
      }
    ],
    "pool": [
      {
        "date": "2026-08-18",
        "code": "159612",
        "name": "标普500ETF",
        "role": "GLOBAL_EQUITY",
        "role_label": "海外趋势",
        "risk_group": "海外宽基",
        "status": "待卖",
        "status_group": "watch",
        "state_allowed": true,
        "held": true,
        "pending_action": "SELL",
        "close": 2.071,
        "buy_line": 2.090156293842058,
        "buy_distance": -0.009165005458441344,
        "sell_line": 1.9557147287856425,
        "sell_distance": 0.0589478974195492,
        "buy_distance_pct": -0.009165005458441344,
        "sell_distance_pct": 0.0589478974195492,
        "rank": 1,
        "rank_total": 2,
        "score": 0.4969318887568655,
        "trend_ok": true,
        "valuation_score": null,
        "current_weight": 0.24683520488305996,
        "unrealized_return": 0.0023041364102109885,
        "note": "NEUTRAL_UP总仓位上限3单位"
      },
      {
        "date": "2026-08-18",
        "code": "159930",
        "name": "能源ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "能源资源周期",
        "status": "待买",
        "status_group": "action",
        "state_allowed": true,
        "held": false,
        "pending_action": "BUY",
        "close": 1.744,
        "buy_line": 1.738,
        "buy_distance": 0.0034522439585731313,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": 0.0034522439585731313,
        "sell_distance_pct": null,
        "rank": 3,
        "rank_total": 18,
        "score": 0.16692015323140585,
        "trend_ok": true,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": "NEUTRAL_UP按25/15建立1单位"
      },
      {
        "date": "2026-08-18",
        "code": "159985",
        "name": "豆粕ETF",
        "role": "COMMODITY_TREND",
        "role_label": "商品趋势",
        "risk_group": "农业商品",
        "status": "持有",
        "status_group": "holding",
        "state_allowed": true,
        "held": true,
        "pending_action": "",
        "close": 2.205,
        "buy_line": 2.322,
        "buy_distance": -0.050387596899224785,
        "sell_line": 2.067,
        "sell_distance": 0.06676342525399126,
        "buy_distance_pct": -0.050387596899224785,
        "sell_distance_pct": 0.06676342525399126,
        "rank": 1,
        "rank_total": 1,
        "score": 0.30389580185535237,
        "trend_ok": true,
        "valuation_score": null,
        "current_weight": 0.1301020759969468,
        "unrealized_return": 0.010861322571647625,
        "note": "同风险组农业商品已有持仓或待买订单"
      },
      {
        "date": "2026-08-18",
        "code": "159929",
        "name": "医药ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "医疗医药",
        "status": "持有",
        "status_group": "holding",
        "state_allowed": true,
        "held": true,
        "pending_action": "",
        "close": 1.388,
        "buy_line": 1.431,
        "buy_distance": -0.030048916841369788,
        "sell_line": 1.294,
        "sell_distance": 0.07264296754250377,
        "buy_distance_pct": -0.030048916841369788,
        "sell_distance_pct": 0.07264296754250377,
        "rank": 1,
        "rank_total": 18,
        "score": 0.2165023993432299,
        "trend_ok": true,
        "valuation_score": null,
        "current_weight": 0.24896522073044758,
        "unrealized_return": -0.003471530126738287,
        "note": "同风险组医疗医药已有持仓或待买订单"
      },
      {
        "date": "2026-08-18",
        "code": "159570",
        "name": "港股通创新药ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "医疗医药",
        "status": "同组已持有",
        "status_group": "blocked",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 1.439,
        "buy_line": null,
        "buy_distance": null,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": null,
        "sell_distance_pct": null,
        "rank": 17,
        "rank_total": 18,
        "score": null,
        "trend_ok": false,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": "同风险组医疗医药已有持仓或待买订单"
      },
      {
        "date": "2026-08-18",
        "code": "159866",
        "name": "日经ETF",
        "role": "GLOBAL_EQUITY",
        "role_label": "海外趋势",
        "risk_group": "日本股票",
        "status": "等待突破",
        "status_group": "watch",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 1.714,
        "buy_line": 1.7685625898207746,
        "buy_distance": -0.030851376216379234,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.030851376216379234,
        "sell_distance_pct": null,
        "rank": 2,
        "rank_total": 2,
        "score": 0.3131093677964689,
        "trend_ok": true,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": ""
      },
      {
        "date": "2026-08-18",
        "code": "159697",
        "name": "油气ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "能源资源周期",
        "status": "突破但趋势未过",
        "status_group": "breakout",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 1.347,
        "buy_line": 1.336,
        "buy_distance": 0.008233532934131649,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": 0.008233532934131649,
        "sell_distance_pct": null,
        "rank": 7,
        "rank_total": 18,
        "score": -0.022941971210158604,
        "trend_ok": false,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": ""
      },
      {
        "date": "2026-08-18",
        "code": "159581",
        "name": "中证红利ETF",
        "role": "DEFENSIVE_EQUITY",
        "role_label": "防御权益",
        "risk_group": "红利价值",
        "status": "估值未过",
        "status_group": "blocked",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 1.061,
        "buy_line": 1.0723406843570624,
        "buy_distance": -0.010575635637532499,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.010575635637532499,
        "sell_distance_pct": null,
        "rank": 2,
        "rank_total": 3,
        "score": 0.05589697896326985,
        "trend_ok": false,
        "valuation_score": 40.16375545851528,
        "current_weight": null,
        "unrealized_return": null,
        "note": "估值与股债利差尚未进入允许买入区间"
      },
      {
        "date": "2026-08-18",
        "code": "159547",
        "name": "红利低波ETF",
        "role": "DEFENSIVE_EQUITY",
        "role_label": "防御权益",
        "risk_group": "防御性权益",
        "status": "估值未过",
        "status_group": "blocked",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 1.186,
        "buy_line": 1.2387227594540842,
        "buy_distance": -0.042562194850863655,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.042562194850863655,
        "sell_distance_pct": null,
        "rank": 3,
        "rank_total": 3,
        "score": -0.009181191930347634,
        "trend_ok": false,
        "valuation_score": 38.971814211988885,
        "current_weight": null,
        "unrealized_return": null,
        "note": "估值与股债利差尚未进入允许买入区间"
      },
      {
        "date": "2026-08-18",
        "code": "159253",
        "name": "银行ETF博时",
        "role": "DEFENSIVE_EQUITY",
        "role_label": "防御权益",
        "risk_group": "防御性权益",
        "status": "估值未过",
        "status_group": "blocked",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 0.958,
        "buy_line": 1.0043352081052623,
        "buy_distance": -0.046135202401871855,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.046135202401871855,
        "sell_distance_pct": null,
        "rank": 1,
        "rank_total": 3,
        "score": 0.1914713559392853,
        "trend_ok": false,
        "valuation_score": 49.72409686383486,
        "current_weight": null,
        "unrealized_return": null,
        "note": "估值与股债利差尚未进入允许买入区间"
      },
      {
        "date": "2026-08-18",
        "code": "518880",
        "name": "黄金ETF",
        "role": "GOLD_TREND",
        "role_label": "黄金趋势",
        "risk_group": "黄金",
        "status": "趋势未过",
        "status_group": "watch",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 9.078,
        "buy_line": 9.163,
        "buy_distance": -0.00927643784786647,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.00927643784786647,
        "sell_distance_pct": null,
        "rank": 1,
        "rank_total": 1,
        "score": -0.31505500202868525,
        "trend_ok": false,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": ""
      },
      {
        "date": "2026-08-18",
        "code": "159865",
        "name": "养殖ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "农业权益周期",
        "status": "趋势未过",
        "status_group": "watch",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 0.548,
        "buy_line": 0.55,
        "buy_distance": -0.0036363636363636598,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.0036363636363636598,
        "sell_distance_pct": null,
        "rank": 12,
        "rank_total": 18,
        "score": -0.16731175759772451,
        "trend_ok": false,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": ""
      },
      {
        "date": "2026-08-18",
        "code": "159530",
        "name": "机器人ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "AI机器人制造",
        "status": "趋势未过",
        "status_group": "watch",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 1.471,
        "buy_line": 1.488,
        "buy_distance": -0.011424731182795633,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.011424731182795633,
        "sell_distance_pct": null,
        "rank": 10,
        "rank_total": 18,
        "score": -0.13362018882401286,
        "trend_ok": false,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": ""
      },
      {
        "date": "2026-08-18",
        "code": "159755",
        "name": "电池ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "新能源成长",
        "status": "趋势未过",
        "status_group": "watch",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 0.987,
        "buy_line": 1.0,
        "buy_distance": -0.013000000000000012,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.013000000000000012,
        "sell_distance_pct": null,
        "rank": 15,
        "rank_total": 18,
        "score": -0.24056225691482208,
        "trend_ok": false,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": ""
      },
      {
        "date": "2026-08-18",
        "code": "159638",
        "name": "高端装备ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "军工高端制造",
        "status": "趋势未过",
        "status_group": "watch",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 0.861,
        "buy_line": 0.875,
        "buy_distance": -0.016000000000000014,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.016000000000000014,
        "sell_distance_pct": null,
        "rank": 16,
        "rank_total": 18,
        "score": -0.41556183402263114,
        "trend_ok": false,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": ""
      },
      {
        "date": "2026-08-18",
        "code": "159666",
        "name": "交通运输ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "交通运输周期",
        "status": "趋势未过",
        "status_group": "watch",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 0.974,
        "buy_line": 1.002,
        "buy_distance": -0.027944111776447178,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.027944111776447178,
        "sell_distance_pct": null,
        "rank": 13,
        "rank_total": 18,
        "score": -0.18109504973969204,
        "trend_ok": false,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": ""
      },
      {
        "date": "2026-08-18",
        "code": "159870",
        "name": "化工ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "能源资源周期",
        "status": "趋势未过",
        "status_group": "watch",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 0.818,
        "buy_line": 0.847,
        "buy_distance": -0.03423848878394331,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.03423848878394331,
        "sell_distance_pct": null,
        "rank": 11,
        "rank_total": 18,
        "score": -0.1445872685426576,
        "trend_ok": false,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": ""
      },
      {
        "date": "2026-08-18",
        "code": "159871",
        "name": "有色ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "能源资源周期",
        "status": "趋势未过",
        "status_group": "watch",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 0.983,
        "buy_line": 1.025,
        "buy_distance": -0.040975609756097486,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.040975609756097486,
        "sell_distance_pct": null,
        "rank": 9,
        "rank_total": 18,
        "score": -0.090576447583351,
        "trend_ok": false,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": ""
      },
      {
        "date": "2026-08-18",
        "code": "159928",
        "name": "消费ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "消费弹性",
        "status": "趋势未过",
        "status_group": "watch",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 0.671,
        "buy_line": 0.701,
        "buy_distance": -0.042796005706133955,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.042796005706133955,
        "sell_distance_pct": null,
        "rank": 14,
        "rank_total": 18,
        "score": -0.23724097126549298,
        "trend_ok": false,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": ""
      },
      {
        "date": "2026-08-18",
        "code": "159842",
        "name": "券商ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "金融弹性",
        "status": "趋势未过",
        "status_group": "watch",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 1.027,
        "buy_line": 1.084,
        "buy_distance": -0.05258302583025842,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.05258302583025842,
        "sell_distance_pct": null,
        "rank": 8,
        "rank_total": 18,
        "score": -0.08270198204421311,
        "trend_ok": false,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": ""
      },
      {
        "date": "2026-08-18",
        "code": "159783",
        "name": "双创50ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "综合科技成长",
        "status": "趋势未过",
        "status_group": "watch",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 1.185,
        "buy_line": 1.313,
        "buy_distance": -0.09748667174409742,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.09748667174409742,
        "sell_distance_pct": null,
        "rank": 5,
        "rank_total": 18,
        "score": 0.09895558285913626,
        "trend_ok": false,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": ""
      },
      {
        "date": "2026-08-18",
        "code": "159819",
        "name": "人工智能ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "AI算力基础设施",
        "status": "趋势未过",
        "status_group": "watch",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 1.877,
        "buy_line": 2.098,
        "buy_distance": -0.10533841754051476,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.10533841754051476,
        "sell_distance_pct": null,
        "rank": 6,
        "rank_total": 18,
        "score": 0.04246719182548183,
        "trend_ok": false,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": ""
      },
      {
        "date": "2026-08-18",
        "code": "159994",
        "name": "5GETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "AI算力基础设施",
        "status": "趋势未过",
        "status_group": "watch",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 1.35,
        "buy_line": 1.529,
        "buy_distance": -0.1170699803793328,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.1170699803793328,
        "sell_distance_pct": null,
        "rank": 2,
        "rank_total": 18,
        "score": 0.17694470536794282,
        "trend_ok": false,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": ""
      },
      {
        "date": "2026-08-18",
        "code": "159995",
        "name": "芯片ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "AI算力基础设施",
        "status": "趋势未过",
        "status_group": "watch",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 1.264,
        "buy_line": 1.502,
        "buy_distance": -0.1584553928095872,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": -0.1584553928095872,
        "sell_distance_pct": null,
        "rank": 4,
        "rank_total": 18,
        "score": 0.11927868291737356,
        "trend_ok": false,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": ""
      },
      {
        "date": "2026-08-18",
        "code": "159740",
        "name": "恒生科技ETF",
        "role": "OFFENSIVE_EQUITY",
        "role_label": "进攻权益",
        "risk_group": "综合科技成长",
        "status": "趋势未过",
        "status_group": "watch",
        "state_allowed": true,
        "held": false,
        "pending_action": "",
        "close": 0.591,
        "buy_line": null,
        "buy_distance": null,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": null,
        "sell_distance_pct": null,
        "rank": 18,
        "rank_total": 18,
        "score": null,
        "trend_ok": false,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": ""
      },
      {
        "date": "2026-08-18",
        "code": "511090",
        "name": "30年国债ETF",
        "role": "DEFENSIVE_BOND",
        "role_label": "利率债",
        "risk_group": "利率债",
        "status": "状态限制",
        "status_group": "watch",
        "state_allowed": false,
        "held": false,
        "pending_action": "",
        "close": 119.503,
        "buy_line": 119.414,
        "buy_distance": 0.0007453062454987336,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": 0.0007453062454987336,
        "sell_distance_pct": null,
        "rank": 1,
        "rank_total": 2,
        "score": 0.1910385652918656,
        "trend_ok": true,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": "当前中性偏强不新增利率债"
      },
      {
        "date": "2026-08-18",
        "code": "511260",
        "name": "十年国债ETF",
        "role": "DEFENSIVE_BOND",
        "role_label": "利率债",
        "risk_group": "利率债",
        "status": "状态限制",
        "status_group": "watch",
        "state_allowed": false,
        "held": false,
        "pending_action": "",
        "close": 135.871,
        "buy_line": 135.77,
        "buy_distance": 0.0007439051336819436,
        "sell_line": null,
        "sell_distance": null,
        "buy_distance_pct": 0.0007439051336819436,
        "sell_distance_pct": null,
        "rank": 2,
        "rank_total": 2,
        "score": 0.09204927859649074,
        "trend_ok": true,
        "valuation_score": null,
        "current_weight": null,
        "unrealized_return": null,
        "note": "当前中性偏强不新增利率债"
      }
    ],
    "allocation": [
      {
        "code": "159985",
        "label": "豆粕ETF",
        "value": 13010.207599694679,
        "weight": 0.1301020759969468,
        "color": "#7c9cff"
      },
      {
        "code": "159612",
        "label": "标普500ETF",
        "value": 24683.520488305996,
        "weight": 0.24683520488305996,
        "color": "#48d7cd"
      },
      {
        "code": "159929",
        "label": "医药ETF",
        "value": 24896.522073044758,
        "weight": 0.24896522073044758,
        "color": "#f5b942"
      },
      {
        "code": "CASH",
        "label": "现金",
        "value": 37409.749838954565,
        "weight": 0.37409749838954565,
        "color": "#25364d"
      }
    ],
    "summary": {
      "candidate_count": 3,
      "guard_count": 11,
      "guard_passed": 11,
      "quality_total": 27,
      "quality_ok": 27
    }
  },
  "dca": {
    "status": "ok",
    "as_of": "2026-08-18",
    "signal": {
      "date": "2026-08-18",
      "strategy_version": "DCA_V2_FIVE_STATE_STRONG_R60_6_20260813",
      "regime": "HIGH_VOL",
      "regime_label": "高波防御",
      "base_regime": "NEUTRAL",
      "target_regime": "NEUTRAL",
      "high_volatility_reduction": true,
      "annualized_volatility_20d": 0.2039289192708076,
      "risk_budget": 0.65,
      "strong_r60": -0.01705490848585689,
      "strong_threshold": 0.06,
      "strong_active": false,
      "pe_percentile": 88.57142857142857,
      "annual_contribution": 12000.0,
      "monthly_contribution": 1000.0,
      "weekly_contribution": 230.77,
      "monthly_amount": 1000.0,
      "weekly_amount": 230.77
    },
    "account": {
      "date": "2026-08-18",
      "total_equity": 925.8568554171691,
      "cash": -1.4210854715202004e-14,
      "position_count": 5,
      "pending_order_count": 0,
      "positions": [
        {
          "date": "2026-08-18",
          "code": "563360",
          "name": "A500ETF华泰柏瑞",
          "shares": 91.66841175665384,
          "price": 1.311,
          "market_value": 120.17728781297318,
          "weight": 0.12980115350425758
        },
        {
          "date": "2026-08-18",
          "code": "159783",
          "name": "科创创业50ETF华夏",
          "shares": 0.0,
          "price": 1.185,
          "market_value": 0.0,
          "weight": 0.0
        },
        {
          "date": "2026-08-18",
          "code": "512890",
          "name": "红利低波ETF",
          "shares": 415.39271490787655,
          "price": 1.161,
          "market_value": 482.2709420080447,
          "weight": 0.520891473866924
        },
        {
          "date": "2026-08-18",
          "code": "017294",
          "name": "富国鑫年FOF Y",
          "shares": 284.53386042235553,
          "price": 1.1332,
          "market_value": 322.4337706306133,
          "weight": 0.3482544507221177
        },
        {
          "date": "2026-08-18",
          "code": "510300",
          "name": "沪深300ETF（旧策略退出）",
          "shares": 0.0,
          "price": 4.787,
          "market_value": 0.0,
          "weight": 0.0
        },
        {
          "date": "2026-08-18",
          "code": "510500",
          "name": "中证500ETF（旧策略退出）",
          "shares": 0.06314995306387772,
          "price": 8.185,
          "market_value": 0.5168823658278392,
          "weight": 0.0005582746002295834
        },
        {
          "date": "2026-08-18",
          "code": "017337",
          "name": "平安兴诚FOF（旧策略退出）",
          "shares": 0.407848071698254,
          "price": 1.1229,
          "market_value": 0.4579725997099694,
          "weight": 0.0004946473064711693
        },
        {
          "date": "2026-08-18",
          "code": "CASH_V3",
          "name": "现金",
          "shares": -1.4210854715202004e-14,
          "price": 1.0,
          "market_value": -1.4210854715202004e-14,
          "weight": -1.5348868058873888e-17
        }
      ]
    },
    "allocations": [
      {
        "date": "2026-08-18",
        "code": "563360",
        "name": "A500ETF华泰柏瑞",
        "target_weight": 0.12999999999999998,
        "weekly_amount": 30.0,
        "estimated_net_amount": 29.97,
        "color": "#7c9cff"
      },
      {
        "date": "2026-08-18",
        "code": "159783",
        "name": "科创创业50ETF华夏",
        "target_weight": 0.0,
        "weekly_amount": 0.0,
        "estimated_net_amount": 0.0,
        "color": "#48d7cd"
      },
      {
        "date": "2026-08-18",
        "code": "512890",
        "name": "红利低波ETF",
        "target_weight": 0.52,
        "weekly_amount": 120.0,
        "estimated_net_amount": 119.88,
        "color": "#f5b942"
      },
      {
        "date": "2026-08-18",
        "code": "017294",
        "name": "富国鑫年FOF Y",
        "target_weight": 0.35,
        "weekly_amount": 80.77,
        "estimated_net_amount": 80.69,
        "color": "#b48df2"
      },
      {
        "date": "2026-08-18",
        "code": "510300",
        "name": "沪深300ETF（旧策略退出）",
        "target_weight": 0.0,
        "weekly_amount": 0.0,
        "estimated_net_amount": 0.0,
        "color": "#ff8f70"
      },
      {
        "date": "2026-08-18",
        "code": "510500",
        "name": "中证500ETF（旧策略退出）",
        "target_weight": 0.0,
        "weekly_amount": 0.0,
        "estimated_net_amount": 0.0,
        "color": "#7c9cff"
      },
      {
        "date": "2026-08-18",
        "code": "017337",
        "name": "平安兴诚FOF（旧策略退出）",
        "target_weight": 0.0,
        "weekly_amount": 0.0,
        "estimated_net_amount": 0.0,
        "color": "#48d7cd"
      },
      {
        "date": "2026-08-18",
        "code": "CASH_V3",
        "name": "现金",
        "target_weight": 0.0,
        "weekly_amount": 0.0,
        "estimated_net_amount": 0.0,
        "color": "#f5b942"
      }
    ],
    "weekly_plan": [
      {
        "code": "563360",
        "name": "A500ETF华泰柏瑞",
        "current_weight": 0.12980115350425758,
        "target_weight": 0.12999999999999998,
        "adjustment": 0.18410339125877329,
        "action": "HOLD",
        "execution_date": ""
      },
      {
        "code": "159783",
        "name": "科创创业50ETF华夏",
        "current_weight": 0.0,
        "target_weight": 0.0,
        "adjustment": 0.0,
        "action": "HOLD",
        "execution_date": ""
      },
      {
        "code": "512890",
        "name": "红利低波ETF",
        "current_weight": 0.520891473866924,
        "target_weight": 0.52,
        "adjustment": -0.8253771911168428,
        "action": "HOLD",
        "execution_date": ""
      },
      {
        "code": "017294",
        "name": "富国鑫年FOF Y",
        "current_weight": 0.3482544507221177,
        "target_weight": 0.35,
        "adjustment": 1.6161287653957856,
        "action": "HOLD",
        "execution_date": ""
      },
      {
        "code": "510300",
        "name": "沪深300ETF（旧策略退出）",
        "current_weight": 0.0,
        "target_weight": 0.0,
        "adjustment": 0.0,
        "action": "HOLD",
        "execution_date": ""
      },
      {
        "code": "510500",
        "name": "中证500ETF（旧策略退出）",
        "current_weight": 0.0005582746002295834,
        "target_weight": 0.0,
        "adjustment": -0.5168823658278392,
        "action": "HOLD",
        "execution_date": ""
      },
      {
        "code": "017337",
        "name": "平安兴诚FOF（旧策略退出）",
        "current_weight": 0.0004946473064711693,
        "target_weight": 0.0,
        "adjustment": -0.4579725997099694,
        "action": "HOLD",
        "execution_date": ""
      },
      {
        "code": "CASH_V3",
        "name": "现金",
        "current_weight": -1.5348868058873888e-17,
        "target_weight": 0.0,
        "adjustment": 1.4210854715202004e-14,
        "action": "HOLD",
        "execution_date": ""
      }
    ],
    "valuations": [
      {
        "date": "2026-08-18",
        "code": "510300",
        "name": "沪深300",
        "index_name": "沪深300",
        "pe_ttm": 14.474656064373525,
        "pb": 1.4829166550448396,
        "dividend_yield": 0.0268669417521234,
        "valuation_score": 70.53592695514094,
        "valuation_zone": "偏高",
        "quality_score": 2.5,
        "quality_status": "盈利质量偏弱"
      },
      {
        "date": "2026-08-18",
        "code": "512890",
        "name": "红利低波",
        "index_name": "中证红利",
        "pe_ttm": 8.523589419917275,
        "pb": 0.8331689294386162,
        "dividend_yield": 0.0423731220155857,
        "valuation_score": 65.12107979356887,
        "valuation_zone": "合理",
        "quality_score": 2.631578947368421,
        "quality_status": "盈利质量偏弱"
      },
      {
        "date": "2026-08-18",
        "code": "510500",
        "name": "中证500",
        "index_name": "中证500",
        "pe_ttm": 37.61545940286765,
        "pb": 2.582503298187142,
        "dividend_yield": 0.0124221468943203,
        "valuation_score": 81.75267963477572,
        "valuation_zone": "偏高",
        "quality_score": 25.0,
        "quality_status": "盈利质量正常"
      }
    ],
    "quality": {
      "total": 7,
      "fresh": 7,
      "passed": 7,
      "items": [
        {
          "name": "沪深300信号",
          "latest_date": "2026-08-18",
          "age_days": 0,
          "stale": false
        },
        {
          "name": "A500ETF_563360",
          "latest_date": "2026-08-12",
          "age_days": 6,
          "stale": false
        },
        {
          "name": "科创创业50ETF_159783",
          "latest_date": "2026-08-18",
          "age_days": 0,
          "stale": false
        },
        {
          "name": "红利低波ETF_512890",
          "latest_date": "2026-08-18",
          "age_days": 0,
          "stale": false
        },
        {
          "name": "沪深300PE",
          "latest_date": "2026-08-18",
          "age_days": 0,
          "stale": false
        },
        {
          "name": "富国017294净值",
          "latest_date": "2026-08-14",
          "age_days": 4,
          "stale": false
        },
        {
          "name": "共同信号日期",
          "latest_date": "2026-08-18",
          "age_days": 0,
          "stale": false
        }
      ]
    }
  },
  "integrations": [
    {
      "id": "xueqiu",
      "name": "雪球组合",
      "status": "pending",
      "status_label": "待成交",
      "tone": "warning",
      "date": "2026-08-18",
      "updated_at": "2026-08-18T22:58:10.364194",
      "detail": "组合目标已发送"
    },
    {
      "id": "eastmoney",
      "name": "东方财富",
      "status": "audit_ok",
      "status_label": "暂无状态",
      "tone": "neutral",
      "date": "2026-08-18",
      "updated_at": "2026-08-19T00:05:03",
      "detail": "只读同步摘要"
    },
    {
      "id": "wechat",
      "name": "微信推送",
      "status": "sent",
      "status_label": "已推送",
      "tone": "success",
      "date": "2026-08-18",
      "updated_at": "2026-08-18T22:58:14+08:00",
      "detail": "2026-08-18 日报"
    }
  ],
  "pipeline": [
    {
      "name": "更新正式轮动底层及指数信号数据",
      "status": "success",
      "detail": "已完成",
      "updated_at": "2026-08-18T22:51:19+08:00"
    },
    {
      "name": "更新正式定投ETF行情",
      "status": "success",
      "detail": "已完成",
      "updated_at": "2026-08-18T22:51:25+08:00"
    },
    {
      "name": "DCA ETF compatibility cache",
      "status": "success",
      "detail": "已完成",
      "updated_at": "2026-08-18T22:51:26+08:00"
    },
    {
      "name": "更新防御权益估值及国债收益率",
      "status": "success",
      "detail": "已完成",
      "updated_at": "2026-08-18T22:51:30+08:00"
    },
    {
      "name": "更新并运行正式定投策略",
      "status": "success",
      "detail": "已完成",
      "updated_at": "2026-08-18T22:51:49+08:00"
    },
    {
      "name": "运行正式轮动策略",
      "status": "success",
      "detail": "已完成",
      "updated_at": "2026-08-18T22:58:09+08:00"
    },
    {
      "name": "同步雪球组合",
      "status": "success",
      "detail": "已完成",
      "updated_at": "2026-08-18T22:58:10+08:00"
    },
    {
      "name": "同步并预览东方财富组合",
      "status": "success",
      "detail": "已完成",
      "updated_at": "2026-08-18T22:58:12+08:00"
    },
    {
      "name": "发送微信合并日报",
      "status": "success",
      "detail": "已完成",
      "updated_at": "2026-08-18T22:58:14+08:00"
    }
  ],
  "sources": [
    {
      "id": "project_version",
      "status": "ok",
      "rows": 1,
      "as_of": null,
      "modified_at": "2026-08-12T14:52:17+08:00",
      "optional": true
    },
    {
      "id": "rotation_account",
      "status": "ok",
      "rows": 1,
      "as_of": "2026-08-18",
      "modified_at": "2026-08-18T22:58:08+08:00",
      "optional": false
    },
    {
      "id": "rotation_positions",
      "status": "ok",
      "rows": 3,
      "as_of": "2026-08-18",
      "modified_at": "2026-08-18T22:58:08+08:00",
      "optional": false
    },
    {
      "id": "rotation_pending",
      "status": "ok",
      "rows": 2,
      "as_of": "2026-08-18",
      "modified_at": "2026-08-18T22:58:08+08:00",
      "optional": true
    },
    {
      "id": "rotation_pool",
      "status": "ok",
      "rows": 27,
      "as_of": "2026-08-18",
      "modified_at": "2026-08-18T22:58:08+08:00",
      "optional": false
    },
    {
      "id": "rotation_signals",
      "status": "ok",
      "rows": 4,
      "as_of": "2026-08-18",
      "modified_at": "2026-08-18T22:58:08+08:00",
      "optional": true
    },
    {
      "id": "rotation_candidates",
      "status": "ok",
      "rows": 3,
      "as_of": "2026-08-18",
      "modified_at": "2026-08-18T22:58:08+08:00",
      "optional": true
    },
    {
      "id": "rotation_guards",
      "status": "ok",
      "rows": 11,
      "as_of": null,
      "modified_at": "2026-08-18T22:58:08+08:00",
      "optional": true
    },
    {
      "id": "rotation_quality",
      "status": "ok",
      "rows": 27,
      "as_of": null,
      "modified_at": "2026-08-18T22:58:08+08:00",
      "optional": true
    },
    {
      "id": "dca_signal",
      "status": "ok",
      "rows": 1,
      "as_of": "2026-08-18",
      "modified_at": "2026-08-18T22:51:48+08:00",
      "optional": false
    },
    {
      "id": "dca_account",
      "status": "ok",
      "rows": 8,
      "as_of": "2026-08-18",
      "modified_at": "2026-08-18T22:51:48+08:00",
      "optional": false
    },
    {
      "id": "dca_targets",
      "status": "ok",
      "rows": 8,
      "as_of": "2026-08-18",
      "modified_at": "2026-08-18T22:51:48+08:00",
      "optional": false
    },
    {
      "id": "dca_weekly_plan",
      "status": "ok",
      "rows": 8,
      "as_of": "2026-08-18",
      "modified_at": "2026-08-18T22:51:48+08:00",
      "optional": true
    },
    {
      "id": "dca_pending",
      "status": "ok",
      "rows": 0,
      "as_of": null,
      "modified_at": "2026-08-18T22:51:48+08:00",
      "optional": true
    },
    {
      "id": "dca_quality",
      "status": "ok",
      "rows": 7,
      "as_of": null,
      "modified_at": "2026-08-18T22:51:48+08:00",
      "optional": true
    },
    {
      "id": "dca_valuations",
      "status": "ok",
      "rows": 3,
      "as_of": "2026-08-18",
      "modified_at": "2026-08-18T22:51:38+08:00",
      "optional": true
    },
    {
      "id": "dca_config",
      "status": "ok",
      "rows": 1,
      "as_of": null,
      "modified_at": "2026-08-13T20:38:14+08:00",
      "optional": true
    },
    {
      "id": "daily_run",
      "status": "ok",
      "rows": 1,
      "as_of": null,
      "modified_at": "2026-08-18T22:58:14+08:00",
      "optional": true
    },
    {
      "id": "xueqiu_sync",
      "status": "ok",
      "rows": 1,
      "as_of": null,
      "modified_at": "2026-08-18T22:58:10+08:00",
      "optional": true
    },
    {
      "id": "eastmoney_sync",
      "status": "ok",
      "rows": 1,
      "as_of": "2026-08-18",
      "modified_at": "2026-08-19T00:05:03+08:00",
      "optional": true
    },
    {
      "id": "wechat_push",
      "status": "ok",
      "rows": 1,
      "as_of": "2026-08-18",
      "modified_at": "2026-08-18T22:58:14+08:00",
      "optional": true
    }
  ],
  "warnings": []
}