Transparency

How good are our forecasts? Here's every number.

Two records, never mixed: the live record (forecasts written to an append-only ledger before the outcome, then scored automatically) and the research backtest (a simulated walk-forward test on history). Misses included.

Live record · DK-EWMA-LN v2

0 forecasts issued

Live record: every forecast is stored when issued and scored automatically when it matures. Nothing is edited or removed. Metrics appear once a horizon has at least 30 matured forecasts.

HorizonEvaluatedPendingEffective n50% range held80% held90% heldBrier ±10%Avg 80% width
4 hours 000 Insufficient evidence for a reliable calibrated forecast — not enough matured forecasts yet.
24 hours 000 Insufficient evidence for a reliable calibrated forecast — not enough matured forecasts yet.
7 days 000 Insufficient evidence for a reliable calibrated forecast — not enough matured forecasts yet.
30 days 000 Insufficient evidence for a reliable calibrated forecast — not enough matured forecasts yet.
90 days 000 Insufficient evidence for a reliable calibrated forecast — not enough matured forecasts yet.
1 year 000 Insufficient evidence for a reliable calibrated forecast — not enough matured forecasts yet.

Directional hit rate is not reported: the model makes no up/down call, so there is nothing to score. Overlapping windows mean consecutive 7- and 30-day forecasts are correlated; "effective n" divides by the horizon length.

Research backtest (simulated)

walk-forward expanding window · warm-up 365 days · refit every 30 days · 10 assets (BTC, ETH, SOL, XRP, ADA, DOGE, LTC, LINK, AVAX, DOT) · data: Coinbase Exchange public candles · generated 2026-10-12

1-day horizon

Modeln (effective)Brier (up)Skill vs coin flip95% CICalibration error50% / 80% / 90% heldPinball
Naive baseline (coin flip + expanding-window volatility) 20,620 (20,620) 0.2500 0.00% [0.000, 0.000] 0.003 70.4% / 90.2% / 94.8% 0.0101
DK-EWMA-LN v1 20,620 (20,620) 0.2500 0.00% [0.000, 0.000] 0.003 58.8% / 83.2% / 89.9% 0.0095
Momentum logistic regression 20,620 (20,620) 0.2519 −0.77% [-0.011, -0.005] 0.031 — —
Historical simulation (trailing 365d) 20,620 (20,620) 0.2503 −0.13% [-0.004, 0.001] 0.015 51.9% / 81.4% / 90.5% 0.0096
DK-EWMA-LN v2 20,620 (20,620) 0.2500 0.00% [0.000, 0.000] 0.003 54.6% / 79.9% / 87.5% 0.0095
DK-EWMA-EQ v2 20,620 (20,620) 0.2500 0.00% [0.000, 0.000] 0.003 50.3% / 79.9% / 89.9% 0.0094

7-day horizon

Modeln (effective)Brier (up)Skill vs coin flip95% CICalibration error50% / 80% / 90% heldPinball
Naive baseline (coin flip + expanding-window volatility) 20,560 (2,937) 0.2500 0.00% [0.000, 0.000] 0.011 67.3% / 89.9% / 94.8% 0.0266
DK-EWMA-LN v1 20,560 (2,937) 0.2500 0.00% [0.000, 0.000] 0.011 55.5% / 80.6% / 88.1% 0.0260
Momentum logistic regression 20,560 (2,937) 0.2596 −3.85% [-0.053, -0.026] 0.060 — —
Historical simulation (trailing 365d) 20,560 (2,937) 0.2524 −0.95% [-0.022, 0.002] 0.040 51.9% / 80.3% / 89.5% 0.0259
DK-EWMA-LN v2 20,560 (2,937) 0.2500 0.00% [0.000, 0.000] 0.011 56.0% / 80.7% / 88.3% 0.0261
DK-EWMA-EQ v2 20,560 (2,937) 0.2500 0.00% [0.000, 0.000] 0.011 50.8% / 80.7% / 90.6% 0.0261

30-day horizon

Modeln (effective)Brier (up)Skill vs coin flip95% CICalibration error50% / 80% / 90% heldPinball
Naive baseline (coin flip + expanding-window volatility) 20,330 (678) 0.2500 0.00% [0.000, 0.000] 0.019 63.3% / 88.5% / 94.8% 0.0566
DK-EWMA-LN v1 20,330 (678) 0.2500 0.00% [0.000, 0.000] 0.019 51.9% / 76.3% / 84.2% 0.0575
Momentum logistic regression 20,330 (678) 0.2774 −10.96% [-0.157, -0.061] 0.130 — —
Historical simulation (trailing 365d) 20,330 (678) 0.2652 −6.06% [-0.113, 0.001] 0.099 48.6% / 75.9% / 84.9% 0.0596
DK-EWMA-LN v2 20,330 (678) 0.2500 0.00% [0.000, 0.000] 0.019 58.8% / 81.8% / 88.8% 0.0590
DK-EWMA-EQ v2 20,330 (678) 0.2500 0.00% [0.000, 0.000] 0.019 54.2% / 81.8% / 91.1% 0.0589

90-day horizon

