{
  "schema_version": "market-tactical-agent-v1.1",
  "generated_at": "2026-08-19T06:42:09+09:00",
  "source_status": {
    "fmp": {
      "status": "ok",
      "quotes_ok": 20,
      "historical_ok": 20,
      "news_ok": 20,
      "calendar_ok": true,
      "symbols_failed": [],
      "symbols_requested": 20,
      "cache_enabled": true,
      "cache_hit_count": 1,
      "cache_miss_count": 65,
      "cache_hit_endpoints": {
        "earnings-calendar": 1
      },
      "cache_hit_endpoint_oldest_age_minutes": {
        "earnings-calendar": 1.1
      },
      "oldest_cache_hit_age_minutes": 1.1,
      "max_cache_age_minutes": 1.1,
      "quote_cache_ttl_minutes": 15,
      "news_cache_ttl_minutes": 30,
      "market_movers_cache_ttl_minutes": 15,
      "calendar_cache_ttl_minutes": 360,
      "symbols_failed_count": 0,
      "symbols_succeeded": 20
    },
    "jquants": {
      "status": "ok",
      "daily_ok": 24,
      "master_ok": 24,
      "earnings_calendar_ok": 24,
      "margin_interest_ok": 24,
      "financial_summary_ok": true,
      "capabilities": {
        "listed_info": "ok",
        "daily_bars": "ok",
        "earnings_calendar": "ok",
        "financial_summary": "ok",
        "financial_details": "unavailable",
        "margin_interest": "ok",
        "short_ratio": "unavailable",
        "trading_breakdown": "unavailable"
      },
      "symbols_failed": [],
      "symbols_requested": 24,
      "symbols_failed_count": 0,
      "symbols_succeeded": 24
    },
    "universe": {
      "mode": "curated_core_with_bounded_discovery",
      "generated_at": "2026-08-19T06:42:09+09:00",
      "curated": {
        "fmp_symbol_count": 17,
        "jp_symbol_count": 14,
        "exposure_theme_count": 4
      },
      "discovery": {
        "enabled": true,
        "lanes": [
          "event",
          "change",
          "pressure",
          "intraday"
        ],
        "fmp_event_extra_candidates": 1681,
        "fmp_event_extra_allowed": 1,
        "fmp_event_extra_selected": 3,
        "fmp_event_extra_candidates_raw": 1681,
        "fmp_event_extra_prefiltered": 3,
        "fmp_event_extra_deep_fetch_selected": 3,
        "fmp_event_extra_allowed_after_quality": 1,
        "fmp_event_extra_rejected_after_quality": 2,
        "fmp_market_discovery_candidates": 50,
        "fmp_market_discovery_allowed": 0,
        "fmp_market_discovery_rejected_missing_price": 0,
        "fmp_market_discovery_rejected_thin_exchange": 0,
        "fmp_market_discovery_rejected_low_dollar_volume": 50,
        "fmp_market_discovery_rejected_low_move": 0,
        "fmp_market_discovery_rejected_duplicate_or_curated": 0,
        "jp_discovery_candidates": 60,
        "jp_discovery_allowed": 10,
        "raw_candidate_count": 1822,
        "allowed_candidate_count": 44,
        "discovered_candidate_count": 13,
        "skipped_reasons": [],
        "discovered_signal_count": 8,
        "fmp_event_extra_signal_count": 3
      },
      "request_budget": {
        "max_fmp_quote_symbols": 50,
        "max_fmp_event_extra_symbols": 18,
        "max_fmp_market_discovery_raw": 50,
        "max_fmp_market_discovery_symbols": 15,
        "max_jp_deep_symbols": 40,
        "max_jp_discovery_symbols": 10,
        "max_total_external_requests_estimate": 280,
        "cache_ttl_minutes_quote": 15,
        "cache_ttl_minutes_news": 30,
        "cache_ttl_minutes_market_movers": 15,
        "cache_ttl_hours_calendar": 6,
        "cache_ttl_hours_historical_eod": 24,
        "cache_ttl_hours_master_listed": 24,
        "cache_ttl_hours_jq_daily_bars": 6
      },
      "request_estimate": 169,
      "candidates": [
        {
          "symbol": "NVDA",
          "market": "US",
          "source": "curated_core",
          "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
          "theme_hint": "Semiconductor / AI",
          "priority_hint": 100,
          "discovered": false,
          "name": "",
          "code": "",
          "dedupe_key": "FMP:NVDA"
        },
        {
          "symbol": "AMD",
          "market": "US",
          "source": "curated_core",
          "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
          "theme_hint": "Semiconductor / AI",
          "priority_hint": 100,
          "discovered": false,
          "name": "",
          "code": "",
          "dedupe_key": "FMP:AMD"
        },
        {
          "symbol": "AVGO",
          "market": "US",
          "source": "curated_core",
          "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
          "theme_hint": "Semiconductor / AI",
          "priority_hint": 100,
          "discovered": false,
          "name": "",
          "code": "",
          "dedupe_key": "FMP:AVGO"
        },
        {
          "symbol": "SMH",
          "market": "US ETF",
          "source": "curated_core",
          "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
          "theme_hint": "Semiconductor / AI",
          "priority_hint": 100,
          "discovered": false,
          "name": "",
          "code": "",
          "dedupe_key": "FMP:SMH"
        },
        {
          "symbol": "SOXX",
          "market": "US ETF",
          "source": "curated_core",
          "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
          "theme_hint": "Semiconductor / AI",
          "priority_hint": 100,
          "discovered": false,
          "name": "",
          "code": "",
          "dedupe_key": "FMP:SOXX"
        },
        {
          "symbol": "AAPL",
          "market": "US",
          "source": "curated_core",
          "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
          "theme_hint": "Mega-cap Tech",
          "priority_hint": 100,
          "discovered": false,
          "name": "",
          "code": "",
          "dedupe_key": "FMP:AAPL"
        },
        {
          "symbol": "MSFT",
          "market": "US",
          "source": "curated_core",
          "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
          "theme_hint": "Mega-cap Tech",
          "priority_hint": 100,
          "discovered": false,
          "name": "",
          "code": "",
          "dedupe_key": "FMP:MSFT"
        },
        {
          "symbol": "TSLA",
          "market": "US",
          "source": "curated_core",
          "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
          "theme_hint": "Auto / Growth",
          "priority_hint": 100,
          "discovered": false,
          "name": "",
          "code": "",
          "dedupe_key": "FMP:TSLA"
        },
        {
          "symbol": "COIN",
          "market": "US",
          "source": "curated_core",
          "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
          "theme_hint": "Crypto",
          "priority_hint": 100,
          "discovered": false,
          "name": "",
          "code": "",
          "dedupe_key": "FMP:COIN"
        },
        {
          "symbol": "MSTR",
          "market": "US",
          "source": "curated_core",
          "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
          "theme_hint": "Crypto",
          "priority_hint": 100,
          "discovered": false,
          "name": "",
          "code": "",
          "dedupe_key": "FMP:MSTR"
        },
        {
          "symbol": "BTCUSD",
          "market": "Crypto",
          "source": "curated_core",
          "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
          "theme_hint": "Crypto",
          "priority_hint": 100,
          "discovered": false,
          "name": "",
          "code": "",
          "dedupe_key": "FMP:BTCUSD"
        },
        {
          "symbol": "ETHUSD",
          "market": "Crypto",
          "source": "curated_core",
          "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
          "theme_hint": "Crypto",
          "priority_hint": 100,
          "discovered": false,
          "name": "",
          "code": "",
          "dedupe_key": "FMP:ETHUSD"
        },
        {
          "symbol": "USDJPY",
          "market": "FX",
          "source": "curated_core",
          "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
          "theme_hint": "USDJPY / Exporters",
          "priority_hint": 100,
          "discovered": false,
          "name": "",
          "code": "",
          "dedupe_key": "FMP:USDJPY"
        },
        {
          "symbol": "XOM",
          "market": "US",
          "source": "curated_core",
          "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
          "theme_hint": "Energy / Commodities",
          "priority_hint": 100,
          "discovered": false,
          "name": "",
          "code": "",
          "dedupe_key": "FMP:XOM"
        },
        {
          "symbol": "CVX",
          "market": "US",
          "source": "curated_core",
          "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
          "theme_hint": "Energy / Commodities",
          "priority_hint": 100,
          "discovered": false,
          "name": "",
          "code": "",
          "dedupe_key": "FMP:CVX"
        },
        {
          "symbol": "SPY",
          "market": "US ETF",
          "source": "curated_core",
          "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
          "theme_hint": "Major Indices",
          "priority_hint": 100,
          "discovered": false,
          "name": "",
          "code": "",
          "dedupe_key": "FMP:SPY"
        },
        {
          "symbol": "QQQ",
          "market": "US ETF",
          "source": "curated_core",
          "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
          "theme_hint": "Major Indices",
          "priority_hint": 100,
          "discovered": false,
          "name": "",
          "code": "",
          "dedupe_key": "FMP:QQQ"
        },
        {
          "symbol": "8035",
          "market": "JP",
          "source": "curated_core",
          "reason": "Curated Japan impact name in the Market Signal Radar core.",
          "theme_hint": "Semiconductor / AI",
          "priority_hint": 100,
          "discovered": false,
          "name": "東京エレクトロン",
          "code": "80350",
          "dedupe_key": "JP:8035"
        },
        {
          "symbol": "6857",
          "market": "JP",
          "source": "curated_core",
          "reason": "Curated Japan impact name in the Market Signal Radar core.",
          "theme_hint": "Semiconductor / AI",
          "priority_hint": 100,
          "discovered": false,
          "name": "アドバンテスト",
          "code": "68570",
          "dedupe_key": "JP:6857"
        },
        {
          "symbol": "6723",
          "market": "JP",
          "source": "curated_core",
          "reason": "Curated Japan impact name in the Market Signal Radar core.",
          "theme_hint": "Semiconductor / AI",
          "priority_hint": 100,
          "discovered": false,
          "name": "ルネサスエレクトロニクス",
          "code": "67230",
          "dedupe_key": "JP:6723"
        },
        {
          "symbol": "6920",
          "market": "JP",
          "source": "curated_core",
          "reason": "Curated Japan impact name in the Market Signal Radar core.",
          "theme_hint": "Semiconductor / AI",
          "priority_hint": 100,
          "discovered": false,
          "name": "レーザーテック",
          "code": "69200",
          "dedupe_key": "JP:6920"
        },
        {
          "symbol": "8698",
          "market": "JP",
          "source": "curated_core",
          "reason": "Curated Japan impact name in the Market Signal Radar core.",
          "theme_hint": "Crypto",
          "priority_hint": 100,
          "discovered": false,
          "name": "マネックスグループ",
          "code": "86980",
          "dedupe_key": "JP:8698"
        },
        {
          "symbol": "8473",
          "market": "JP",
          "source": "curated_core",
          "reason": "Curated Japan impact name in the Market Signal Radar core.",
          "theme_hint": "Crypto",
          "priority_hint": 100,
          "discovered": false,
          "name": "SBIホールディングス",
          "code": "84730",
          "dedupe_key": "JP:8473"
        },
        {
          "symbol": "7203",
          "market": "JP",
          "source": "curated_core",
          "reason": "Curated Japan impact name in the Market Signal Radar core.",
          "theme_hint": "USDJPY / Exporters",
          "priority_hint": 100,
          "discovered": false,
          "name": "トヨタ自動車",
          "code": "72030",
          "dedupe_key": "JP:7203"
        },
        {
          "symbol": "7267",
          "market": "JP",
          "source": "curated_core",
          "reason": "Curated Japan impact name in the Market Signal Radar core.",
          "theme_hint": "USDJPY / Exporters",
          "priority_hint": 100,
          "discovered": false,
          "name": "本田技研工業",
          "code": "72670",
          "dedupe_key": "JP:7267"
        },
        {
          "symbol": "6758",
          "market": "JP",
          "source": "curated_core",
          "reason": "Curated Japan impact name in the Market Signal Radar core.",
          "theme_hint": "USDJPY / Exporters",
          "priority_hint": 100,
          "discovered": false,
          "name": "ソニーグループ",
          "code": "67580",
          "dedupe_key": "JP:6758"
        },
        {
          "symbol": "6902",
          "market": "JP",
          "source": "curated_core",
          "reason": "Curated Japan impact name in the Market Signal Radar core.",
          "theme_hint": "USDJPY / Exporters",
          "priority_hint": 100,
          "discovered": false,
          "name": "デンソー",
          "code": "69020",
          "dedupe_key": "JP:6902"
        },
        {
          "symbol": "1605",
          "market": "JP",
          "source": "curated_core",
          "reason": "Curated Japan impact name in the Market Signal Radar core.",
          "theme_hint": "Energy / Commodities",
          "priority_hint": 100,
          "discovered": false,
          "name": "INPEX",
          "code": "16050",
          "dedupe_key": "JP:1605"
        },
        {
          "symbol": "5020",
          "market": "JP",
          "source": "curated_core",
          "reason": "Curated Japan impact name in the Market Signal Radar core.",
          "theme_hint": "Energy / Commodities",
          "priority_hint": 100,
          "discovered": false,
          "name": "ENEOSホールディングス",
          "code": "50200",
          "dedupe_key": "JP:5020"
        },
        {
          "symbol": "8058",
          "market": "JP",
          "source": "curated_core",
          "reason": "Curated Japan impact name in the Market Signal Radar core.",
          "theme_hint": "Energy / Commodities",
          "priority_hint": 100,
          "discovered": false,
          "name": "三菱商事",
          "code": "80580",
          "dedupe_key": "JP:8058"
        },
        {
          "symbol": "8001",
          "market": "JP",
          "source": "curated_core",
          "reason": "Curated Japan impact name in the Market Signal Radar core.",
          "theme_hint": "Energy / Commodities",
          "priority_hint": 100,
          "discovered": false,
          "name": "伊藤忠商事",
          "code": "80010",
          "dedupe_key": "JP:8001"
        },
        {
          "symbol": "FLUX",
          "market": "US",
          "source": "fmp_event_extra",
          "reason": "Bounded FMP earnings-calendar extra prequalified by market movers before liquidity/news filtering.",
          "theme_hint": "Event Calendar",
          "priority_hint": 125.0,
          "discovered": true,
          "name": "Flux Power Holdings, Inc.",
          "code": "",
          "dedupe_key": "FMP:FLUX"
        },
        {
          "symbol": "DVLT",
          "market": "US",
          "source": "fmp_event_extra",
          "reason": "Bounded FMP earnings-calendar extra prequalified by market movers before liquidity/news filtering.",
          "theme_hint": "Event Calendar",
          "priority_hint": 125.0,
          "discovered": true,
          "name": "Datavault AI Inc.",
          "code": "",
          "dedupe_key": "FMP:DVLT"
        },
        {
          "symbol": "IPST",
          "market": "US",
          "source": "fmp_event_extra",
          "reason": "Bounded FMP earnings-calendar extra prequalified by market movers before liquidity/news filtering.",
          "theme_hint": "Event Calendar",
          "priority_hint": 121.0,
          "discovered": true,
          "name": "IP Strategy Holdings, Inc.",
          "code": "",
          "dedupe_key": "FMP:IPST"
        },
        {
          "symbol": "9984",
          "market": "JP",
          "source": "fallback_seed",
          "reason": "Liquid technology holding company connected to US tech and AI risk tone.",
          "theme_hint": "Mega-cap Tech / AI",
          "priority_hint": 96.0,
          "discovered": true,
          "name": "SoftBank Group",
          "code": "99840",
          "dedupe_key": "JP:9984"
        },
        {
          "symbol": "9983",
          "market": "JP",
          "source": "fallback_seed",
          "reason": "Liquid index-heavy consumer name sensitive to broad Japan risk tone.",
          "theme_hint": "Consumer / Index Weight",
          "priority_hint": 94.0,
          "discovered": true,
          "name": "Fast Retailing",
          "code": "99830",
          "dedupe_key": "JP:9983"
        },
        {
          "symbol": "6861",
          "market": "JP",
          "source": "fallback_seed",
          "reason": "Liquid automation bellwether linked to global capex and semiconductor cycles.",
          "theme_hint": "Automation / Semiconductor",
          "priority_hint": 92.0,
          "discovered": true,
          "name": "Keyence",
          "code": "68610",
          "dedupe_key": "JP:6861"
        },
        {
          "symbol": "6146",
          "market": "JP",
          "source": "fallback_seed",
          "reason": "Liquid semiconductor equipment candidate connected to US chip moves.",
          "theme_hint": "Semiconductor / AI",
          "priority_hint": 91.0,
          "discovered": true,
          "name": "Disco",
          "code": "61460",
          "dedupe_key": "JP:6146"
        },
        {
          "symbol": "7735",
          "market": "JP",
          "source": "fallback_seed",
          "reason": "Liquid semiconductor equipment candidate connected to US chip moves.",
          "theme_hint": "Semiconductor / AI",
          "priority_hint": 90.0,
          "discovered": true,
          "name": "SCREEN Holdings",
          "code": "77350",
          "dedupe_key": "JP:7735"
        },
        {
          "symbol": "6981",
          "market": "JP",
          "source": "fallback_seed",
          "reason": "Liquid electronics exporter connected to USDJPY and US tech demand.",
          "theme_hint": "Electronics / Exporters",
          "priority_hint": 88.0,
          "discovered": true,
          "name": "Murata Manufacturing",
          "code": "69810",
          "dedupe_key": "JP:6981"
        },
        {
          "symbol": "6762",
          "market": "JP",
          "source": "fallback_seed",
          "reason": "Liquid component maker connected to US tech and currency sensitivity.",
          "theme_hint": "Electronics / Exporters",
          "priority_hint": 87.0,
          "discovered": true,
          "name": "TDK",
          "code": "67620",
          "dedupe_key": "JP:6762"
        },
        {
          "symbol": "6501",
          "market": "JP",
          "source": "fallback_seed",
          "reason": "Liquid industrial technology name connected to global capex tone.",
          "theme_hint": "Industrial Tech",
          "priority_hint": 86.0,
          "discovered": true,
          "name": "Hitachi",
          "code": "65010",
          "dedupe_key": "JP:6501"
        },
        {
          "symbol": "6503",
          "market": "JP",
          "source": "fallback_seed",
          "reason": "Liquid automation and electronics name connected to export and capex themes.",
          "theme_hint": "Industrial Tech",
          "priority_hint": 85.0,
          "discovered": true,
          "name": "Mitsubishi Electric",
          "code": "65030",
          "dedupe_key": "JP:6503"
        },
        {
          "symbol": "6954",
          "market": "JP",
          "source": "fallback_seed",
          "reason": "Liquid factory automation candidate connected to global manufacturing and USDJPY.",
          "theme_hint": "Automation / Exporters",
          "priority_hint": 84.0,
          "discovered": true,
          "name": "Fanuc",
          "code": "69540",
          "dedupe_key": "JP:6954"
        }
      ]
    }
  },
  "lanes": {
    "change": "Change Feed",
    "pressure": "Pressure Radar",
    "event": "Event Radar",
    "cross_market": "Japan ↔ US Cross-Market Radar",
    "intraday": "Intraday Radar"
  },
  "run_context": {
    "generated_at": "2026-08-19T06:42:09+09:00",
    "timezone": "Asia/Tokyo",
    "intended_run_window": "after_us_close_before_tokyo_open",
    "session_state_basis": "time_window_only_not_exchange_calendar",
    "us_session_state": "post_close_window",
    "tokyo_session_state": "pre_open_window",
    "driver_observation_date": "2026-08-18",
    "japan_trading_date": "2026-08-18",
    "jp_confirmation_available": false,
    "jp_confirmation_basis": "latest_japan_trading_date_precedes_generation_date_or_is_unavailable",
    "next_check": "Tokyo open"
  },
  "freshness": {
    "generated_at": "2026-08-19T06:42:09+09:00",
    "timezone": "Asia/Tokyo",
    "next_expected_refresh_at": "2026-08-20T06:20:00+09:00",
    "refresh_grace_minutes": 90,
    "schedule_basis": "after_us_close_before_tokyo_open",
    "stale_after_hours": 24,
    "expired_after_hours": 72,
    "status_at_generation": "fresh",
    "age_hours_at_generation": 0.0,
    "overdue_minutes_at_generation": 0.0,
    "freshness_policy": "schedule-aware browser state uses the published next refresh and grace window without rewriting generated_at"
  },
  "market_setup": {
    "title": "Overnight US → Japan Market Setup",
    "summary": "US AI → Japan Semiconductor leads the board, but US drivers and Tokyo prior-close alignment are mixed across baskets.",
    "primary_drivers": [
      {
        "title": "US AI → Japan Semiconductor",
        "driver_symbols": [
          "NVDA",
          "AMD",
          "AVGO",
          "SMH",
          "SOXX"
        ],
        "affected_basket_name": "Japan Semiconductor Equipment",
        "impact_score": 92
      },
      {
        "title": "Energy → Japan Resources / Trading Houses",
        "driver_symbols": [
          "XOM",
          "CVX"
        ],
        "affected_basket_name": "Japan Resources / Trading Houses",
        "impact_score": 72
      },
      {
        "title": "Crypto → Japan Brokers",
        "driver_symbols": [
          "BTCUSD",
          "ETHUSD",
          "COIN",
          "MSTR"
        ],
        "affected_basket_name": "Japan Crypto / Brokerage",
        "impact_score": 66
      },
      {
        "title": "USDJPY → Japan Exporters",
        "driver_symbols": [
          "USDJPY",
          "SPY",
          "QQQ"
        ],
        "affected_basket_name": "Japan Exporters",
        "impact_score": 55
      }
    ],
    "top_baskets": [
      "Japan Semiconductor Equipment",
      "Japan Resources / Trading Houses",
      "Japan Crypto / Brokerage",
      "Japan Exporters"
    ],
    "risk_tone": "mixed",
    "generated_at": "2026-08-19T06:42:09+09:00"
  },
  "universe": {
    "mode": "curated_core_with_bounded_discovery",
    "generated_at": "2026-08-19T06:42:09+09:00",
    "curated": {
      "fmp_symbol_count": 17,
      "jp_symbol_count": 14,
      "exposure_theme_count": 4
    },
    "discovery": {
      "enabled": true,
      "lanes": [
        "event",
        "change",
        "pressure",
        "intraday"
      ],
      "fmp_event_extra_candidates": 1681,
      "fmp_event_extra_allowed": 1,
      "fmp_event_extra_selected": 3,
      "fmp_event_extra_candidates_raw": 1681,
      "fmp_event_extra_prefiltered": 3,
      "fmp_event_extra_deep_fetch_selected": 3,
      "fmp_event_extra_allowed_after_quality": 1,
      "fmp_event_extra_rejected_after_quality": 2,
      "fmp_market_discovery_candidates": 50,
      "fmp_market_discovery_allowed": 0,
      "fmp_market_discovery_rejected_missing_price": 0,
      "fmp_market_discovery_rejected_thin_exchange": 0,
      "fmp_market_discovery_rejected_low_dollar_volume": 50,
      "fmp_market_discovery_rejected_low_move": 0,
      "fmp_market_discovery_rejected_duplicate_or_curated": 0,
      "jp_discovery_candidates": 60,
      "jp_discovery_allowed": 10,
      "raw_candidate_count": 1822,
      "allowed_candidate_count": 44,
      "discovered_candidate_count": 13,
      "skipped_reasons": [],
      "discovered_signal_count": 8,
      "fmp_event_extra_signal_count": 3
    },
    "request_budget": {
      "max_fmp_quote_symbols": 50,
      "max_fmp_event_extra_symbols": 18,
      "max_fmp_market_discovery_raw": 50,
      "max_fmp_market_discovery_symbols": 15,
      "max_jp_deep_symbols": 40,
      "max_jp_discovery_symbols": 10,
      "max_total_external_requests_estimate": 280,
      "cache_ttl_minutes_quote": 15,
      "cache_ttl_minutes_news": 30,
      "cache_ttl_minutes_market_movers": 15,
      "cache_ttl_hours_calendar": 6,
      "cache_ttl_hours_historical_eod": 24,
      "cache_ttl_hours_master_listed": 24,
      "cache_ttl_hours_jq_daily_bars": 6
    },
    "request_estimate": 169,
    "candidates": [
      {
        "symbol": "NVDA",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:NVDA"
      },
      {
        "symbol": "AMD",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:AMD"
      },
      {
        "symbol": "AVGO",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:AVGO"
      },
      {
        "symbol": "SMH",
        "market": "US ETF",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:SMH"
      },
      {
        "symbol": "SOXX",
        "market": "US ETF",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:SOXX"
      },
      {
        "symbol": "AAPL",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Mega-cap Tech",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:AAPL"
      },
      {
        "symbol": "MSFT",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Mega-cap Tech",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:MSFT"
      },
      {
        "symbol": "TSLA",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Auto / Growth",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:TSLA"
      },
      {
        "symbol": "COIN",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Crypto",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:COIN"
      },
      {
        "symbol": "MSTR",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Crypto",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:MSTR"
      },
      {
        "symbol": "BTCUSD",
        "market": "Crypto",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Crypto",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:BTCUSD"
      },
      {
        "symbol": "ETHUSD",
        "market": "Crypto",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Crypto",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:ETHUSD"
      },
      {
        "symbol": "USDJPY",
        "market": "FX",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "USDJPY / Exporters",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:USDJPY"
      },
      {
        "symbol": "XOM",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Energy / Commodities",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:XOM"
      },
      {
        "symbol": "CVX",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Energy / Commodities",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:CVX"
      },
      {
        "symbol": "SPY",
        "market": "US ETF",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Major Indices",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:SPY"
      },
      {
        "symbol": "QQQ",
        "market": "US ETF",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Major Indices",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:QQQ"
      },
      {
        "symbol": "8035",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "東京エレクトロン",
        "code": "80350",
        "dedupe_key": "JP:8035"
      },
      {
        "symbol": "6857",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "アドバンテスト",
        "code": "68570",
        "dedupe_key": "JP:6857"
      },
      {
        "symbol": "6723",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "ルネサスエレクトロニクス",
        "code": "67230",
        "dedupe_key": "JP:6723"
      },
      {
        "symbol": "6920",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "レーザーテック",
        "code": "69200",
        "dedupe_key": "JP:6920"
      },
      {
        "symbol": "8698",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Crypto",
        "priority_hint": 100,
        "discovered": false,
        "name": "マネックスグループ",
        "code": "86980",
        "dedupe_key": "JP:8698"
      },
      {
        "symbol": "8473",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Crypto",
        "priority_hint": 100,
        "discovered": false,
        "name": "SBIホールディングス",
        "code": "84730",
        "dedupe_key": "JP:8473"
      },
      {
        "symbol": "7203",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "USDJPY / Exporters",
        "priority_hint": 100,
        "discovered": false,
        "name": "トヨタ自動車",
        "code": "72030",
        "dedupe_key": "JP:7203"
      },
      {
        "symbol": "7267",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "USDJPY / Exporters",
        "priority_hint": 100,
        "discovered": false,
        "name": "本田技研工業",
        "code": "72670",
        "dedupe_key": "JP:7267"
      },
      {
        "symbol": "6758",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "USDJPY / Exporters",
        "priority_hint": 100,
        "discovered": false,
        "name": "ソニーグループ",
        "code": "67580",
        "dedupe_key": "JP:6758"
      },
      {
        "symbol": "6902",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "USDJPY / Exporters",
        "priority_hint": 100,
        "discovered": false,
        "name": "デンソー",
        "code": "69020",
        "dedupe_key": "JP:6902"
      },
      {
        "symbol": "1605",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Energy / Commodities",
        "priority_hint": 100,
        "discovered": false,
        "name": "INPEX",
        "code": "16050",
        "dedupe_key": "JP:1605"
      },
      {
        "symbol": "5020",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Energy / Commodities",
        "priority_hint": 100,
        "discovered": false,
        "name": "ENEOSホールディングス",
        "code": "50200",
        "dedupe_key": "JP:5020"
      },
      {
        "symbol": "8058",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Energy / Commodities",
        "priority_hint": 100,
        "discovered": false,
        "name": "三菱商事",
        "code": "80580",
        "dedupe_key": "JP:8058"
      },
      {
        "symbol": "8001",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Energy / Commodities",
        "priority_hint": 100,
        "discovered": false,
        "name": "伊藤忠商事",
        "code": "80010",
        "dedupe_key": "JP:8001"
      },
      {
        "symbol": "FLUX",
        "market": "US",
        "source": "fmp_event_extra",
        "reason": "Bounded FMP earnings-calendar extra prequalified by market movers before liquidity/news filtering.",
        "theme_hint": "Event Calendar",
        "priority_hint": 125.0,
        "discovered": true,
        "name": "Flux Power Holdings, Inc.",
        "code": "",
        "dedupe_key": "FMP:FLUX"
      },
      {
        "symbol": "DVLT",
        "market": "US",
        "source": "fmp_event_extra",
        "reason": "Bounded FMP earnings-calendar extra prequalified by market movers before liquidity/news filtering.",
        "theme_hint": "Event Calendar",
        "priority_hint": 125.0,
        "discovered": true,
        "name": "Datavault AI Inc.",
        "code": "",
        "dedupe_key": "FMP:DVLT"
      },
      {
        "symbol": "IPST",
        "market": "US",
        "source": "fmp_event_extra",
        "reason": "Bounded FMP earnings-calendar extra prequalified by market movers before liquidity/news filtering.",
        "theme_hint": "Event Calendar",
        "priority_hint": 121.0,
        "discovered": true,
        "name": "IP Strategy Holdings, Inc.",
        "code": "",
        "dedupe_key": "FMP:IPST"
      },
      {
        "symbol": "9984",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid technology holding company connected to US tech and AI risk tone.",
        "theme_hint": "Mega-cap Tech / AI",
        "priority_hint": 96.0,
        "discovered": true,
        "name": "SoftBank Group",
        "code": "99840",
        "dedupe_key": "JP:9984"
      },
      {
        "symbol": "9983",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid index-heavy consumer name sensitive to broad Japan risk tone.",
        "theme_hint": "Consumer / Index Weight",
        "priority_hint": 94.0,
        "discovered": true,
        "name": "Fast Retailing",
        "code": "99830",
        "dedupe_key": "JP:9983"
      },
      {
        "symbol": "6861",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid automation bellwether linked to global capex and semiconductor cycles.",
        "theme_hint": "Automation / Semiconductor",
        "priority_hint": 92.0,
        "discovered": true,
        "name": "Keyence",
        "code": "68610",
        "dedupe_key": "JP:6861"
      },
      {
        "symbol": "6146",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid semiconductor equipment candidate connected to US chip moves.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 91.0,
        "discovered": true,
        "name": "Disco",
        "code": "61460",
        "dedupe_key": "JP:6146"
      },
      {
        "symbol": "7735",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid semiconductor equipment candidate connected to US chip moves.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 90.0,
        "discovered": true,
        "name": "SCREEN Holdings",
        "code": "77350",
        "dedupe_key": "JP:7735"
      },
      {
        "symbol": "6981",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid electronics exporter connected to USDJPY and US tech demand.",
        "theme_hint": "Electronics / Exporters",
        "priority_hint": 88.0,
        "discovered": true,
        "name": "Murata Manufacturing",
        "code": "69810",
        "dedupe_key": "JP:6981"
      },
      {
        "symbol": "6762",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid component maker connected to US tech and currency sensitivity.",
        "theme_hint": "Electronics / Exporters",
        "priority_hint": 87.0,
        "discovered": true,
        "name": "TDK",
        "code": "67620",
        "dedupe_key": "JP:6762"
      },
      {
        "symbol": "6501",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid industrial technology name connected to global capex tone.",
        "theme_hint": "Industrial Tech",
        "priority_hint": 86.0,
        "discovered": true,
        "name": "Hitachi",
        "code": "65010",
        "dedupe_key": "JP:6501"
      },
      {
        "symbol": "6503",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid automation and electronics name connected to export and capex themes.",
        "theme_hint": "Industrial Tech",
        "priority_hint": 85.0,
        "discovered": true,
        "name": "Mitsubishi Electric",
        "code": "65030",
        "dedupe_key": "JP:6503"
      },
      {
        "symbol": "6954",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid factory automation candidate connected to global manufacturing and USDJPY.",
        "theme_hint": "Automation / Exporters",
        "priority_hint": 84.0,
        "discovered": true,
        "name": "Fanuc",
        "code": "69540",
        "dedupe_key": "JP:6954"
      }
    ]
  },
  "tactical_summary": {
    "primary_theme": "Semiconductor",
    "theme_id": "semiconductor",
    "signal_id": "cross-us_ai_japan_semiconductor",
    "primary_impact_theme": {
      "signal_id": "cross-us_ai_japan_semiconductor",
      "theme_id": "semiconductor",
      "theme_label": "Semiconductor",
      "impact_score": 92,
      "priority_score": 0.89,
      "actionability_score": 0.82,
      "watch_priority_score": 0.6,
      "reviewability_score": 0.82,
      "divergence": "Aligned",
      "follow_fade_bias": "Provisional follow",
      "scenario_bias": "Provisional follow",
      "confidence": 0.74,
      "confidence_label": "Medium-High",
      "pre_open_watch": [
        "SOX/NVDA",
        "Nikkei futures",
        "USDJPY",
        "JP basket dispersion"
      ],
      "watch_reason": "Semiconductor breadth needs a Tokyo opening check despite aligned overseas input."
    },
    "primary_watch_theme": {
      "signal_id": "cross-usdjpy_japan_exporters",
      "theme_id": "exporters",
      "theme_label": "Exporters",
      "impact_score": 55,
      "priority_score": 0.58,
      "actionability_score": 0.32,
      "watch_priority_score": 0.6,
      "reviewability_score": 0.32,
      "divergence": "Mixed",
      "follow_fade_bias": "Opening check required",
      "scenario_bias": "Opening check required",
      "confidence": 0.46,
      "confidence_label": "Medium",
      "pre_open_watch": [
        "USDJPY",
        "US index futures",
        "Nikkei futures",
        "US peer stocks"
      ],
      "watch_reason": "Exporter participation is split while FX and US index tone are active."
    },
    "headline": "Primary impact is Semiconductor; Exporters is the highest watch-risk theme.",
    "body": "Semiconductor is the main impact theme: US drivers and Tokyo prior-close direction are aligned enough to monitor follow-through. Exporters is the highest watch-risk theme because exporter participation is split while FX and US index tone are active.",
    "watchline": "Watch before open: SOX/NVDA, Nikkei futures, USDJPY, US index futures.",
    "divergence": "Aligned",
    "follow_fade_bias": "Provisional follow",
    "scenario_bias": "Provisional follow",
    "confidence": 0.74,
    "confidence_label": "Medium-High"
  },
  "theme_priority_ranking": [
    {
      "rank": 1,
      "signal_id": "cross-us_ai_japan_semiconductor",
      "theme_id": "semiconductor",
      "theme_label": "Semiconductor",
      "priority_score": 0.89,
      "actionability_score": 0.82,
      "reviewability_score": 0.82,
      "watch_priority_score": 0.6,
      "divergence": "Aligned",
      "follow_fade_bias": "Provisional follow",
      "scenario_bias": "Provisional follow",
      "confidence": 0.74,
      "confidence_label": "Medium-High",
      "pre_open_watch": [
        "SOX/NVDA",
        "Nikkei futures",
        "USDJPY",
        "JP basket dispersion"
      ],
      "leader_laggard": {
        "leaders": [
          {
            "code": "8035",
            "name": "東京エレクトロン",
            "score": 1.0,
            "reason": "Stronger recent reaction inside the Japan Semiconductor Equipment basket."
          }
        ],
        "laggards": [
          {
            "code": "6723",
            "name": "ルネサスエレクトロニクス",
            "score": 0.71,
            "reason": "Theme fit is present, but recent reaction is weaker than basket peers."
          }
        ],
        "note": ""
      },
      "primary_flags": {
        "is_primary_impact": true,
        "is_primary_watch": false,
        "legacy_is_primary_theme": true
      },
      "is_primary_impact": true,
      "is_primary_watch": false
    },
    {
      "rank": 2,
      "signal_id": "cross-energy_japan_resources_trading_houses",
      "theme_id": "energy",
      "theme_label": "Energy / Trading Houses",
      "priority_score": 0.86,
      "actionability_score": 0.78,
      "reviewability_score": 0.78,
      "watch_priority_score": 0.56,
      "divergence": "Aligned",
      "follow_fade_bias": "Provisional follow",
      "scenario_bias": "Provisional follow",
      "confidence": 0.74,
      "confidence_label": "Medium-High",
      "pre_open_watch": [
        "WTI",
        "XOM/CVX",
        "USDJPY",
        "Trading company reaction"
      ],
      "leader_laggard": {
        "leaders": [
          {
            "code": "1605",
            "name": "ＩＮＰＥＸ",
            "score": 0.91,
            "reason": "Stronger recent reaction inside the Japan Resources / Trading Houses basket."
          }
        ],
        "laggards": [
          {
            "code": "8001",
            "name": "伊藤忠商事",
            "score": 0.56,
            "reason": "Theme fit is present, but recent reaction is weaker than basket peers."
          }
        ],
        "note": ""
      },
      "primary_flags": {
        "is_primary_impact": false,
        "is_primary_watch": false,
        "legacy_is_primary_theme": false
      },
      "is_primary_impact": false,
      "is_primary_watch": false
    },
    {
      "rank": 3,
      "signal_id": "cross-usdjpy_japan_exporters",
      "theme_id": "exporters",
      "theme_label": "Exporters",
      "priority_score": 0.58,
      "actionability_score": 0.32,
      "reviewability_score": 0.32,
      "watch_priority_score": 0.6,
      "divergence": "Mixed",
      "follow_fade_bias": "Opening check required",
      "scenario_bias": "Opening check required",
      "confidence": 0.46,
      "confidence_label": "Medium",
      "pre_open_watch": [
        "USDJPY",
        "US index futures",
        "Nikkei futures",
        "US peer stocks"
      ],
      "leader_laggard": {
        "leaders": [
          {
            "code": "6758",
            "name": "ソニーグループ",
            "score": 0.71,
            "reason": "Stronger recent reaction inside the Japan Exporters basket."
          }
        ],
        "laggards": [
          {
            "code": "7267",
            "name": "本田技研工業",
            "score": 0.31,
            "reason": "Theme fit is present, but recent reaction is weaker than basket peers."
          }
        ],
        "note": ""
      },
      "primary_flags": {
        "is_primary_impact": false,
        "is_primary_watch": true,
        "legacy_is_primary_theme": false
      },
      "is_primary_impact": false,
      "is_primary_watch": true
    },
    {
      "rank": 4,
      "signal_id": "cross-crypto_japan_brokers",
      "theme_id": "crypto",
      "theme_label": "Crypto / Brokerage",
      "priority_score": 0.48,
      "actionability_score": 0.42,
      "reviewability_score": 0.42,
      "watch_priority_score": 0.46,
      "divergence": "Resilient",
      "follow_fade_bias": "Local-only / fragile",
      "scenario_bias": "Local-only / fragile",
      "confidence": 0.31,
      "confidence_label": "Low-Medium",
      "pre_open_watch": [
        "BTC",
        "ETH",
        "COIN/MSTR",
        "USDJPY"
      ],
      "leader_laggard": {
        "leaders": [
          {
            "code": "8473",
            "name": "ＳＢＩホールディングス",
            "score": 0.48,
            "reason": "Stronger recent reaction inside the Japan Crypto / Brokerage basket."
          }
        ],
        "laggards": [
          {
            "code": "8698",
            "name": "マネックスグループ",
            "score": 0.37,
            "reason": "Theme fit is present, but recent reaction is weaker than basket peers."
          }
        ],
        "note": ""
      },
      "primary_flags": {
        "is_primary_impact": false,
        "is_primary_watch": false,
        "legacy_is_primary_theme": false
      },
      "is_primary_impact": false,
      "is_primary_watch": false
    }
  ],
  "methodology": {
    "version": "tactical-layer-v1.1",
    "llm_used": false,
    "summary_generation": "deterministic_template",
    "score_policy": "uncalibrated_heuristic",
    "score_explanation": "Scores are deterministic, uncalibrated heuristics for ranking attention, not backtested probabilities.",
    "generated_at": "2026-08-19T06:42:09+09:00"
  },
  "signals": [
    {
      "lane": "cross_market",
      "symbol": "US AI → Japan Semiconductor",
      "name": "US AI → Japan Semiconductor",
      "market": "US / JP",
      "signal_type": "Cross-Market Impact",
      "score": 92,
      "primary_change": "Japan Semiconductor Equipment is the Japan basket to watch from US AI: US driver -3.8% vs JP basket -4.7%.",
      "evidence": [
        "Driver summary: US AI driver negative (-3.8% avg, 3.8% avg abs)",
        "Japan basket: Japan Semiconductor Equipment negative (-4.7% avg, 0.8x avg volume)",
        "Impact score: 92",
        "Heuristic rank: 74/100",
        "US direction: negative",
        "JP direction: negative",
        "JP average volume: 0.8x",
        "Tokyo alignment state: Directionally aligned, volume not yet validated; strength moderate",
        "Top driver moves: SOXX -5.0%, AMD -4.3%",
        "JP volume check: 6723 0.8x vol, 8035 0.8x vol",
        "Score parts: driver 30, catalyst 18, basket 18, Japan 20, gap 6, stale -0"
      ],
      "sources": [
        "FMP",
        "J-Quants"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "cross_market_impact",
      "trigger_strength": "moderate",
      "market_date": "2026-08-19",
      "market_date_basis": "radar_generation_date",
      "session": "cross_market",
      "is_top_candidate": true,
      "signal_id": "cross-us_ai_japan_semiconductor",
      "driver_market": "US",
      "driver_symbols": [
        "NVDA",
        "AMD",
        "AVGO",
        "SMH",
        "SOXX"
      ],
      "driver_event_type": "ai_semiconductor",
      "driver_observation_date": "2026-08-18",
      "driver_as_of": "2026-08-18",
      "affected_market": "JP",
      "affected_symbols": [
        "8035",
        "6857",
        "6723",
        "6920"
      ],
      "affected_basket_name": "Japan Semiconductor Equipment",
      "japan_trading_date": "2026-08-18",
      "japan_as_of": "2026-08-18",
      "alignment_window": {
        "basis": "latest_available_source_observation_dates",
        "driver_observation_date": "2026-08-18",
        "japan_trading_date": "2026-08-18",
        "calendar_day_gap": 0,
        "relationship": "same_calendar_date"
      },
      "impact_score": 92,
      "confidence": 0.74,
      "why_it_matters": "US semiconductor leadership can set the first read for Tokyo semiconductor equipment. The useful signal is whether Tokyo open breadth and volume extend the overseas move.",
      "next_check": [
        "US semiconductor basket continuation",
        "Tokyo open volume",
        "8035/6857 first-hour volume check"
      ],
      "invalid_if": [
        "US semiconductor basket reverses",
        "Japan semiconductor basket lacks volume-backed follow-through"
      ],
      "source_freshness": {
        "fmp": "quote snapshot through 2026-08-18; news 36 in 24h / 50 in 7d",
        "jquants": "daily bars through 2026-08-18"
      },
      "api_sources": [
        "FMP quote",
        "FMP historical_eod",
        "FMP stock_news",
        "J-Quants daily_bars",
        "J-Quants listed_info"
      ],
      "universe_source": "exposure_map",
      "discovered": false,
      "discovery_reason": "Curated cross-market exposure theme.",
      "tactical": {
        "theme_id": "semiconductor",
        "theme_label": "Semiconductor",
        "priority_rank": 1,
        "priority_score": 0.89,
        "actionability_score": 0.82,
        "reviewability_score": 0.82,
        "watch_priority_score": 0.6,
        "is_primary_theme": true,
        "us_catalyst": {
          "label": "SOX/NVDA strength",
          "direction": "negative",
          "strength": 0.96,
          "evidence": [
            "SOXX",
            "AMD",
            "SMH",
            "AVGO"
          ]
        },
        "jp_basket_state": {
          "label": "prior close aligned",
          "reaction_score": 0.86,
          "dispersion": 0.44,
          "state": "prior_close_aligned"
        },
        "divergence": {
          "label": "Aligned",
          "score": 0.6,
          "expected_direction": "negative",
          "actual_reaction": "prior-close aligned",
          "reason": "US catalyst and Japan basket direction are aligned."
        },
        "confidence": {
          "score": 0.74,
          "label": "Medium-High",
          "components": {
            "us_signal_strength": 0.96,
            "jp_basket_fit": 0.92,
            "recent_reaction_alignment": 0.64,
            "freshness": 0.86,
            "liquidity_or_basket_quality": 0.75,
            "us_driver_agreement": 1.0,
            "jp_basket_breadth": 1.0,
            "directional_cleanliness": 0.9,
            "dispersion_penalty": -0.1,
            "regime_penalty": 0.0,
            "missing_data_penalty": -0.0,
            "basket_size_penalty": -0.0,
            "driver_dispersion_penalty": -0.04
          },
          "explanation": "US signal high / JP fit high / driver agreement high / breadth high / freshness high. Basket dispersion reduces signal quality."
        },
        "follow_fade_bias": {
          "label": "Provisional follow",
          "score": 0.6,
          "reason": "The theme is directionally aligned, but breadth and volume quality are still partial."
        },
        "scenario_bias": {
          "label": "Provisional follow",
          "score": 0.6,
          "reason": "The theme is directionally aligned, but breadth and volume quality are still partial."
        },
        "pre_open_watch": [
          {
            "factor": "SOX/NVDA",
            "watch_type": "opening_check",
            "invalidates_when": "US semiconductor proxies lose overnight strength",
            "reason": "SOX/NVDA is a pre-open check for Semiconductor quality."
          },
          {
            "factor": "Nikkei futures",
            "watch_type": "opening_check",
            "invalidates_when": "Futures fail to follow US semiconductor strength",
            "reason": "Nikkei futures is a pre-open check for Semiconductor quality."
          },
          {
            "factor": "USDJPY",
            "watch_type": "opening_check",
            "invalidates_when": "JPY strengthens against the tech/export setup",
            "reason": "USDJPY is a pre-open check for Semiconductor quality."
          },
          {
            "factor": "JP basket dispersion",
            "watch_type": "opening_check",
            "invalidates_when": "8035/6857/6920 do not move in the same direction",
            "reason": "JP basket dispersion is a pre-open check for Semiconductor quality."
          }
        ],
        "leaders": [
          {
            "code": "8035",
            "name": "東京エレクトロン",
            "score": 1.0,
            "reason": "Stronger recent reaction inside the Japan Semiconductor Equipment basket."
          }
        ],
        "laggards": [
          {
            "code": "6723",
            "name": "ルネサスエレクトロニクス",
            "score": 0.71,
            "reason": "Theme fit is present, but recent reaction is weaker than basket peers."
          }
        ],
        "leader_laggard_note": "",
        "summary": {
          "headline": "Semiconductor is the primary tactical theme today.",
          "body": "Overseas input: SOX/NVDA strength. Tokyo prior-close move in the Japan Semiconductor Equipment basket is prior close aligned. Divergence is Aligned; scenario is Provisional follow.",
          "watchline": "Watch before open: SOX/NVDA, Nikkei futures, USDJPY, JP basket dispersion."
        },
        "source": {
          "llm_used": false,
          "summary_generation": "deterministic_template",
          "us_avg_move": -3.77,
          "jp_avg_move": -4.67,
          "jp_avg_volume": 0.78
        },
        "primary_flags": {
          "is_primary_impact": true,
          "is_primary_watch": false,
          "legacy_is_primary_theme": true
        }
      }
    },
    {
      "lane": "cross_market",
      "symbol": "Energy → Japan Resources / Trading Houses",
      "name": "Energy → Japan Resources / Trading Houses",
      "market": "US / JP",
      "signal_type": "Cross-Market Impact",
      "score": 72,
      "primary_change": "Japan Resources / Trading Houses is the Japan basket to watch from Energy: US driver +2.0% vs JP basket +1.8%.",
      "evidence": [
        "Driver summary: Energy driver positive (+2.0% avg, 2.0% avg abs)",
        "Japan basket: Japan Resources / Trading Houses positive (+1.8% avg, 0.8x avg volume)",
        "Impact score: 72",
        "Heuristic rank: 74/100",
        "US direction: positive",
        "JP direction: positive",
        "JP average volume: 0.8x",
        "Tokyo alignment state: Directionally aligned, volume not yet validated; strength moderate",
        "Top driver moves: XOM +2.6%, CVX +1.5%",
        "JP volume check: 1605 1.0x vol, 5020 0.8x vol",
        "Score parts: driver 17, catalyst 18, basket 18, Japan 15, gap 4, stale -0"
      ],
      "sources": [
        "FMP",
        "J-Quants"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "cross_market_impact",
      "trigger_strength": "moderate",
      "market_date": "2026-08-19",
      "market_date_basis": "radar_generation_date",
      "session": "cross_market",
      "is_top_candidate": true,
      "signal_id": "cross-energy_japan_resources_trading_houses",
      "driver_market": "US Energy",
      "driver_symbols": [
        "XOM",
        "CVX"
      ],
      "driver_event_type": "energy_commodity",
      "driver_observation_date": "2026-08-18",
      "driver_as_of": "2026-08-18",
      "affected_market": "JP",
      "affected_symbols": [
        "1605",
        "5020",
        "8058",
        "8001"
      ],
      "affected_basket_name": "Japan Resources / Trading Houses",
      "japan_trading_date": "2026-08-18",
      "japan_as_of": "2026-08-18",
      "alignment_window": {
        "basis": "latest_available_source_observation_dates",
        "driver_observation_date": "2026-08-18",
        "japan_trading_date": "2026-08-18",
        "calendar_day_gap": 0,
        "relationship": "same_calendar_date"
      },
      "impact_score": 72,
      "confidence": 0.74,
      "why_it_matters": "Energy majors frame the first read for Japanese resource and trading-house sensitivity, with a separate cost-pressure read for import-heavy names.",
      "next_check": [
        "XOM/CVX continuation",
        "resource and trading-house basket reaction",
        "cost-pressure split between resource and import-cost names"
      ],
      "invalid_if": [
        "energy move fades",
        "Japan resource basket does not align"
      ],
      "source_freshness": {
        "fmp": "quote snapshot through 2026-08-18; news 11 in 24h / 24 in 7d",
        "jquants": "daily bars through 2026-08-18"
      },
      "api_sources": [
        "FMP quote",
        "FMP historical_eod",
        "FMP stock_news",
        "J-Quants daily_bars",
        "J-Quants listed_info"
      ],
      "universe_source": "exposure_map",
      "discovered": false,
      "discovery_reason": "Curated cross-market exposure theme.",
      "tactical": {
        "theme_id": "energy",
        "theme_label": "Energy / Trading Houses",
        "priority_rank": 2,
        "priority_score": 0.86,
        "actionability_score": 0.78,
        "reviewability_score": 0.78,
        "watch_priority_score": 0.56,
        "is_primary_theme": false,
        "us_catalyst": {
          "label": "US energy majors",
          "direction": "positive",
          "strength": 0.68,
          "evidence": [
            "XOM",
            "CVX"
          ]
        },
        "jp_basket_state": {
          "label": "prior close aligned",
          "reaction_score": 0.82,
          "dispersion": 0.26,
          "state": "prior_close_aligned"
        },
        "divergence": {
          "label": "Aligned",
          "score": 0.62,
          "expected_direction": "positive",
          "actual_reaction": "prior-close aligned",
          "reason": "US catalyst and Japan basket direction are aligned."
        },
        "confidence": {
          "score": 0.74,
          "label": "Medium-High",
          "components": {
            "us_signal_strength": 0.68,
            "jp_basket_fit": 0.92,
            "recent_reaction_alignment": 0.64,
            "freshness": 0.86,
            "liquidity_or_basket_quality": 0.75,
            "us_driver_agreement": 1.0,
            "jp_basket_breadth": 1.0,
            "directional_cleanliness": 0.9,
            "dispersion_penalty": -0.06,
            "regime_penalty": 0.0,
            "missing_data_penalty": -0.0,
            "basket_size_penalty": -0.0,
            "driver_dispersion_penalty": -0.02
          },
          "explanation": "US signal medium-high / JP fit high / driver agreement high / breadth high / freshness high."
        },
        "follow_fade_bias": {
          "label": "Provisional follow",
          "score": 0.6,
          "reason": "The theme is directionally aligned, but breadth and volume quality are still partial."
        },
        "scenario_bias": {
          "label": "Provisional follow",
          "score": 0.6,
          "reason": "The theme is directionally aligned, but breadth and volume quality are still partial."
        },
        "pre_open_watch": [
          {
            "factor": "WTI",
            "watch_type": "opening_check",
            "invalidates_when": "Oil diverges from the energy-major move",
            "reason": "WTI is a pre-open check for Energy / Trading Houses quality."
          },
          {
            "factor": "XOM/CVX",
            "watch_type": "opening_check",
            "invalidates_when": "US energy majors split direction",
            "reason": "XOM/CVX is a pre-open check for Energy / Trading Houses quality."
          },
          {
            "factor": "USDJPY",
            "watch_type": "opening_check",
            "invalidates_when": "FX move offsets resource sensitivity",
            "reason": "USDJPY is a pre-open check for Energy / Trading Houses quality."
          },
          {
            "factor": "Trading company reaction",
            "watch_type": "opening_check",
            "invalidates_when": "8058/8001 do not participate together",
            "reason": "Trading company reaction is a pre-open check for Energy / Trading Houses quality."
          }
        ],
        "leaders": [
          {
            "code": "1605",
            "name": "ＩＮＰＥＸ",
            "score": 0.91,
            "reason": "Stronger recent reaction inside the Japan Resources / Trading Houses basket."
          }
        ],
        "laggards": [
          {
            "code": "8001",
            "name": "伊藤忠商事",
            "score": 0.56,
            "reason": "Theme fit is present, but recent reaction is weaker than basket peers."
          }
        ],
        "leader_laggard_note": "",
        "summary": {
          "headline": "Energy / Trading Houses is a tactical theme to monitor today.",
          "body": "Overseas input: US energy majors. Tokyo prior-close move in the Japan Resources / Trading Houses basket is prior close aligned. Divergence is Aligned; scenario is Provisional follow.",
          "watchline": "Watch before open: WTI, XOM/CVX, USDJPY, Trading company reaction."
        },
        "source": {
          "llm_used": false,
          "summary_generation": "deterministic_template",
          "us_avg_move": 2.04,
          "jp_avg_move": 1.77,
          "jp_avg_volume": 0.78
        },
        "primary_flags": {
          "is_primary_impact": false,
          "is_primary_watch": false,
          "legacy_is_primary_theme": false
        }
      }
    },
    {
      "lane": "cross_market",
      "symbol": "Crypto → Japan Brokers",
      "name": "Crypto → Japan Brokers",
      "market": "US / JP",
      "signal_type": "Cross-Market Impact",
      "score": 66,
      "primary_change": "Japan Crypto / Brokerage is the Japan basket to watch from Crypto: US driver -2.0% vs JP basket +0.6%.",
      "evidence": [
        "Driver summary: Crypto driver negative (-2.0% avg, 2.1% avg abs)",
        "Japan basket: Japan Crypto / Brokerage positive (+0.6% avg, 0.5x avg volume)",
        "Impact score: 66",
        "Heuristic rank: 31/100",
        "US direction: negative",
        "JP direction: positive",
        "JP average volume: 0.5x",
        "Tokyo alignment state: Divergence watch; strength moderate",
        "Top driver moves: MSTR -5.3%, COIN -2.9%",
        "JP volume check: 8698 0.6x vol, 8473 0.5x vol",
        "Score parts: driver 23, catalyst 18, basket 18, Japan 3, gap 4, stale -0"
      ],
      "sources": [
        "FMP",
        "J-Quants"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "cross_market_impact",
      "trigger_strength": "moderate",
      "market_date": "2026-08-19",
      "market_date_basis": "radar_generation_date",
      "session": "cross_market",
      "is_top_candidate": true,
      "signal_id": "cross-crypto_japan_brokers",
      "driver_market": "Crypto / US",
      "driver_symbols": [
        "BTCUSD",
        "ETHUSD",
        "COIN",
        "MSTR"
      ],
      "driver_event_type": "crypto_risk",
      "driver_observation_date": "2026-08-18",
      "driver_as_of": "2026-08-18",
      "affected_market": "JP",
      "affected_symbols": [
        "8698",
        "8473"
      ],
      "affected_basket_name": "Japan Crypto / Brokerage",
      "japan_trading_date": "2026-08-18",
      "japan_as_of": "2026-08-18",
      "alignment_window": {
        "basis": "latest_available_source_observation_dates",
        "driver_observation_date": "2026-08-18",
        "japan_trading_date": "2026-08-18",
        "calendar_day_gap": 0,
        "relationship": "same_calendar_date"
      },
      "impact_score": 66,
      "confidence": 0.31,
      "why_it_matters": "Crypto and crypto-linked US equities can translate into risk appetite for Japanese brokerage and online financial names. The cleanest read needs spot crypto and listed proxies to move together.",
      "next_check": [
        "BTC/ETH continuation",
        "COIN/MSTR listed-proxy check",
        "8698/8473 volume reaction"
      ],
      "invalid_if": [
        "BTC moves alone without COIN/MSTR listed-proxy alignment",
        "JP financial names do not react"
      ],
      "source_freshness": {
        "fmp": "quote snapshot through 2026-08-18; news 28 in 24h / 43 in 7d",
        "jquants": "daily bars through 2026-08-18"
      },
      "api_sources": [
        "FMP quote",
        "FMP historical_eod",
        "FMP stock_news",
        "J-Quants daily_bars",
        "J-Quants listed_info"
      ],
      "universe_source": "exposure_map",
      "discovered": false,
      "discovery_reason": "Curated cross-market exposure theme.",
      "tactical": {
        "theme_id": "crypto",
        "theme_label": "Crypto / Brokerage",
        "priority_rank": 4,
        "priority_score": 0.48,
        "actionability_score": 0.42,
        "reviewability_score": 0.42,
        "watch_priority_score": 0.46,
        "is_primary_theme": false,
        "us_catalyst": {
          "label": "BTC/ETH and listed crypto proxies",
          "direction": "negative",
          "strength": 0.61,
          "evidence": [
            "MSTR",
            "COIN",
            "BTCUSD",
            "ETHUSD"
          ]
        },
        "jp_basket_state": {
          "label": "resilient",
          "reaction_score": 0.55,
          "dispersion": 0.11,
          "state": "resilient"
        },
        "divergence": {
          "label": "Resilient",
          "score": 0.57,
          "expected_direction": "negative",
          "actual_reaction": "holding up",
          "reason": "US catalyst is negative, but the Japan basket is not aligned with weakness."
        },
        "confidence": {
          "score": 0.31,
          "label": "Low-Medium",
          "components": {
            "us_signal_strength": 0.61,
            "jp_basket_fit": 0.67,
            "recent_reaction_alignment": 0.25,
            "freshness": 0.86,
            "liquidity_or_basket_quality": 0.7,
            "us_driver_agreement": 0.68,
            "jp_basket_breadth": 0.25,
            "directional_cleanliness": 0.18,
            "dispersion_penalty": -0.02,
            "regime_penalty": 0.0,
            "missing_data_penalty": -0.0,
            "basket_size_penalty": -0.1,
            "driver_dispersion_penalty": -0.1
          },
          "explanation": "US signal medium-high / JP fit medium-high / driver agreement medium-high / breadth low / freshness high."
        },
        "follow_fade_bias": {
          "label": "Local-only / fragile",
          "score": 0.46,
          "reason": "Japan basket resilience is visible, but the overseas driver is not supportive."
        },
        "scenario_bias": {
          "label": "Local-only / fragile",
          "score": 0.46,
          "reason": "Japan basket resilience is visible, but the overseas driver is not supportive."
        },
        "pre_open_watch": [
          {
            "factor": "BTC",
            "watch_type": "opening_check",
            "invalidates_when": "Spot crypto direction splits or reverses",
            "reason": "BTC is a pre-open check for Crypto / Brokerage quality."
          },
          {
            "factor": "ETH",
            "watch_type": "opening_check",
            "invalidates_when": "Spot crypto direction splits or reverses",
            "reason": "ETH is a pre-open check for Crypto / Brokerage quality."
          },
          {
            "factor": "COIN/MSTR",
            "watch_type": "opening_check",
            "invalidates_when": "Listed crypto proxies diverge from spot crypto",
            "reason": "COIN/MSTR is a pre-open check for Crypto / Brokerage quality."
          },
          {
            "factor": "USDJPY",
            "watch_type": "opening_check",
            "invalidates_when": "FX move weakens risk appetite",
            "reason": "USDJPY is a pre-open check for Crypto / Brokerage quality."
          },
          {
            "factor": "JP crypto basket reaction",
            "watch_type": "opening_check",
            "invalidates_when": "8698 and 8473 do not participate together",
            "reason": "JP crypto basket reaction is a pre-open check for Crypto / Brokerage quality."
          }
        ],
        "leaders": [
          {
            "code": "8473",
            "name": "ＳＢＩホールディングス",
            "score": 0.48,
            "reason": "Stronger recent reaction inside the Japan Crypto / Brokerage basket."
          }
        ],
        "laggards": [
          {
            "code": "8698",
            "name": "マネックスグループ",
            "score": 0.37,
            "reason": "Theme fit is present, but recent reaction is weaker than basket peers."
          }
        ],
        "leader_laggard_note": "",
        "summary": {
          "headline": "Crypto / Brokerage is a tactical theme to monitor today.",
          "body": "Overseas input: BTC/ETH and listed crypto proxies. Tokyo prior-close move in the Japan Crypto / Brokerage basket is resilient. Divergence is Resilient; scenario is Local-only / fragile.",
          "watchline": "Watch before open: BTC, ETH, COIN/MSTR, USDJPY."
        },
        "source": {
          "llm_used": false,
          "summary_generation": "deterministic_template",
          "us_avg_move": -2.03,
          "jp_avg_move": 0.59,
          "jp_avg_volume": 0.55
        },
        "primary_flags": {
          "is_primary_impact": false,
          "is_primary_watch": false,
          "legacy_is_primary_theme": false
        }
      }
    },
    {
      "lane": "pressure",
      "symbol": "6981",
      "name": "村田製作所",
      "market": "JP",
      "signal_type": "Supply-Demand Pressure",
      "score": 70,
      "primary_change": "Volume 1.1x with price -9.6%",
      "evidence": [
        "Volume: 1.1x vs 20d avg",
        "Volume and price moved together",
        "Margin rows: 20",
        "Latest margin date: 2026-08-14",
        "Margin balance direction: rising",
        "Margin long/short volume ratio: 9.21x",
        "Sector: 電気機器",
        "Market segment: プライム"
      ],
      "sources": [
        "J-Quants"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "jp_turnover_watch",
      "trigger_strength": "moderate",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "jp_close",
      "is_top_candidate": true,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "fallback_seed",
      "discovered": true,
      "discovery_reason": "Liquid electronics exporter connected to USDJPY and US tech demand.",
      "tactical": {}
    },
    {
      "lane": "pressure",
      "symbol": "8035",
      "name": "東京エレクトロン",
      "market": "JP",
      "signal_type": "Supply-Demand Pressure",
      "score": 58,
      "primary_change": "Volume 0.8x with price -6.2%",
      "evidence": [
        "Volume: 0.8x vs 20d avg",
        "Volume and price moved together",
        "Margin rows: 20",
        "Latest margin date: 2026-08-14",
        "Margin balance direction: rising",
        "Margin long/short volume ratio: 13.44x",
        "Sector: 電気機器",
        "Market segment: プライム"
      ],
      "sources": [
        "J-Quants"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "jp_turnover_watch",
      "trigger_strength": "moderate",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "jp_close",
      "is_top_candidate": true,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated Japan impact name in the Market Signal Radar core.",
      "tactical": {}
    },
    {
      "lane": "pressure",
      "symbol": "6920",
      "name": "レーザーテック",
      "market": "JP",
      "signal_type": "Supply-Demand Pressure",
      "score": 55,
      "primary_change": "Volume 0.7x with price -5.7%",
      "evidence": [
        "Volume: 0.7x vs 20d avg",
        "Volume and price moved together",
        "Margin rows: 20",
        "Latest margin date: 2026-08-14",
        "Margin balance direction: rising",
        "Margin long/short volume ratio: 5.37x",
        "Sector: 電気機器",
        "Market segment: プライム"
      ],
      "sources": [
        "J-Quants"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "jp_turnover_watch",
      "trigger_strength": "watch",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "jp_close",
      "is_top_candidate": true,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated Japan impact name in the Market Signal Radar core.",
      "tactical": {}
    },
    {
      "lane": "pressure",
      "symbol": "6857",
      "name": "アドバンテスト",
      "market": "JP",
      "signal_type": "Supply-Demand Pressure",
      "score": 52,
      "primary_change": "Volume 0.7x with price -5.1%",
      "evidence": [
        "Volume: 0.7x vs 20d avg",
        "Volume and price moved together",
        "Margin rows: 20",
        "Latest margin date: 2026-08-14",
        "Margin balance direction: rising",
        "Margin long/short volume ratio: 0.92x",
        "Sector: 電気機器",
        "Market segment: プライム"
      ],
      "sources": [
        "J-Quants"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "jp_turnover_watch",
      "trigger_strength": "watch",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "jp_close",
      "is_top_candidate": true,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated Japan impact name in the Market Signal Radar core.",
      "tactical": {}
    },
    {
      "lane": "pressure",
      "symbol": "9984",
      "name": "ソフトバンクグループ",
      "market": "JP",
      "signal_type": "Supply-Demand Pressure",
      "score": 46,
      "primary_change": "Volume 1.2x with price -1.0%",
      "evidence": [
        "Volume: 1.2x vs 20d avg",
        "Volume and price moved together",
        "Margin rows: 20",
        "Latest margin date: 2026-08-14",
        "Margin balance direction: flat",
        "Margin long/short volume ratio: 9.08x",
        "Sector: 情報･通信業",
        "Market segment: プライム"
      ],
      "sources": [
        "J-Quants"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "jp_turnover_watch",
      "trigger_strength": "watch",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "jp_close",
      "is_top_candidate": true,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "fallback_seed",
      "discovered": true,
      "discovery_reason": "Liquid technology holding company connected to US tech and AI risk tone.",
      "tactical": {}
    },
    {
      "lane": "event",
      "symbol": "NVDA",
      "name": "NVIDIA Corporation",
      "market": "US",
      "signal_type": "Earnings Watch",
      "score": 84,
      "primary_change": "Earnings calendar in 7 calendar days",
      "evidence": [
        "Event date: 2026-08-26",
        "Event freshness: Upcoming Event",
        "Days until event: 7",
        "Volume: 0.9x vs 20d avg",
        "News count: 12 in 7d",
        "Liquidity: High",
        "Exchange: NASDAQ"
      ],
      "sources": [
        "FMP"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "earnings_watch",
      "trigger_strength": "strong",
      "market_date": "2026-08-26",
      "market_date_basis": "source_observation_date",
      "session": "us_regular",
      "is_top_candidate": true,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
      "tactical": {}
    },
    {
      "lane": "intraday",
      "symbol": "AMD",
      "name": "Advanced Micro Devices, Inc.",
      "market": "US",
      "signal_type": "Intraday Radar",
      "score": 55,
      "primary_change": "Relative volume 0.8x / gap -3.6%",
      "evidence": [
        "Relative Volume: 0.8x",
        "Gap: -3.6%",
        "Price change: -4.3%",
        "Catalyst: News within 24h",
        "Liquidity: High",
        "Sector Heat: Semiconductor / AI"
      ],
      "sources": [
        "FMP"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "gap_watch",
      "trigger_strength": "watch",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "us_regular",
      "is_top_candidate": true,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
      "tactical": {}
    },
    {
      "lane": "change",
      "symbol": "IPST",
      "name": "IP Strategy Holdings, Inc.",
      "market": "US",
      "signal_type": "Daily Change",
      "score": 98,
      "primary_change": "Price +113.3% / volume 6.3x vs recent avg",
      "evidence": [
        "Price change: +113.3%",
        "Volume: 6.3x vs 20d avg",
        "News freshness: 0 in 24h / 0 in 7d",
        "Exchange: NASDAQ"
      ],
      "sources": [
        "FMP"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "volume_spike",
      "trigger_strength": "strong",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "us_regular",
      "is_top_candidate": true,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "fmp_event_extra",
      "discovered": true,
      "discovery_reason": "Bounded FMP earnings-calendar extra prequalified by market movers before liquidity/news filtering.",
      "tactical": {}
    },
    {
      "lane": "change",
      "symbol": "AVGO",
      "name": "Broadcom Inc.",
      "market": "US",
      "signal_type": "Daily Change",
      "score": 73,
      "primary_change": "Price -3.2% / volume 1.3x vs recent avg",
      "evidence": [
        "Price change: -3.2%",
        "Volume: 1.3x vs 20d avg",
        "News freshness: 9 in 24h / 12 in 7d",
        "Exchange: NASDAQ"
      ],
      "sources": [
        "FMP"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "price_move",
      "trigger_strength": "moderate",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "us_regular",
      "is_top_candidate": true,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
      "tactical": {}
    },
    {
      "lane": "event",
      "symbol": "IPST",
      "name": "IP Strategy Holdings, Inc.",
      "market": "US",
      "signal_type": "Earnings Watch",
      "score": 98,
      "primary_change": "Earnings calendar in 14 calendar days",
      "evidence": [
        "Event date: 2026-09-02",
        "Event freshness: Upcoming Event",
        "Days until event: 14",
        "Volume: 6.3x vs 20d avg",
        "News count: 0 in 7d",
        "Liquidity: Moderate",
        "Exchange: NASDAQ"
      ],
      "sources": [
        "FMP"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "event_liquid_extra",
      "trigger_strength": "strong",
      "market_date": "2026-09-02",
      "market_date_basis": "source_observation_date",
      "session": "us_regular",
      "is_top_candidate": false,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "fmp_event_extra",
      "discovered": true,
      "discovery_reason": "Bounded FMP earnings-calendar extra prequalified by market movers before liquidity/news filtering.",
      "tactical": {}
    },
    {
      "lane": "event",
      "symbol": "IPST",
      "name": "IP Strategy Holdings, Inc.",
      "market": "US",
      "signal_type": "Earnings Watch",
      "score": 98,
      "primary_change": "Earnings calendar in 14 calendar days",
      "evidence": [
        "Event date: 2026-09-02",
        "Event freshness: Upcoming Event",
        "Days until event: 14",
        "Volume: 6.3x vs 20d avg",
        "News count: 0 in 7d",
        "Liquidity: Moderate",
        "Exchange: NASDAQ"
      ],
      "sources": [
        "FMP"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "event_liquid_extra",
      "trigger_strength": "strong",
      "market_date": "2026-09-02",
      "market_date_basis": "source_observation_date",
      "session": "us_regular",
      "is_top_candidate": false,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "fmp_event_extra",
      "discovered": true,
      "discovery_reason": "Bounded FMP earnings-calendar extra prequalified by market movers before liquidity/news filtering.",
      "tactical": {}
    },
    {
      "lane": "event",
      "symbol": "6981",
      "name": "村田製作所",
      "market": "JP",
      "signal_type": "Post-Earnings Reaction",
      "score": 97,
      "primary_change": "JP post-earnings reaction 2 calendar days after event",
      "evidence": [
        "Event date: 2026-08-17",
        "Event freshness: Fresh Event Reaction",
        "Event age: 2 calendar days ago",
        "Volume: 1.1x vs 20d avg",
        "Liquidity: High",
        "Sector: 電気機器"
      ],
      "sources": [
        "J-Quants"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "post_earnings_reaction",
      "trigger_strength": "strong",
      "market_date": "2026-08-17",
      "market_date_basis": "source_observation_date",
      "session": "jp_close",
      "is_top_candidate": false,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "fallback_seed",
      "discovered": true,
      "discovery_reason": "Liquid electronics exporter connected to USDJPY and US tech demand.",
      "tactical": {}
    },
    {
      "lane": "event",
      "symbol": "8035",
      "name": "東京エレクトロン",
      "market": "JP",
      "signal_type": "Post-Earnings Reaction",
      "score": 83,
      "primary_change": "JP post-earnings reaction 2 calendar days after event",
      "evidence": [
        "Event date: 2026-08-17",
        "Event freshness: Fresh Event Reaction",
        "Event age: 2 calendar days ago",
        "Volume: 0.8x vs 20d avg",
        "Liquidity: High",
        "Sector: 電気機器"
      ],
      "sources": [
        "J-Quants"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "post_earnings_reaction",
      "trigger_strength": "strong",
      "market_date": "2026-08-17",
      "market_date_basis": "source_observation_date",
      "session": "jp_close",
      "is_top_candidate": false,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated Japan impact name in the Market Signal Radar core.",
      "tactical": {}
    },
    {
      "lane": "intraday",
      "symbol": "6981",
      "name": "村田製作所",
      "market": "JP",
      "signal_type": "Daytrade Watch · JP",
      "score": 77,
      "primary_change": "Previous daily volume 1.1x with US theme watch",
      "evidence": [
        "Previous volume: 1.1x vs 20d avg",
        "Price change: -9.6%",
        "Theme link: Electronics / Exporters",
        "Sector: 電気機器"
      ],
      "sources": [
        "J-Quants"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "daytrade_watch_jp",
      "trigger_strength": "moderate",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "jp_close",
      "is_top_candidate": false,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "fallback_seed",
      "discovered": true,
      "discovery_reason": "Liquid electronics exporter connected to USDJPY and US tech demand.",
      "tactical": {}
    },
    {
      "lane": "change",
      "symbol": "AMD",
      "name": "Advanced Micro Devices, Inc.",
      "market": "US",
      "signal_type": "Daily Change",
      "score": 74,
      "primary_change": "Price -4.3% / volume 0.8x vs recent avg",
      "evidence": [
        "Price change: -4.3%",
        "Volume: 0.8x vs 20d avg",
        "News freshness: 12 in 24h / 12 in 7d",
        "Exchange: NASDAQ"
      ],
      "sources": [
        "FMP"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "price_move",
      "trigger_strength": "moderate",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "us_regular",
      "is_top_candidate": false,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
      "tactical": {}
    },
    {
      "lane": "change",
      "symbol": "6981",
      "name": "村田製作所",
      "market": "JP",
      "signal_type": "Daily Change",
      "score": 72,
      "primary_change": "Price -9.6% / volume 1.1x vs recent avg",
      "evidence": [
        "Price change: -9.6%",
        "Volume: 1.1x vs 20d avg",
        "Daily bar source: J-Quants V2",
        "Segment: プライム"
      ],
      "sources": [
        "J-Quants"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "price_move",
      "trigger_strength": "moderate",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "jp_close",
      "is_top_candidate": false,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "fallback_seed",
      "discovered": true,
      "discovery_reason": "Liquid electronics exporter connected to USDJPY and US tech demand.",
      "tactical": {}
    },
    {
      "lane": "change",
      "symbol": "MSTR",
      "name": "Strategy Inc",
      "market": "US",
      "signal_type": "Daily Change",
      "score": 67,
      "primary_change": "Price -5.3% / volume 1.0x vs recent avg",
      "evidence": [
        "Price change: -5.3%",
        "Volume: 1.0x vs 20d avg",
        "News freshness: 1 in 24h / 9 in 7d",
        "Exchange: NASDAQ"
      ],
      "sources": [
        "FMP"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "price_move",
      "trigger_strength": "moderate",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "us_regular",
      "is_top_candidate": false,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
      "tactical": {}
    },
    {
      "lane": "change",
      "symbol": "QQQ",
      "name": "Invesco QQQ Trust, Series 1",
      "market": "US ETF",
      "signal_type": "Daily Change",
      "score": 67,
      "primary_change": "Price -1.7% / volume 1.2x vs recent avg",
      "evidence": [
        "Price change: -1.7%",
        "Volume: 1.2x vs 20d avg",
        "News freshness: 5 in 24h / 12 in 7d",
        "Exchange: NASDAQ"
      ],
      "sources": [
        "FMP"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "daily_change",
      "trigger_strength": "moderate",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "us_regular",
      "is_top_candidate": false,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
      "tactical": {}
    },
    {
      "lane": "change",
      "symbol": "NVDA",
      "name": "NVIDIA Corporation",
      "market": "US",
      "signal_type": "Daily Change",
      "score": 66,
      "primary_change": "Price -2.3% / volume 0.9x vs recent avg",
      "evidence": [
        "Price change: -2.3%",
        "Volume: 0.9x vs 20d avg",
        "News freshness: 12 in 24h / 12 in 7d",
        "Exchange: NASDAQ"
      ],
      "sources": [
        "FMP"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "price_move",
      "trigger_strength": "moderate",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "us_regular",
      "is_top_candidate": false,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
      "tactical": {}
    },
    {
      "lane": "change",
      "symbol": "SOXX",
      "name": "iShares Semiconductor ETF",
      "market": "US ETF",
      "signal_type": "Daily Change",
      "score": 65,
      "primary_change": "Price -5.0% / volume 1.0x vs recent avg",
      "evidence": [
        "Price change: -5.0%",
        "Volume: 1.0x vs 20d avg",
        "News freshness: 1 in 24h / 9 in 7d",
        "Exchange: NASDAQ"
      ],
      "sources": [
        "FMP"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "price_move",
      "trigger_strength": "moderate",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "us_regular",
      "is_top_candidate": false,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
      "tactical": {}
    },
    {
      "lane": "change",
      "symbol": "SMH",
      "name": "VanEck Semiconductor ETF",
      "market": "US ETF",
      "signal_type": "Daily Change",
      "score": 63,
      "primary_change": "Price -4.1% / volume 1.0x vs recent avg",
      "evidence": [
        "Price change: -4.1%",
        "Volume: 1.0x vs 20d avg",
        "News freshness: 2 in 24h / 5 in 7d",
        "Exchange: NASDAQ"
      ],
      "sources": [
        "FMP"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "price_move",
      "trigger_strength": "moderate",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "us_regular",
      "is_top_candidate": false,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
      "tactical": {}
    },
    {
      "lane": "change",
      "symbol": "AAPL",
      "name": "Apple Inc.",
      "market": "US",
      "signal_type": "Daily Change",
      "score": 63,
      "primary_change": "Price +1.5% / volume 0.9x vs recent avg",
      "evidence": [
        "Price change: +1.5%",
        "Volume: 0.9x vs 20d avg",
        "News freshness: 12 in 24h / 12 in 7d",
        "Exchange: NASDAQ"
      ],
      "sources": [
        "FMP"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "daily_change",
      "trigger_strength": "moderate",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "us_regular",
      "is_top_candidate": false,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
      "tactical": {}
    },
    {
      "lane": "cross_market",
      "symbol": "USDJPY → Japan Exporters",
      "name": "USDJPY → Japan Exporters",
      "market": "US / JP",
      "signal_type": "Cross-Market Watch",
      "score": 55,
      "primary_change": "Japan Exporters is the Japan basket to watch from USDJPY: US driver -0.8% vs JP basket +0.2%.",
      "evidence": [
        "Driver summary: USDJPY driver negative (-0.8% avg, 0.8% avg abs)",
        "Japan basket: Japan Exporters mixed (+0.2% avg, 0.7x avg volume)",
        "Impact score: 55",
        "Heuristic rank: 46/100",
        "US direction: negative",
        "JP direction: mixed",
        "JP average volume: 0.7x",
        "Tokyo alignment state: Mixed Tokyo prior-close move; strength watch",
        "Top driver moves: QQQ -1.7%, SPY -0.7%",
        "JP volume check: 7267 0.9x vol, 6902 0.7x vol",
        "Score parts: driver 8, catalyst 18, basket 18, Japan 5, gap 6, stale -0"
      ],
      "sources": [
        "FMP",
        "J-Quants"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "cross_market_watch",
      "trigger_strength": "watch",
      "market_date": "2026-08-19",
      "market_date_basis": "radar_generation_date",
      "session": "cross_market",
      "is_top_candidate": false,
      "signal_id": "cross-usdjpy_japan_exporters",
      "driver_market": "FX / US",
      "driver_symbols": [
        "USDJPY",
        "SPY",
        "QQQ"
      ],
      "driver_event_type": "fx_exporter",
      "driver_observation_date": "2026-08-18",
      "driver_as_of": "2026-08-18",
      "affected_market": "JP",
      "affected_symbols": [
        "7203",
        "7267",
        "6758",
        "6902"
      ],
      "affected_basket_name": "Japan Exporters",
      "japan_trading_date": "2026-08-18",
      "japan_as_of": "2026-08-18",
      "alignment_window": {
        "basis": "latest_available_source_observation_dates",
        "driver_observation_date": "2026-08-18",
        "japan_trading_date": "2026-08-18",
        "calendar_day_gap": 0,
        "relationship": "same_calendar_date"
      },
      "impact_score": 55,
      "confidence": 0.46,
      "why_it_matters": "USDJPY and US index tone shape the opening setup for Japanese exporters. A stronger signal needs exporter basket direction rather than FX alone.",
      "next_check": [
        "USDJPY direction",
        "export basket open reaction",
        "risk-on/risk-off cross-check from QQQ/SPY"
      ],
      "invalid_if": [
        "USDJPY move is reversed",
        "exporters fail to outperform broad Japan equity basket"
      ],
      "source_freshness": {
        "fmp": "quote snapshot through 2026-08-18; news 21 in 24h / 36 in 7d",
        "jquants": "daily bars through 2026-08-18"
      },
      "api_sources": [
        "FMP quote",
        "FMP historical_eod",
        "FMP stock_news",
        "J-Quants daily_bars",
        "J-Quants listed_info"
      ],
      "universe_source": "exposure_map",
      "discovered": false,
      "discovery_reason": "Curated cross-market exposure theme.",
      "tactical": {
        "theme_id": "exporters",
        "theme_label": "Exporters",
        "priority_rank": 3,
        "priority_score": 0.58,
        "actionability_score": 0.32,
        "reviewability_score": 0.32,
        "watch_priority_score": 0.6,
        "is_primary_theme": false,
        "us_catalyst": {
          "label": "USDJPY and US index tone",
          "direction": "negative",
          "strength": 0.41,
          "evidence": [
            "QQQ",
            "SPY",
            "USDJPY"
          ]
        },
        "jp_basket_state": {
          "label": "mixed",
          "reaction_score": 0.55,
          "dispersion": 0.29,
          "state": "mixed"
        },
        "divergence": {
          "label": "Mixed",
          "score": 0.56,
          "expected_direction": "negative",
          "actual_reaction": "mixed basket reaction",
          "reason": "The Japan basket is not moving as one group, so theme quality needs an opening check."
        },
        "confidence": {
          "score": 0.46,
          "label": "Medium",
          "components": {
            "us_signal_strength": 0.41,
            "jp_basket_fit": 0.81,
            "recent_reaction_alignment": 0.48,
            "freshness": 0.86,
            "liquidity_or_basket_quality": 0.73,
            "us_driver_agreement": 0.78,
            "jp_basket_breadth": 0.44,
            "directional_cleanliness": 0.42,
            "dispersion_penalty": -0.06,
            "regime_penalty": -0.05,
            "missing_data_penalty": -0.0,
            "basket_size_penalty": -0.0,
            "driver_dispersion_penalty": -0.03
          },
          "explanation": "US signal low-medium / JP fit high / driver agreement high / breadth low-medium / freshness high."
        },
        "follow_fade_bias": {
          "label": "Opening check required",
          "score": 0.48,
          "reason": "Theme evidence is mixed, so the Tokyo opening check matters more than score alone."
        },
        "scenario_bias": {
          "label": "Opening check required",
          "score": 0.48,
          "reason": "Theme evidence is mixed, so the Tokyo opening check matters more than score alone."
        },
        "pre_open_watch": [
          {
            "factor": "USDJPY",
            "watch_type": "risk",
            "invalidates_when": "FX reverses against exporter support",
            "reason": "USDJPY is a pre-open check for Exporters quality."
          },
          {
            "factor": "US index futures",
            "watch_type": "risk",
            "invalidates_when": "US risk tone fades before Tokyo open",
            "reason": "US index futures is a pre-open check for Exporters quality."
          },
          {
            "factor": "Nikkei futures",
            "watch_type": "risk",
            "invalidates_when": "Nikkei futures alignment is absent",
            "reason": "Nikkei futures is a pre-open check for Exporters quality."
          },
          {
            "factor": "US peer stocks",
            "watch_type": "opening_check",
            "invalidates_when": "Auto/electronics peers diverge",
            "reason": "US peer stocks is a pre-open check for Exporters quality."
          }
        ],
        "leaders": [
          {
            "code": "6758",
            "name": "ソニーグループ",
            "score": 0.71,
            "reason": "Stronger recent reaction inside the Japan Exporters basket."
          }
        ],
        "laggards": [
          {
            "code": "7267",
            "name": "本田技研工業",
            "score": 0.31,
            "reason": "Theme fit is present, but recent reaction is weaker than basket peers."
          }
        ],
        "leader_laggard_note": "",
        "summary": {
          "headline": "Exporters is a tactical theme to monitor today.",
          "body": "Overseas input: USDJPY and US index tone. Tokyo prior-close move in the Japan Exporters basket is mixed. Divergence is Mixed; scenario is Opening check required.",
          "watchline": "Watch before open: USDJPY, US index futures, Nikkei futures, US peer stocks."
        },
        "source": {
          "llm_used": false,
          "summary_generation": "deterministic_template",
          "us_avg_move": -0.75,
          "jp_avg_move": 0.23,
          "jp_avg_volume": 0.68
        },
        "primary_flags": {
          "is_primary_impact": false,
          "is_primary_watch": true,
          "legacy_is_primary_theme": false
        }
      }
    },
    {
      "lane": "intraday",
      "symbol": "BTCUSD",
      "name": "Bitcoin USD",
      "market": "Crypto",
      "signal_type": "Intraday Radar",
      "score": 55,
      "primary_change": "Relative volume 1.0x / gap +0.0%",
      "evidence": [
        "Relative Volume: 1.0x",
        "Gap: +0.0%",
        "Price change: +0.1%",
        "Catalyst: News within 24h",
        "Liquidity: High",
        "Sector Heat: Crypto"
      ],
      "sources": [
        "FMP"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "catalyst_freshness",
      "trigger_strength": "watch",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "crypto_24h",
      "is_top_candidate": false,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
      "tactical": {}
    },
    {
      "lane": "intraday",
      "symbol": "ETHUSD",
      "name": "Ethereum USD",
      "market": "Crypto",
      "signal_type": "Intraday Radar",
      "score": 55,
      "primary_change": "Relative volume 0.9x / gap +0.0%",
      "evidence": [
        "Relative Volume: 0.9x",
        "Gap: +0.0%",
        "Price change: -0.0%",
        "Catalyst: News within 24h",
        "Liquidity: High",
        "Sector Heat: Crypto"
      ],
      "sources": [
        "FMP"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "catalyst_freshness",
      "trigger_strength": "watch",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "crypto_24h",
      "is_top_candidate": false,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
      "tactical": {}
    },
    {
      "lane": "intraday",
      "symbol": "SPY",
      "name": "State Street SPDR S&P 500 ETF",
      "market": "US ETF",
      "signal_type": "Intraday Radar",
      "score": 55,
      "primary_change": "Relative volume 0.9x / gap -0.5%",
      "evidence": [
        "Relative Volume: 0.9x",
        "Gap: -0.5%",
        "Price change: -0.7%",
        "Catalyst: News within 24h",
        "Liquidity: High",
        "Sector Heat: Major Indices"
      ],
      "sources": [
        "FMP"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "catalyst_freshness",
      "trigger_strength": "watch",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "us_regular",
      "is_top_candidate": false,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
      "tactical": {}
    },
    {
      "lane": "intraday",
      "symbol": "NVDA",
      "name": "NVIDIA Corporation",
      "market": "US",
      "signal_type": "Intraday Radar",
      "score": 55,
      "primary_change": "Relative volume 0.9x / gap -2.0%",
      "evidence": [
        "Relative Volume: 0.9x",
        "Gap: -2.0%",
        "Price change: -2.3%",
        "Catalyst: News within 24h",
        "Liquidity: High",
        "Sector Heat: Semiconductor / AI"
      ],
      "sources": [
        "FMP"
      ],
      "updated_at": "2026-08-19T06:42:09+09:00",
      "reason_code": "gap_watch",
      "trigger_strength": "watch",
      "market_date": "2026-08-18",
      "market_date_basis": "source_observation_date",
      "session": "us_regular",
      "is_top_candidate": false,
      "signal_id": "",
      "driver_market": "",
      "driver_symbols": [],
      "driver_event_type": "",
      "driver_observation_date": "",
      "driver_as_of": "",
      "affected_market": "",
      "affected_symbols": [],
      "affected_basket_name": "",
      "japan_trading_date": "",
      "japan_as_of": "",
      "alignment_window": {},
      "impact_score": 0,
      "confidence": 0.0,
      "why_it_matters": "",
      "next_check": [],
      "invalid_if": [],
      "source_freshness": {},
      "api_sources": [],
      "universe_source": "curated_core",
      "discovered": false,
      "discovery_reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
      "tactical": {}
    }
  ]
}
