{
  "schema_version": "shock-identification-registry-v1.62",
  "generated_at": "2026-09-01",
  "identification_levels": [
    "observed_driver",
    "shock_candidate",
    "external_innovation_proxy",
    "identified_shock",
    "blocked"
  ],
  "identified_shock_count": 2,
  "record_count": 17,
  "records": [
    {
      "shock_id": "policy_rate_movement",
      "driver_id": "policy_rate",
      "transformation": "level_or_change",
      "identification_status": "observed_driver",
      "identification_strategy": null,
      "causal_use_allowed": false,
      "boundary": "Observed movement is not an identified shock."
    },
    {
      "shock_id": "long_term_government_yield_movement",
      "driver_id": "long_term_government_yield",
      "transformation": "level_or_change",
      "identification_status": "observed_driver",
      "identification_strategy": null,
      "causal_use_allowed": false,
      "boundary": "Observed movement is not an identified shock."
    },
    {
      "shock_id": "bilateral_fx_local_per_eur_movement",
      "driver_id": "bilateral_fx_local_per_eur",
      "transformation": "level_or_change",
      "identification_status": "observed_driver",
      "identification_strategy": null,
      "causal_use_allowed": false,
      "boundary": "Observed movement is not an identified shock."
    },
    {
      "shock_id": "eur_usd_common_movement",
      "driver_id": "eur_usd_common",
      "transformation": "level_or_change",
      "identification_status": "observed_driver",
      "identification_strategy": null,
      "causal_use_allowed": false,
      "boundary": "Observed movement is not an identified shock."
    },
    {
      "shock_id": "nominal_effective_exchange_rate_movement",
      "driver_id": "nominal_effective_exchange_rate",
      "transformation": "level_or_change",
      "identification_status": "observed_driver",
      "identification_strategy": null,
      "causal_use_allowed": false,
      "boundary": "Observed movement is not an identified shock."
    },
    {
      "shock_id": "real_effective_exchange_rate_movement",
      "driver_id": "real_effective_exchange_rate",
      "transformation": "level_or_change",
      "identification_status": "observed_driver",
      "identification_strategy": null,
      "causal_use_allowed": false,
      "boundary": "Observed movement is not an identified shock."
    },
    {
      "shock_id": "hicp_energy_index_movement",
      "driver_id": "hicp_energy_index",
      "transformation": "level_or_change",
      "identification_status": "observed_driver",
      "identification_strategy": null,
      "causal_use_allowed": false,
      "boundary": "Observed movement is not an identified shock."
    },
    {
      "shock_id": "hicp_energy_annual_rate_movement",
      "driver_id": "hicp_energy_annual_rate",
      "transformation": "level_or_change",
      "identification_status": "observed_driver",
      "identification_strategy": null,
      "causal_use_allowed": false,
      "boundary": "Observed movement is not an identified shock."
    },
    {
      "shock_id": "brent_crude_price_usd_monthly_change",
      "driver_id": "brent_crude_price_usd",
      "transformation": "monthly_log_change",
      "identification_status": "shock_candidate",
      "identification_strategy": null,
      "causal_use_allowed": false,
      "boundary": "Observed commodity-price change is not an identified structural energy shock."
    },
    {
      "shock_id": "europe_natural_gas_price_usd_monthly_change",
      "driver_id": "europe_natural_gas_price_usd",
      "transformation": "monthly_log_change",
      "identification_status": "shock_candidate",
      "identification_strategy": null,
      "causal_use_allowed": false,
      "boundary": "Observed commodity-price change is not an identified structural energy shock."
    },
    {
      "shock_id": "monetary_policy_surprise",
      "driver_id": "policy_rate",
      "transformation": "announcement_surprise",
      "identification_status": "blocked",
      "identification_strategy": "requires a validated high-frequency announcement surprise or external instrument",
      "causal_use_allowed": false,
      "boundary": "A policy-rate change is not a monetary-policy shock."
    },
    {
      "shock_id": "external_energy_price_innovation",
      "driver_id": "europe_natural_gas_price_usd",
      "transformation": "innovation",
      "identification_status": "blocked",
      "identification_strategy": "innovation construction not yet registered or validated",
      "causal_use_allowed": false,
      "boundary": "Price innovation cannot be called a supply or geopolitical shock without identification."
    },
    {
      "shock_id": "ecb_ois_1m_official_decisions_only_monthly_v1",
      "driver_id": "ecb_monetary_policy_event_surprise",
      "transformation": "monthly_sum_of_event_surprises",
      "aggregation_profile": "official_decisions_only",
      "identification_status": "external_innovation_proxy",
      "identification_strategy": "narrow-window OIS change with official event timing, overlap control and pre-registered monthly aggregation",
      "information_effect_status": "not_addressed",
      "causal_use_allowed": false,
      "boundary": "Official high-frequency surprise proxy; central-bank information effects are not separated, so it is not an identified monetary-policy shock."
    },
    {
      "shock_id": "ecb_ois_1m_speeches_only_monthly_v1",
      "driver_id": "ecb_monetary_policy_event_surprise",
      "transformation": "monthly_sum_of_event_surprises",
      "aggregation_profile": "speeches_only",
      "identification_status": "external_innovation_proxy",
      "identification_strategy": "narrow-window OIS change with official event timing, overlap control and pre-registered monthly aggregation",
      "information_effect_status": "not_addressed",
      "causal_use_allowed": false,
      "boundary": "Official high-frequency surprise proxy; central-bank information effects are not separated, so it is not an identified monetary-policy shock."
    },
    {
      "shock_id": "ecb_ois_1m_all_policy_events_monthly_v1",
      "driver_id": "ecb_monetary_policy_event_surprise",
      "transformation": "monthly_sum_of_event_surprises",
      "aggregation_profile": "all_policy_events",
      "identification_status": "external_innovation_proxy",
      "identification_strategy": "narrow-window OIS change with official event timing, overlap control and pre-registered monthly aggregation",
      "information_effect_status": "not_addressed",
      "causal_use_allowed": false,
      "boundary": "Official high-frequency surprise proxy; central-bank information effects are not separated, so it is not an identified monetary-policy shock."
    },
    {
      "shock_id": "ecb_jk_median_mp_shock",
      "shock_series_id": "ecb_pure_monetary_policy_shock_jk_median_v1",
      "driver_id": "ecb_monetary_policy_event_surprise",
      "identification_status": "identified_shock",
      "identification_method": "jk_hf_shock_decomposition",
      "author_repository": "marekjarocinski/jkshocks_update_ecb",
      "author_commit": "f7ffc821b0ade71dd38539e4044e25368dfb4dc1",
      "information_effect_status": "separated_under_jk_framework",
      "reference_period": "1999-01 through 2025-10",
      "extension_period": null,
      "causal_use_allowed": true,
      "limitations": "Representative median sign-restricted shock; applicability and estimator gates still apply."
    },
    {
      "shock_id": "ecb_jk_median_cbi_shock",
      "shock_series_id": "ecb_central_bank_information_shock_jk_median_v1",
      "driver_id": "ecb_central_bank_information",
      "identification_status": "identified_shock",
      "identification_method": "jk_hf_shock_decomposition",
      "author_repository": "marekjarocinski/jkshocks_update_ecb",
      "author_commit": "f7ffc821b0ade71dd38539e4044e25368dfb4dc1",
      "information_effect_status": "separated_under_jk_framework",
      "reference_period": "1999-01 through 2025-10",
      "extension_period": null,
      "causal_use_allowed": true,
      "limitations": "Representative median sign-restricted information shock; applicability and estimator gates still apply."
    }
  ],
  "external_innovation_proxy_count": 3,
  "shock_candidate_count": 2,
  "v161_identification_candidates": [
    {
      "shock_series_id": "ecb_pure_monetary_policy_shock_jk_v1",
      "status": "blocked",
      "identified_shock_allowed": false
    },
    {
      "shock_series_id": "ecb_central_bank_information_shock_jk_v1",
      "status": "blocked",
      "identified_shock_allowed": false
    }
  ],
  "v162_identified_shocks": [
    "ecb_jk_median_mp_shock",
    "ecb_jk_median_cbi_shock"
  ]
}