Modeln (effective)Brier (up)Skill vs coin flip95% CICalibration error50% / 80% / 90% heldPinball
Naive baseline (coin flip + expanding-window volatility) 19,730 (219) 0.2500 0.00% [0.000, 0.000] 0.043 58.6% / 88.7% / 94.7% 0.1002
DK-EWMA-LN v1 19,730 (219) 0.2500 0.00% [0.000, 0.000] 0.043 46.1% / 75.3% / 85.3% 0.1024
Momentum logistic regression 19,730 (219) 0.3206 −28.24% [-0.424, -0.143] 0.231 — —
Historical simulation (trailing 365d) 19,730 (219) 0.3158 −26.33% [-0.404, -0.079] 0.212 42.1% / 64.0% / 71.2% 0.1275
DK-EWMA-LN v2 19,730 (219) 0.2500 0.00% [0.000, 0.000] 0.043 55.6% / 84.3% / 90.9% 0.1068
DK-EWMA-EQ v2 19,730 (219) 0.2500 0.00% [0.000, 0.000] 0.043 50.9% / 84.2% / 91.9% 0.1084

365-day horizon

Modeln (effective)Brier (up)Skill vs coin flip95% CICalibration error50% / 80% / 90% heldPinball
Naive baseline (coin flip + expanding-window volatility) 16,980 (47) 0.2500 0.00% [0.000, 0.000] 0.013 60.4% / 88.4% / 94.2% 0.1984
DK-EWMA-LN v1 16,980 (47) 0.2500 0.00% [0.000, 0.000] 0.013 46.1% / 76.3% / 85.5% 0.1983
DK-EWMA-LN v2 16,980 (47) 0.2500 0.00% [0.000, 0.000] 0.013 56.0% / 82.6% / 88.8% 0.2100
DK-EWMA-EQ v2 16,980 (47) 0.2500 0.00% [0.000, 0.000] 0.013 56.7% / 82.6% / 89.3% 0.2132

Verdicts (computed by rule, not edited)

  • DK-EWMA-LN v1 · 1d — ranges: calibrated direction: no edgeNo directional view by construction (P(up)=0.5), so Brier skill is exactly 0. Interval coverage 50/80/90%: 58.8%/83.2%/89.9% (within the +/-5pp tolerance at 80% and 90%).
  • Momentum logistic regression · 1d — ranges: n/a direction: no edgePooled Brier skill -0.0077, 95% block-bootstrap CI [-0.0108, -0.0046] lies below zero: no directional edge over a coin flip; the model is worse than the baseline. No interval forecast; calibration not applicable.
  • DK-EWMA-LN v1 · 7d — ranges: calibrated direction: no edgeNo directional view by construction (P(up)=0.5), so Brier skill is exactly 0. Interval coverage 50/80/90%: 55.5%/80.6%/88.1% (within the +/-5pp tolerance at 80% and 90%). Overlapping 7-day windows: effective sample ~2937 (fewer still given cross-asset correlation).
  • Momentum logistic regression · 7d — ranges: n/a direction: no edgePooled Brier skill -0.0385, 95% block-bootstrap CI [-0.0525, -0.0255] lies below zero: no directional edge over a coin flip; the model is worse than the baseline. No interval forecast; calibration not applicable. Overlapping 7-day windows: effective sample ~2937 (fewer still given cross-asset correlation).
  • DK-EWMA-LN v1 · 30d — ranges: not calibrated direction: no edgeNo directional view by construction (P(up)=0.5), so Brier skill is exactly 0. Interval coverage 50/80/90%: 51.9%/76.3%/84.2% (outside the +/-5pp tolerance at 80% and 90%). Intervals are too narrow (under-coverage, fat tails). Overlapping 30-day windows: effective sample ~678 (fewer still given cross-asset correlation).
  • Momentum logistic regression · 30d — ranges: n/a direction: no edgePooled Brier skill -0.1096, 95% block-bootstrap CI [-0.1573, -0.0614] lies below zero: no directional edge over a coin flip; the model is worse than the baseline. No interval forecast; calibration not applicable. Overlapping 30-day windows: effective sample ~678 (fewer still given cross-asset correlation).
  • DK-EWMA-LN v1 · 90d — ranges: calibrated direction: no edgeNo directional view by construction (P(up)=0.5), so Brier skill is exactly 0. Interval coverage 50/80/90%: 46.1%/75.3%/85.3% (within the +/-5pp tolerance at 80% and 90%). Overlapping 90-day windows: effective sample ~219 (fewer still given cross-asset correlation).
  • Momentum logistic regression · 90d — ranges: n/a direction: no edgePooled Brier skill -0.2824, 95% block-bootstrap CI [-0.4243, -0.1430] lies below zero: no directional edge over a coin flip; the model is worse than the baseline. No interval forecast; calibration not applicable. Overlapping 90-day windows: effective sample ~219 (fewer still given cross-asset correlation).
  • DK-EWMA-LN v1 · 365d — ranges: n/a direction: no edgeReported, not verdicted: only ~7 non-overlapping 365-day windows in the sample (summed per-asset n_eff 47, but the assets move together), below the 20 needed for a verdict. Coverage 50/80/90%: 46.1%/76.2%/85.5%. Show only as an uncalibrated scenario.
Known biases

The backtest uses 10 assets still listed today (survivorship bias), overlapping windows, and one exchange's prices. It is evidence, not proof. The live record above is the real test. Reproduce it: python3 cli.py fetch && python3 cli.py backtest --out reports/backtest.json