v5

OpenAPI 3.1.0Proprietary2026-08-031,5423,1505.5 MB
Equities Indices

Post-earnings-announcement drift (PEAD) conditioned on EPS surprise

Post-earnings-announcement drift (PEAD) around the company's quarterly earnings announcements, conditioned on the EPS surprise. Announcement dates come from SEC 8-K item 2.02 filings; the surprise (BEAT/MISS/MEET) is joined by DATE from the fiscal earnings history (best-effort). Per event: OLS market-model fit on the estimation window [-250, -11] vs market_proxy (default SPY), daily abnormal returns over [0, +60], an immediate reaction CAR over [0, +1], and post-reaction drift CARs over [+2,+5], [+2,+20], [+2,+60] (filtered to those ending at or before drift_window_end). Events are bucketed by surprise (BEAT/MISS/MEET/UNKNOWN) and a BEAT-minus-MISS drift spread is reported. A drift window that runs past the next announcement's day-0 is flagged (overlaps_next_event) and excluded from the bucket aggregate, but still reported per event. Single-ticker PEAD over a handful of events is DESCRIPTIVE, not a significance test of a market-wide anomaly: per-bucket statistics are flagged exploratory and a small_sample_warning is set below 10 valid events. When the surprise source is unavailable the endpoint degrades to unconditional drift (conditioning_status=unavailable) rather than failing. Daily only (interval=1d).

get/api/v1/equities/{symbol}/earnings/pead

Path parameters

symbolstring required
Example:AAPL

Query parameters

lookbackinteger

Number of most-recent earnings events to analyse (1-20, default 8). Bounds the OHLC history fetched and the per-request workload.

Example:8

Number of most-recent earnings events to analyse (1-20, default 8). Bounds the OHLC history fetched and the per-request workload.

market_proxystring

Market-proxy ticker used as the OLS regressor.

Example:SPY

Market-proxy ticker used as the OLS regressor.

drift_window_endinteger

Largest drift-window end day (5..60). The drift windows [+2,+5],[+2,+20],[+2,+60] are filtered to those whose end <= this.

Example:60

Largest drift-window end day (5..60). The drift windows [+2,+5],[+2,+20],[+2,+60] are filtered to those whose end <= this.

include_daily_arboolean

Return per-event daily abnormal-return arrays over [0, +60]. Off by default to avoid response bloat.

Return per-event daily abnormal-return arrays over [0, +60]. Off by default to avoid response bloat.

Response

Successful Response

Example response

{
  "data": {
    "symbol": "AAPL",
    "market_proxy": "SPY",
    "interval": "1d",
    "estimation_window": [
      -250,
      -11
    ],
    "min_estimation_days": 200,
    "reaction_window": [
      0,
      1
    ],
    "drift_windows": [
      [
        2,
        5
      ],
      [
        2,
        20
      ],
      [
        2,
        60
      ]
    ],
    "event_window": [
      0,
      60
    ],
    "conditioning_status": "available",
    "coverage": {
      "matched": 6,
      "n_beat": 4,
      "n_meet": 0,
      "n_miss": 2,
      "n_unknown": 0,
      "sec_events": 8,
      "unknown": 2,
      "unknown_by_reason": {
        "no_surprise_in_window": 2
      },
      "valid_events": 6
    },
    "events": [
      {
        "announcement_date": "2024-05-02",
        "event_day0_date": "2024-05-03T00:00:00Z",
        "period": "2024-05-02",
        "year": 2024,
        "quarter": 2,
        "filing_window": "AFTER_HOURS",
        "surprise_label": "BEAT",
        "surprise_pct": 0.067,
        "surprise_period": "2024-03-31",
        "surprise_lag_days": 32,
        "surprise_match_status": "matched",
        "bucket": "BEAT",
        "market_model": {
          "alpha": 0.0003,
          "beta": 1.12,
          "r_squared": 0.61,
          "n_obs": 240
        },
        "reaction_car": {
          "0_1": 0.021
        },
        "drift_car": {
          "2_20": 0.014,
          "2_5": 0.008
        },
        "overlaps_next_event": {
          "2_20": false,
          "2_5": false,
          "2_60": true
        },
        "daily_ar": [
          0.012,
          0.009
        ]
      }
    ],
    "pead_spread": [
      {
        "drift_window": "2_60",
        "beat_mean_car": 0.024,
        "miss_mean_car": -0.011,
        "spread": 0.035,
        "n_beat": 3,
        "n_miss": 2,
        "n_unknown": 1
      }
    ],
    "small_sample_warning": true,
    "source": "sugra_finance"
  },
  "meta": {
    "endpoint": "/api/v1/fred/us/cpi",
    "data_time": "2026-04-16T14:30:00Z",
    "response_time": "2026-04-16T14:30:12Z",
    "provider": "Sugra API v1.0.1",
    "source": "sugra_crypto",
    "attribution": "Short interest and Reg SHO daily short volume data is owned by and sourced from FINRA (Financial Industry Regulatory Authority).",
    "fallback_chain": [
      "sugra_crypto",
      "sugra_finance"
    ]
  }
}