{
  "article": {
    "official_admission": false,
    "required_headings": [
      "Summary",
      "Source",
      "What the source claims",
      "Rules actually disclosed",
      "What had to be inferred",
      "Research questions",
      "Data",
      "Baseline implementation",
      "What the signal looks like",
      "Historical events",
      "State-space exploration",
      "Parameter sensitivity",
      "What worked",
      "What did not work",
      "Why the failures appear to happen",
      "Regime behavior",
      "Timing and cost sensitivity",
      "Combinations",
      "Candidate frontier",
      "Agent assessment",
      "Limitations",
      "What to try interactively",
      "Suggested next research",
      "Promotion status",
      "Trial ledger",
      "Validation protocol",
      "Portfolio contribution"
    ],
    "research_tags": [
      "parameter_sensitive",
      "useful_as_entry",
      "interesting_negative_result",
      "data_limited",
      "needs_more_research"
    ],
    "sections": {
      "Baseline implementation": {
        "created_by": "source_baseline",
        "family_id": "adl-vol-ratio",
        "metrics": {
          "label": "exploratory"
        },
        "parameters": {
          "holding_period": 20,
          "smoothing": "none",
          "threshold": 22
        },
        "reason_tested": "documented Pine threshold",
        "status": "exploratory",
        "tags": [
          "parameter_sensitive",
          "useful_as_entry",
          "interesting_negative_result"
        ],
        "variant_id": "adl-vol-ratio.raw.threshold22.hold20"
      },
      "Candidate frontier": [
        {
          "category": "best_source_fidelity",
          "exploratory": true,
          "variant_id": "adl-vol-ratio.raw.threshold22.hold20",
          "why": "literal documented rule"
        },
        {
          "category": "simplest_reasonable",
          "exploratory": true,
          "variant_id": "adl-vol-ratio.raw.threshold15.hold20",
          "why": "adjacent threshold with more events"
        }
      ],
      "Data": {
        "inputs": [
          "USI:UVOL",
          "USI:DVOL",
          "SPY"
        ],
        "native_span": "1996-04-19 to 2026-08-11",
        "source_hashes": {}
      },
      "Limitations": [
        "Native UVOL starts 1996-04-19; synthetic reconstruction is NO-GO.",
        "All metrics after parameter search are exploratory.",
        "Official catalog admission is not implied."
      ],
      "Portfolio contribution": {},
      "Promotion status": "Not promoted \u2014 Research Library only.",
      "Research questions": [
        "What useful signals and strategy constructions come out of the UVOL/DVOL ratio besides the documented >22 / 20-day hold overlay?"
      ],
      "Rules actually disclosed": [
        "Buy when daily USI:UVOL / USI:DVOL > 22 (Pine request.security D close).",
        "Pine timeframe=5 input is unused versus daily close."
      ],
      "Source": {
        "kind": "tradingview",
        "links": [
          "research/findings/adl-vol-ratio-qm-4bx.17.md"
        ],
        "prior_experiments": [
          "qm-4bx.17",
          "qm-kdnj.2"
        ],
        "title": "ADL Volume Ratio buy impulse"
      },
      "Suggested next research": [
        "Explore thresholds 12-18 with SMA200 exit.",
        "Focus on max drawdown and Sortino rather than CAGR."
      ],
      "Summary": [
        "Documented >22 impulse is sparse (~0.8/yr) and knife-edge versus 15.",
        "Standalone overlay does not beat SPY; more interesting as an entry or SMA200 complement.",
        "Pre-1996 history is data-limited; do not invent volume."
      ],
      "Trial ledger": [
        {
          "feedback_source": null,
          "iteration_number": 1,
          "objective": "initial source exploration"
        }
      ],
      "Validation protocol": {},
      "What had to be inferred": [
        "Default 20-day holding window after the impulse; one-bar lag for execution.",
        "Adjacent thresholds 12\u201318 and SMA200 exits may change drawdown more than CAGR."
      ],
      "What the source claims": [
        "Buy when daily USI:UVOL / USI:DVOL > 22 (Pine request.security D close).",
        "Pine timeframe=5 input is unused versus daily close.",
        "Default 20-day holding window after the impulse; one-bar lag for execution.",
        "Adjacent thresholds 12\u201318 and SMA200 exits may change drawdown more than CAGR.",
        "Pre-1996 NYSE constituent volume; close-only store cannot rebuild UVOL."
      ],
      "What to try interactively": [
        {
          "default": 22,
          "max": 40,
          "min": 5,
          "name": "threshold",
          "step": 0.5,
          "type": "float"
        },
        {
          "default": 20,
          "name": "holding_period",
          "options": [
            5,
            10,
            20,
            40,
            60
          ],
          "type": "integer"
        }
      ]
    },
    "title": "ADL Volume Ratio \u2014 exploratory campaign"
  },
  "campaign": {
    "campaign_id": "adl-volume-ratio",
    "iteration_number": 1,
    "research_tags": [
      "parameter_sensitive",
      "useful_as_entry",
      "interesting_negative_result",
      "data_limited",
      "needs_more_research"
    ],
    "status": "awaiting_research_feedback",
    "title": "ADL Volume Ratio \u2014 exploratory campaign"
  },
  "candidate_frontier": [
    {
      "category": "best_source_fidelity",
      "exploratory": true,
      "variant_id": "adl-vol-ratio.raw.threshold22.hold20",
      "why": "literal documented rule"
    },
    {
      "category": "simplest_reasonable",
      "exploratory": true,
      "variant_id": "adl-vol-ratio.raw.threshold15.hold20",
      "why": "adjacent threshold with more events"
    }
  ],
  "candidate_variants": [
    {
      "created_by": "source_baseline",
      "family_id": "adl-vol-ratio",
      "metrics": {
        "label": "exploratory"
      },
      "parameters": {
        "holding_period": 20,
        "smoothing": "none",
        "threshold": 22
      },
      "reason_tested": "documented Pine threshold",
      "status": "exploratory",
      "tags": [
        "parameter_sensitive",
        "useful_as_entry",
        "interesting_negative_result"
      ],
      "variant_id": "adl-vol-ratio.raw.threshold22.hold20"
    },
    {
      "created_by": "adjacent_search",
      "family_id": "adl-vol-ratio",
      "metrics": {
        "label": "exploratory"
      },
      "parameters": {
        "holding_period": 20,
        "smoothing": "none",
        "threshold": 15
      },
      "reason_tested": "adjacent threshold from prior grid",
      "status": "exploratory",
      "tags": [
        "promising",
        "useful_as_entry"
      ],
      "variant_id": "adl-vol-ratio.raw.threshold15.hold20"
    },
    {
      "created_by": "holding_search",
      "family_id": "adl-vol-ratio",
      "metrics": {
        "label": "exploratory"
      },
      "parameters": {
        "holding_period": 40,
        "smoothing": "none",
        "threshold": 15
      },
      "reason_tested": "holding-period sensitivity",
      "status": "exploratory",
      "tags": [
        "parameter_sensitive"
      ],
      "variant_id": "adl-vol-ratio.raw.threshold15.hold40"
    }
  ],
  "event_tables": [],
  "evidence": {},
  "execution_assumptions": {},
  "interactive_specs": [
    {
      "default": 22,
      "max": 40,
      "min": 5,
      "name": "threshold",
      "step": 0.5,
      "type": "float"
    },
    {
      "default": 20,
      "name": "holding_period",
      "options": [
        5,
        10,
        20,
        40,
        60
      ],
      "type": "integer"
    }
  ],
  "limitations": [
    "Native UVOL starts 1996-04-19; synthetic reconstruction is NO-GO.",
    "All metrics after parameter search are exploratory.",
    "Official catalog admission is not implied."
  ],
  "parameter_grids": [],
  "provenance": {
    "inputs": [
      "USI:UVOL",
      "USI:DVOL",
      "SPY"
    ],
    "native_span": "1996-04-19 to 2026-08-11",
    "source_hashes": {}
  },
  "regime_tables": [],
  "schema_version": "research-publication/v1",
  "series": {
    "DVOL": [
      85214000.0,
      63513000.0,
      100000.0,
      1000000.0,
      1000000.0,
      10000000.0,
      50000000.0,
      10000000.0,
      100000.0,
      20000000.0,
      20000000.0,
      1000000.0,
      1000000.0,
      0.0,
      2000000.0
    ],
    "UVOL": [
      216362000.0,
      223330000.0,
      1000000.0,
      22000000.0,
      22000010.0,
      500000000.0,
      10000000.0,
      700000000.0,
      2200000.0,
      600000000.0,
      400000000.0,
      23000000.0,
      0.0,
      1000000.0,
      50000000.0
    ],
    "dates": [
      "1996-04-19",
      "1996-04-22",
      "1996-04-23",
      "1996-04-24",
      "1996-04-25",
      "1996-04-26",
      "1996-04-29",
      "1996-04-30",
      "1996-05-01",
      "1996-05-02",
      "1996-05-03",
      "1996-05-06",
      "1996-05-07",
      "1996-05-08",
      "1996-05-09"
    ],
    "frequency": "daily",
    "source": "research/fixtures/adl-vol-ratio-pine-fixture.csv"
  },
  "signals": {
    "spec": {
      "expression": {
        "denominator": "DVOL",
        "numerator": "UVOL",
        "type": "ratio"
      },
      "id": "adl-volume-ratio",
      "inputs": [
        "UVOL",
        "DVOL"
      ],
      "name": "ADL Volume Ratio",
      "parameters": {
        "lookback": {
          "default": 1,
          "options": [
            1,
            3,
            5,
            10
          ],
          "type": "integer"
        },
        "smoothing": {
          "default": "none",
          "options": [
            "none",
            "sma",
            "ema"
          ],
          "type": "enum"
        },
        "smoothing_window": {
          "default": 5,
          "max": 50,
          "min": 2,
          "type": "integer"
        },
        "threshold": {
          "default": 22,
          "max": 40,
          "min": 5,
          "step": 0.5,
          "type": "float"
        }
      },
      "schema_version": "signal-spec/v1",
      "semantics": {
        "default_holding_period": 20,
        "lag_bars": 1,
        "side": "buy"
      },
      "trigger": {
        "left": "signal_value",
        "operator": ">",
        "right": "threshold"
      }
    },
    "specs": [
      {
        "expression": {
          "denominator": "DVOL",
          "numerator": "UVOL",
          "type": "ratio"
        },
        "id": "adl-volume-ratio",
        "inputs": [
          "UVOL",
          "DVOL"
        ],
        "name": "ADL Volume Ratio",
        "parameters": {
          "lookback": {
            "default": 1,
            "options": [
              1,
              3,
              5,
              10
            ],
            "type": "integer"
          },
          "smoothing": {
            "default": "none",
            "options": [
              "none",
              "sma",
              "ema"
            ],
            "type": "enum"
          },
          "smoothing_window": {
            "default": 5,
            "max": 50,
            "min": 2,
            "type": "integer"
          },
          "threshold": {
            "default": 22,
            "max": 40,
            "min": 5,
            "step": 0.5,
            "type": "float"
          }
        },
        "schema_version": "signal-spec/v1",
        "semantics": {
          "default_holding_period": 20,
          "lag_bars": 1,
          "side": "buy"
        },
        "trigger": {
          "left": "signal_value",
          "operator": ">",
          "right": "threshold"
        }
      }
    ]
  },
  "trial_ledger": []
}
