{
  "title": "Kronos x402 API — Track Record Methodology",
  "all_cache_assets": {
    "sample_size": 94573,
    "hit_rate": 0.511,
    "label": "Cache-served forecasts across ALL assets, core and graduated beta alike.",
    "note": "NOT the headline. Reported for continuity: this is the figure this endpoint published as its headline until 2026-08-29, when it was corrected to the core-only population that /api/stats and /api/v1/track-record have always used. Per-asset beta accuracy is broken out at /api/v1/track-record."
  },
  "what_is_measured": {
    "metric": "Directional hit-rate",
    "description": "Each served forecast predicts whether the asset price will be higher or lower than the current close at the given horizon (1h, 4h, 24h). A forecast is a 'hit' if: up_prob > 0.5 AND the actual close at horizon was above the forecast-time close; OR up_prob ≤ 0.5 AND the actual close was below or equal to the forecast-time close."
  },
  "how_scored": {
    "process": "The /api/cron/evaluate endpoint runs on a scheduled cron (currently every 30 min). For each un-scored forecast row in the 'forecasts' table, it fetches the realized OHLCV candle from Binance at the forecast horizon (e.g. 1 hour after the forecast was generated), then computes the hit/miss outcome and stores it in the 'outcomes' table.",
    "scoring_lag": "Outcomes for 1h forecasts appear ~1h after the forecast; 24h forecasts ~24h later. The cron runs every 30 min so there is up to ~30 min additional lag.",
    "data_source": "Binance OHLCV klines (same source used to generate forecasts)."
  },
  "accuracy": {
    "available": true,
    "sample_size": 45632,
    "hit_rate": 0.518,
    "note": "n=45632 cache-served forecasts scored for the CORE assets (BTC/ETH/SOL). Identical to /api/stats and /api/v1/track-record — the same counts through the same code. Thin sample — treat as preliminary; do not draw firm conclusions yet."
  },
  "funding_extremes_track_record": {
    "window": "last 90 days",
    "signals_detected": 117,
    "signals_scored": 116,
    "overall_reversal_rate_24h": 0.5603,
    "note": "Based on 116 scored extremes in the last 90 days. Honest and unaudited.",
    "methodology": "A 'reversal' for extreme_positive/critical_positive (crowded longs) = price lower at T+24h. For extreme_negative/critical_negative (crowded shorts) = price higher at T+24h. Scored automatically by /api/cron/evaluate-funding-signals from Binance 1h klines."
  },
  "volatility_track_record": {
    "window": "last 90 days",
    "scored_estimates": 0,
    "estimator_mae_ranking": [],
    "note": "No scored estimates yet — will populate after estimates age window_days",
    "methodology": "Each served vol estimate is logged to volatility_estimates. After window_days, the realized vol over that exact window is computed from Binance daily candles and stored in volatility_outcomes. Best estimator = argmin MAE over last 30 scored outcomes per (asset, window), returned in the /api/v1/volatility endpoint as best_estimator."
  },
  "what_is_NOT_measured": [
    "Paid/live forecasts are tracked separately (small sample, not headline).",
    "Internal R&D forecasts (source='internal') are NEVER included in any customer-facing figure.",
    "We do not report blended paid+cache figures — paid n is too small to be meaningful and blending would be misleading."
  ],
  "caveats": [
    "This model is early-stage. Sample sizes are thin — any percentage should be treated as preliminary.",
    "All forecasts are from a single market regime (mid-2025 to present). Regime-change behaviour is untested.",
    "Directional hit-rate does not account for magnitude or transaction costs. A 54% hit-rate does not imply profitability.",
    "Past performance does not guarantee future results.",
    "Not financial advice."
  ],
  "calibration": {
    "live_reliability_diagram": [
      {
        "bucket": "[0–0.2]",
        "predicted_avg": 0.0953,
        "actual_up_rate": 0.5103,
        "n": 24978
      },
      {
        "bucket": "(0.2–0.4]",
        "predicted_avg": 0.3087,
        "actual_up_rate": 0.5397,
        "n": 20531
      },
      {
        "bucket": "(0.4–0.6]",
        "predicted_avg": 0.5083,
        "actual_up_rate": 0.5646,
        "n": 21117
      },
      {
        "bucket": "(0.6–0.8]",
        "predicted_avg": 0.7031,
        "actual_up_rate": 0.5648,
        "n": 18712
      },
      {
        "bucket": "(0.8–1]",
        "predicted_avg": 0.8883,
        "actual_up_rate": 0.5651,
        "n": 9235
      }
    ],
    "n_calibration_points": 94573,
    "stored_fit": {
      "method": "binned",
      "n_total": 4999,
      "brier_before": 0.383633209441882,
      "brier_after": 0.231421832836565,
      "fitted_at": "2026-09-07T02:00:27.076264+00:00"
    }
  },
  "directional_edge": {
    "description": "Per-asset trailing scored hit-rate over served (cache/paid) forecasts, last 90d. 'established' is true only when the one-sided 95% lower confidence bound on hit-rate exceeds 0.5 (hit_rate - 1.96*sqrt(p*(1-p)/n) > 0.5) with n>=50; null means insufficient sample (edge unproven); false means direction not proven better than coin-flip.",
    "assets": {
      "BTC-USD": {
        "established": true,
        "trailing_hit_rate": 0.605,
        "n": 1000,
        "window": "90d"
      },
      "ETH-USD": {
        "established": true,
        "trailing_hit_rate": 0.534,
        "n": 1000,
        "window": "90d"
      },
      "SOL-USD": {
        "established": true,
        "trailing_hit_rate": 0.601,
        "n": 1000,
        "window": "90d"
      }
    }
  },
  "live_stats_url": "https://kronossignals.com/api/stats",
  "generated_at": "2026-09-10T14:18:37.488Z",
  "disclaimer": "Track record is computed automatically by the Kronos evaluate cron from actual Binance OHLCV data. Figures are honest and unaudited. Not financial advice."
}