diff --git a/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/REGISTRY.md b/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/REGISTRY.md index 5fa507dff8..a9256e0cc5 100644 --- a/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/REGISTRY.md +++ b/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/REGISTRY.md @@ -42,6 +42,8 @@ Updated: 2026-09-05 — M17 HAR-LJ-Asym round-3 calibration (PR #14592, prefligh Updated: 2026-09-05 — M17 HAR-LJ-Asym round-4 (PR #14592, adjoint re-review DM `msg-20260905T001520`, 3/6 PASS / 3/6 PARTIAL) : test OOS multi-fold discriminant `test_walk_forward_lj_asym_oos_target_invariance_multi_fold` (n_splits=3, biais per-fold **distincts**, invariance per-fold bit-identique rtol 1e-12, folds antérieurs inchangés, folds postérieurs = expanding-window retrain légitime asserté comme sensibilité, train-tail > 1.0 par fold) + provenance `bounds_train_test` (`{train_end_idx = n_splits·(n//(n_splits+1)), oos_start_idx = train_end+horizon, oos_end_idx}`) relayée par `_eval_one_coin` / `aggregate_verdicts` / manifeste (`bounds_per_coin_horizon`, `fc_lj_hash_per_fold` alignés sur `per_fold_bias`) ; placeholder `if False else None` supprimé. Tests 22 → 24 verts, suite 1194 passed / 0 failed. **[M17 HAR-LJ-Asym BTC run] LIVRÉ (round-4 code) — `python har_lj_asym.py --coins BTC-USD --skip-remote --debias --horizons 1 5 10 --seeds 0 7 42 99` en 467.9 s** : h=1 **BEATS 4/4** vs HAR et M12 (p<1e-6, mean_loss_diff<0, `_coherent_beats()` strict ✓) ; h=5/h=10 INCONCLUSIVE 0/4 (p>0.05, mean_loss_diff>0 ⇒ cohérent INCONCLUSIVE). Bornes effectives BTC : `train_end=1890` (5 folds × 378 jours), `n_oos=378-382`, `n_total=2272` jours. Bit-identity cross-seed OK (`per_fold_bias` et `fc_lj_hash_per_fold` identiques sur les 4 seeds, `bounds_consistent_across_seeds=True`). Précédent c.953 `h=1 BEATS p=0.839708` réfuté — sous round-3+4 calibration le verdict reste BEATS mais devient réellement significatif. Détail dans `docs/M17_HAR_LJ_ASYM.md` section « Live BTC run (concern b — this PR) ». Manifest `scripts/results/m17_har_lj_asym.json` régénéré ; meta `manifest_m17_har_lj_asym.json` mis à jour avec `concern_addressing` round-3 + round-4. +Updated: 2026-09-28 — M17 HAR-LJ-Asym revalidation sur sept actifs avec origine et cible appariées, purge horizon et calibration train-only (Epic #1454) : **NO BEATS cluster** contre HAR (6/21 couples gagnants, 2/21 perdants, 13/21 non concluants ; SOL et LTC seuls majoritaires, 2/7 actifs, sign-test unilatéral p=0,9375) et contre M12 (1/21 couple gagnant, aucun actif majoritaire, p=1). Les 4 graines OLS sont bit-identiques, pas des réplications indépendantes. L'ancien `BTC h=1 BEATS` des lignes 2026-09-04/05 ci-dessus est **SUPERSEDED** par le rejeu apparié : BTC 0/3 horizon gagnant contre HAR et M12. Agrégat et preuves de folds/dates/DM : `scripts/results/m17_har_lj_asym_cluster_aligned.json` (blob Git SHA-256 `2ca4b9ffe0582d290dfa77a3f8c47a0381e099e4eba7ecbc4e1fc221729ff6ae`, 352 102 octets) ; détail dans `docs/M17_HAR_LJ_ASYM.md`. + Updated: 2026-09-05 — M18 TimesFM 2.5 zero-shot première entrée §C (issue #14768, lane myia-po-2026) : **vs Log-HAR 5/6 BEATS, 1/6 INCONCLUSIVE (BTC h=22, log-HAR numériquement meilleur mais p=0,23), 0/6 NO BEATS** — réserves : ETH h=22 p=0,0445 limite. Horizons 1/5/22 j, walk-forward 5 folds, seeds bit-identiques (GPU déterministe), débiais symétrique, DM conjonction MSE (#11010). Vrai checkpoint attesté (SHA 1d952420fba8, 43 720 séries, fail-explicit). Calibration quantile native : couverture 80 % à ±0,026 du nominal. HAR en niveaux dégénère en quasi-persistence (MSE identiques à 6 décimales, hashs distincts). Détail section M18 + `docs/M18_TimesFM.md`. Updated: 2026-09-05 — M18 correctif baseline har_rv (issue #14791, lane myia-po-2026) : la clause « HAR en niveaux dégénère en quasi-persistence » ci-dessus était **fausse — SUPERSEDES**. L'égalité har_rv == persistence (5e-14) était un bug d'alignement dans `HarRvModel.fit` (régresseurs contemporains de la cible → fit identité parfait, résidu ~1e-19, prévision = persistence exacte) ; le contrôle « hashs distincts » ne pouvait pas le détecter. Correctif : régresseurs décalés d'un pas (miroir `realized_variance.har_lag_features`) + garde `assert_baselines_distinct` (paires de baselines distinctes ≥ 1e-6 relatif sur ≥ 1 point OOS, sinon le run échoue). Re-run complet 24 cellules (checkpoint SHA inchangé, 43 720 séries, persistence/ewma/log_har bit-identiques) : **vs har_rv 6/6 BEATS +29,8/+51,1 %** (colonne tableau M18 mise à jour), `baseline_weakest_rel_sep` 0,11-0,18 ; har_rv corrigé meilleur que persistence (BTC h=1 MSE 1,044 vs 1,172). Verdict de tête #14768 inchangé (vs Log-HAR 5/6). Tests +7 (dont dents du garde prouvées sur l'alignement bugué : rouge à 2,65e-11). diff --git a/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/docs/M17_HAR_LJ_ASYM.md b/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/docs/M17_HAR_LJ_ASYM.md index b6612da9e6..0f66f55bf3 100644 --- a/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/docs/M17_HAR_LJ_ASYM.md +++ b/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/docs/M17_HAR_LJ_ASYM.md @@ -21,9 +21,10 @@ log RV_{t+h} = b0 + b1·log(RV-_t) + b2·log(RV+_t) - **RV_J** = jump component = max(RV_t - mu·BPV_t, 0), mu = 0.6 (Huang-Tauchen) - **RV_w**, **RV_m** = weekly (5d) / monthly (22d) HAR lag means -M17 fuses the two augmentations that each beat HAR individually in literature: -M12 (jump split, the only cluster-wide BEATS in the M-series) and M16 (asymmetric -semivariance, BTC-standalone BEATS only). +M17 combine les décompositions en sauts (M12) et en semivariances asymétriques +(M16). Leurs anciens verdicts `BEATS` ne sont pas des preuves actuelles sur le +cluster : les revalidations symétriquement calibrées de septembre 2026 concluent +`NO BEATS cluster` pour M12 et M16 (voir REGISTRY.md). ## Horizon bug fix (this PR) @@ -58,9 +59,13 @@ which `_load_panel` does not provide). - Kelly cap=1.0, fee=50bps, mu_window=60 - DM win = HAR-LJ-Asym MSE significantly below baseline at the combo level (4 seeds, deterministic OLS so per-combo result is 4/4 or 0/4) -## Results +## Résultats historiques — protocole antérieur, non comparables au rejeu calibré -**VERDICT: NO BEATS cluster-wide** (28/84 DM wins vs HAR = 33.3%) +> Les chiffres de cette section précèdent la calibration symétrique train-only +> par fold. Le rejeu du cluster sous le protocole corrigé est documenté plus bas ; +> ne pas citer les anciennes lignes comme verdict contemporain. + +**VERDICT historique : NO BEATS cluster-wide** (28/84 DM wins vs HAR = 33.3%) | Metric | Value | |--------|-------| @@ -110,26 +115,29 @@ which `_load_panel` does not provide). | Model | Verdict | DM/Win rate | Notes | |-------|---------|-------------|-------| | M2 HAR Classic | **Baseline** | -- | Sharpe +0.313 vs BH | -| M12 HAR-RV-J | **BEATS** | p=7.9e-7 | Jump-augmented — only cluster-wide BEATS | +| M12 HAR-RV-J | **BEATS historique, non confirmé** | p=7.9e-7 (ancien protocole) | Revalidation symétrique : NO BEATS cluster, 0/21 configurations BEATS | | M13 MS-HAR | NO BEATS | 39/84 | Markov-Switching | | M14 HEAVY | NO BEATS | 48/84 | Bivariate | | M15 LSTM h=64 | NO BEATS | 45/84 | Neural, overfitting | | M16 HAR-Asym | NO BEATS (cluster) | BTC 3/3 only | Asymmetric semivariance | -| **M17 HAR-LJ-Asym** | **NO BEATS** | **28/84 (33.3%)** | Jump+semivariance composite | +| **M17 HAR-LJ-Asym (historique)** | **NO BEATS historique, non comparable** | **28/84 (ancien protocole)** | Appariement des origines corrigé ; verdict cluster en attente | -## Conclusion +## Conclusion historique — non comparable au protocole apparié -HAR-LJ-Asym does NOT beat HAR Classic across the 7-coin panel, and does not -beat M12 either. The composite of M12's jump split and M16's semivariance -split does not stack — the panel-wide signal of M12 is diluted, not enhanced. +Dans l'ancien calcul positionnel, HAR-LJ-Asym ne battait ni HAR Classic ni M12 +sur l'ensemble du panel. Cette comparaison est invalidée par la différence +d'origines et de cibles mise en évidence le 2026-09-28 ; elle ne permet plus +de conclure à un gain ou à une perte du composite. -The only durable result is BTC (12/12, all horizons), which repeats the -M15/M16 pattern: BTC has enough structure to reward extra regressors, the rest -of the panel does not. The h=1 edge for 5/7 coins is genuine but collapses at -longer horizons. +L'ancien calcul attribuait à BTC 12/12 succès et à cinq actifs sur sept un +gain à h=1. Ces résultats ne sont pas conservés comme faits établis : le +rejeu apparié BTC du 2026-09-28 donne 0/4 succès face à HAR et à M12 pour +chacun des horizons 1, 5 et 10. Les autres actifs demandent le bilan complet +du rejeu corrigé. -This confirms the M-series verdict: **M12 HAR-RV-J remains the only cluster-wide -BEATS**. Parsimony wins — stacking augmentations does not. +Cette comparaison historique ne démontre pas un avantage cluster de M12 : sa +revalidation calibrée du 13 septembre 2026 ne confirme pas le `BEATS` initial. +Le rejeu M17, sous calibration symétrique, doit être lu séparément ci-dessous. The corrected sweep supersedes the bugged "60/60 BEATS" verdict (the bug made `horizon` a no-op via a contemporaneous target). @@ -188,7 +196,10 @@ This **changes the headline result**: the c.951 claim that M17 BEATS M12 at ever > **M17 (HAR-LJ-Asym) BEATS HAR Classic (debias-symmetric) at h=1 only (4/4 BEATS, var_ratio=0.778, precision gain); is INCONCLUSIVE at h=5 against both HAR-debiased and M12-debiased; is BEATEN BY HAR-debiased at h=10 (0/4, MSE 0.464 vs 0.366).** -This is the more honest verdict. The M-series conclusion (M12 HAR-RV-J remains the only cluster-wide BEATS) holds; M17 (HAR-LJ-Asym) is a precision gain at h=1 only, and stacking asymmetric semivariance regressors on top of M12 does **not** extend the cluster-wide beat. +Cette lecture BTC est elle-même supersédée par le rejeu round-4 ci-dessous. +L'affirmation historique selon laquelle M12 serait le seul `BEATS` cluster n'a +ensuite pas été confirmée par sa revalidation symétrique du 13 septembre ; elle +ne doit pas servir de référence pour le rejeu M17 à sept actifs. ### Bit-identity audit anchor (concern #3) @@ -292,9 +303,12 @@ fix (concern d) are handled outside this code surface. fold_size, n_folds}` — indices in X_all (merged-valid) coordinates, where position j maps to original-series timestamp `merged.index[j]` and its h-step target reads original positions up to `j + horizon`. -`train_end_idx = n_folds * fold_size` with `fold_size = n // (n_splits + 1)` -(the placeholder `int(...) if False else None` that never computed anything -is removed). The per-(coin, horizon, seed) row relays it alongside +Dans le protocole historique, `train_end_idx = n_folds * fold_size` ; +ce champ désignait en réalité le début du dernier bloc test, non la fin +réelle des cibles d'entraînement. La version corrigée purge `horizon` lignes +avant chaque frontière : `train_end_idx = n_folds * fold_size - horizon`, +`oos_start_idx = n_folds * fold_size`. `n_oos` totalise les prévisions des +folds exécutés et ne décrit pas une partition test contiguë. The per-(coin, horizon, seed) row relays it alongside `per_fold_bias` and `fc_lj_hash_per_fold` (one 16-hex hash per fold slice, aligned with `per_fold_bias`, anchoring the global `fc_lj_hash` granules to the bounds); `aggregate_verdicts` surfaces `bounds_train_test` + @@ -320,7 +334,13 @@ only fold k's calibration tail moves `per_fold_bias[k]` by > 1.0 (measured +1.15 / +3.00 / +6.50 with delta=10) while earlier folds stay unchanged. The round-3 single-fold test stays as a smoke test. -### Live BTC run (concern b — this PR) +### Ancien rejeu BTC (concern b — archive non comparable) + +> Les résultats et conclusions BTC de cette sous-section sont invalidés par +> l'appariement positionnel décrit dans le diagnostic du 2026-09-28. Les quatre +> graines OLS répètent le même modèle déterministe ; leurs quatre tests DM ne +> constituent pas quatre confirmations indépendantes. Conserver les chiffres +> ci-dessous comme trace historique, pas comme preuve de performance. Live BTC Bitstamp hourly 2014-2024 (`TRADING_DATA_ROOT/Bitstamp_BTCUSD_1h_2014-20240808.csv`, 54 666 hourly bars, ~2 272 daily bars after aggregation) executed @@ -362,7 +382,7 @@ HAR debiased + M12) = 60 walks, 467.9 s wall-clock CPU. Manifest **Headline** : **BTC h=1 : M17 HAR-LJ-Asym BEATS HAR Classic et M12** (très significatif, p<1e-6 sur 4 seeds) ; BTC h=5 et h=10 : INCONCLUSIVE. Le pattern est cohérent avec la -littérature M12/M16 (M17 hérite de M16 jump + M12 semivariance, deux augmentations qui +littérature M12/M16 (M17 hérite des sauts M12 et des semivariances M16, deux augmentations qui battent HAR surtout à court terme — la marge se résorbe à moyen terme). **Précédent c.953 réfuté** : c.953 publiait `h=1 BEATS p_value=0.839708` (incohérent — @@ -373,3 +393,55 @@ signe corrigé qui a ramené les p-values dans le régime significatif. **Bit-identity cross-seed** : les 4 seeds rendent des `per_fold_bias` et `fc_lj_hash_per_fold` **bit-identiques** (OLS déterministe sur (X, y) fixes), `panel_hashes_consistent=True` et `bounds_consistent_across_seeds=True` pour les 3 horizons. + +## Diagnostic du rejeu cluster — 2026-09-28 + +Le premier rejeu a couvert toutes les combinaisons prévues, mais ses comparaisons sont rejetées : +M17 indexait chaque prévision par son origine, HAR et M12 par le premier jour +de sa cible. La troncature par position associait donc des dates et des cibles +différentes. Sur BTC à h=1, seules 378/1890 positions avaient la même date ; +à h=5, aucune des 1870 positions tronquées n'en avait une. Le JSON provisoire +reste hors Git et ne fonde aucun verdict cluster. + +Le calcul corrige convertit les dates HAR/M12 vers le jour RV précédent, joint +les quatre prévisions sur leurs origines communes et compare les cibles natives +des trois modèles à la même moyenne des `horizon` prochains log-RV. Une cible +non identique provoque un échec explicite avant le test Diebold–Mariano. +Chaque ligne conserve le nombre de dates appariées, leurs bornes et leur +empreinte ; les empreintes par fold couvrent les dates M17, les bornes et les +prévisions. Les `horizon` dernières cibles d'entraînement sont purgées avant +chaque fold, de sorte qu'aucune cible apprise ne franchit sa frontière test. +Le rejeu apparié, découpé en trois lots BTC (12), ETH (12) et cinq autres actifs +(60), couvre **84/84** combinaisons et **21** couples actif–horizon. Les SHA-256 +des résultats et manifestes de chaque lot ont été revérifiés contre leurs +ancres ; pour chaque couple, les quatre graines donnent les mêmes prévisions, +cibles, dates et DM. Elles contrôlent donc la reproductibilité OLS, sans +constituer quatre observations indépendantes. Chaque ligne possède cinq +empreintes de fold, les bornes et le nombre de dates appariées (BTC : +1885/1865/1841 pour h=1/5/10). Le fichier +`scripts/results/m17_har_lj_asym_cluster_aligned.json` rassemble les résultats +par graine, les comparaisons dédupliquées et les SHA-256 des trois lots ; ses +352 102 octets dans le blob Git restent sous la limite de 512 000 octets des nouveaux résultats. +Le SHA-256 du blob Git (après normalisation CRLF → LF) est `2ca4b9ffe0582d290dfa77a3f8c47a0381e099e4eba7ecbc4e1fc221729ff6ae` ; le fichier de travail Windows mesure 364 496 octets et porte une empreinte différente. + +| Actif | vs HAR, h=1/5/10 | vs M12, h=1/5/10 | +|---|---|---| +| BTC | I / I / I | I / I / I | +| ETH | I / perdu / perdu | I / I / I | +| SOL | gain / gain / gain | I / I / I | +| LTC | I / gain / gain | I / I / I | +| XRP | I / I / I | gain / I / I | +| ADA | gain / I / I | I / I / I | +| DOT | I / I / I | I / I / I | + +`I` signifie DM non concluant à 5 %, `gain` et `perdu` signifient un DM +significatif sur la perte MSE ; les p-values, différences de pertes, MSE, +biais signés et variances par modèle figurent dans l'artefact. **Verdict : +NO BEATS cluster contre HAR et M12** : six couples sur 21 battent HAR et +un bat M12, mais seuls SOL et LTC gagnent sur une majorité d'horizons face +à HAR (2/7 actifs ; test binomial unilatéral p=0,9375), aucun face à M12 +(0/7 ; p=1). ETH perd face à HAR sur deux horizons. Les succès isolés ne +sont pas un avantage généralisé. Le rejeu ne réhabilite pas le verdict +BTC historique (0/3 horizon gagnant contre les deux baselines). Les fenêtres +sont plus courtes pour les cinq actifs yfinance ; le verdict reste lié à +ces données et à cette définition des folds, sans prétention causale. diff --git a/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/har_lj_asym.py b/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/har_lj_asym.py index 38c07f3028..4abbc76b70 100644 --- a/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/har_lj_asym.py +++ b/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/har_lj_asym.py @@ -268,6 +268,7 @@ def walk_forward_lj_asym( "aggregate_mse_logrv_debiased": np.nan, "per_fold_bias": [], "per_fold_bounds": [], + "index_all": [], } feature_cols = [ @@ -278,6 +279,7 @@ def walk_forward_lj_asym( valid = target_fwd.notna().values X_all = merged[feature_cols].values[valid] y_all = target_fwd.values[valid] + index_all = merged.index[valid] n = len(X_all) fold_size = n // (n_splits + 1) @@ -296,8 +298,9 @@ def walk_forward_lj_asym( split = (fold + 1) * fold_size if split + horizon >= n: break - X_train, X_test = X_all[:split], X_all[split : split + fold_size] - y_train, y_test = y_all[:split], y_all[split : split + fold_size] + train_end = split - horizon + X_train, X_test = X_all[:train_end], X_all[split : split + fold_size] + y_train, y_test = y_all[:train_end], y_all[split : split + fold_size] model = HARLJAsymModel().fit(X_train, y_train) yhat = model.predict(X_test) @@ -307,10 +310,10 @@ def walk_forward_lj_asym( per_fold_bias.append(bias) per_fold_bounds.append({ "fold_idx": int(fold), - "train_end_idx": int(split), + "train_end_idx": int(train_end), "oos_start_idx": int(split), "oos_end_idx": int(split + fold_size), - "n_train": int(split), + "n_train": int(train_end), "n_oos": int(fold_size), }) @@ -329,6 +332,7 @@ def walk_forward_lj_asym( "aggregate_mse_logrv_debiased": np.nan, "per_fold_bias": per_fold_bias, "per_fold_bounds": per_fold_bounds, + "index_all": index_all, } forecasts_arr = np.array(forecasts) @@ -342,21 +346,17 @@ def walk_forward_lj_asym( forecasts_debiased = [] mse_debiased = np.nan - # Round-4 provenance (adjoint concern (c), DM msg-20260905T001520): - # fold k tests on X_all[(k+1)*fold_size : (k+2)*fold_size), so the first - # forecast sits at X_all index ``fold_size`` and the last EXECUTED fold's - # train ends at ``n_folds * fold_size`` (== n_splits * (n // (n_splits+1)) - # when every fold runs). Indices are X_all (merged valid) coordinates: - # X_all position j maps to original-series timestamp ``merged.index[j]``, - # and its h-step target reads original positions up to j + horizon. + # The last training target ends before the last fold's OOS origin. + # Earlier folds are also OOS, so these global bounds summarize only the + # final fold's training boundary, not one contiguous train/test partition. n_folds = len(per_fold_bias) - n_train_end = int(n_folds * fold_size) + n_train_end = int(per_fold_bounds[-1]["train_end_idx"]) bounds_train_test = { "train_end_idx": n_train_end, - "oos_start_idx": int(n_train_end + horizon), - "oos_end_idx": int(n), + "oos_start_idx": int(per_fold_bounds[-1]["oos_start_idx"]), + "oos_end_idx": int(per_fold_bounds[-1]["oos_end_idx"]), "n_train": n_train_end, - "n_oos": int(n - n_train_end), + "n_oos": int(len(forecasts)), "n_total": int(n), "fold_size": int(fold_size), "n_folds": int(n_folds), @@ -370,6 +370,7 @@ def walk_forward_lj_asym( "aggregate_mse_logrv_debiased": mse_debiased, "per_fold_bias": per_fold_bias, "per_fold_bounds": per_fold_bounds, + "index_all": index_all, "bounds_train_test": bounds_train_test, } @@ -547,33 +548,58 @@ def _eval_one_coin( if m12_fc is None or (hasattr(m12_fc, '__len__') and len(m12_fc) == 0): return None - # --- Align all three models to the shortest forecast series --- - n = min( - len(res_lj["forecasts"]), - len(har_fc_raw), - len(har_fc_dm), - len(m12_fc), - ) - if n < 10: + # HAR/M12 dates label the first target day; M17 dates label the forecast + # origin. Bridge to the preceding RV date before joining the OOS series. + lj_dates = pd.DatetimeIndex([ + res_lj["index_all"][i] + for fold in res_lj["per_fold_bounds"] + for i in range(fold["oos_start_idx"], fold["oos_end_idx"]) + ]) + lj_values = res_lj["forecasts_debiased"] if debias else res_lj["forecasts"] + lj_forecasts = pd.Series(lj_values, index=lj_dates) + lj_targets = pd.Series(res_lj["targets"], index=lj_dates) + rv_index = rv.dropna().index + + def to_origin(series: pd.Series) -> pd.Series: + if not isinstance(series, pd.Series): + raise ValueError(f"{coin}/h={horizon}: baseline forecast needs dated values") + positions = rv_index.get_indexer(series.index) + if (positions <= 0).any(): + raise ValueError(f"{coin}/h={horizon}: baseline date has no RV origin") + return pd.Series(series.to_numpy(), index=rv_index[positions - 1]) + + har_forecasts = to_origin(har_fc_dm) + har_raw_forecasts = to_origin(har_fc_raw) + m12_forecasts = to_origin(m12_fc) + common = lj_dates.intersection(har_forecasts.index).intersection( + har_raw_forecasts.index).intersection(m12_forecasts.index + ).sort_values() + if len(common) < 10: return None - - fc_lj = np.array(res_lj["forecasts"][:n]) - # Round-3 concern #1: when debias=True, consume the PER-FOLD-corrected - # forecasts produced inside walk_forward_lj_asym (each fold shifted by - # that fold's train-tail bias, yhat_corrected = yhat + bias). This - # replaces the c.955 post-walk-forward global-mean shift, which used the - # wrong sign and violated per-fold identity. - if debias and res_lj.get("forecasts_debiased"): - fc_lj = np.array(res_lj["forecasts_debiased"][:n]) - fc_har = np.array(har_fc_dm.values[:n]) if hasattr(har_fc_dm, 'values') else np.array(har_fc_dm[:n]) - fc_har_raw = np.array(har_fc_raw.values[:n]) if hasattr(har_fc_raw, 'values') else np.array(har_fc_raw[:n]) - fc_m12 = np.array(m12_fc.values[:n]) if hasattr(m12_fc, 'values') else np.array(m12_fc[:n]) - tgt = np.array(res_lj["targets"][:n]) - - err_lj = fc_lj - tgt[:len(fc_lj)] - err_har = fc_har - tgt[:len(fc_har)] # DM leg (calibrated when debias=True) - err_har_raw = fc_har_raw - tgt[:len(fc_har_raw)] # truly raw leg - err_m12 = fc_m12 - tgt[:len(fc_m12)] # internally calibrated when debias=True + shared_target = realized_variance_to_log(rv).rolling(horizon).mean().shift(-horizon) + tgt = shared_target.reindex(common).to_numpy(dtype=float) + if not np.isfinite(tgt).all() or not np.allclose( + lj_targets.loc[common].to_numpy(dtype=float), tgt, rtol=1e-12, atol=1e-12, + ): + raise ValueError(f"{coin}/h={horizon}: M17 target differs from shared target") + native_results = [("HAR raw", res_har_uncal), ("M12", res_m12)] + if debias: + native_results.append(("HAR calibrated", res_har_deb)) + for name, result in native_results: + native_target = to_origin(result["targets"]).reindex(common).to_numpy(dtype=float) + if not np.isfinite(native_target).all() or not np.allclose( + native_target, tgt, rtol=1e-12, atol=1e-12, + ): + raise ValueError(f"{coin}/h={horizon}: {name} target differs from shared target") + fc_lj = lj_forecasts.loc[common].to_numpy(dtype=float) + fc_har = har_forecasts.loc[common].to_numpy(dtype=float) + fc_har_raw = har_raw_forecasts.loc[common].to_numpy(dtype=float) + fc_m12 = m12_forecasts.loc[common].to_numpy(dtype=float) + n = len(common) + err_lj = fc_lj - tgt + err_har = fc_har - tgt + err_har_raw = fc_har_raw - tgt + err_m12 = fc_m12 - tgt # --- MSE = bias^2 + variance decomposition (population variance, ddof=0) --- mse_lj_empirical = float(np.mean(err_lj ** 2)) @@ -615,6 +641,9 @@ def _eval_one_coin( panel_hash = _panel_hash(rv) # Forecasts/targets/errors hashes for manifest (concern #4 fix, c.955). + aligned_dates_hash = hashlib.sha256( + common.asi8.astype(np.int64).tobytes() + ).hexdigest()[:16] fc_lj_hash = hashlib.sha256(fc_lj.astype(np.float64).tobytes()).hexdigest()[:16] fc_har_hash = hashlib.sha256(fc_har.astype(np.float64).tobytes()).hexdigest()[:16] fc_m12_hash = hashlib.sha256(fc_m12.astype(np.float64).tobytes()).hexdigest()[:16] @@ -624,19 +653,10 @@ def _eval_one_coin( err_m12_hash = hashlib.sha256(err_m12.astype(np.float64).tobytes()).hexdigest()[:16] # --- Bounds + edge-sigma disposition (concern #4; round-4 concern (c)) --- - # Provenance convention: ``bounds_train_test`` comes from the LJ - # walk-forward geometry (see walk_forward_lj_asym) -- fold k tests on - # X_all[(k+1)*fold_size : (k+2)*fold_size), the first forecast sits at - # X_all index fold_size, and the last fold's train ends at - # n_folds*fold_size (= n_splits * (n // (n_splits + 1)) when all folds - # execute). Indices are X_all (merged valid) coordinates: position j - # maps to original-series timestamp merged.index[j]; its h-step target - # reads original positions up to j + horizon. The global fc_*_hash - # cover the ALIGNED forecasts; fc_lj_hash_per_fold hashes each fold - # slice of the LJ walk-forward output, aligned with per_fold_bias, so - # the per-tranche granules are anchored to the bounds. Edge-σ is N/A - # because OLS on a deterministic (X, y) panel with fixed seeds is - # bit-identical -- see panel_hashes_consistent. + # Per-fold bounds use X_all coordinates: fold k trains up to + # (k+1)*fold_size - horizon, then tests from (k+1)*fold_size. Global + # forecast hashes cover only the dates shared by the three models; + # per-fold LJ hashes cover its complete walk-forward output. bounds_train_test = res_lj.get("bounds_train_test") fold_size_wf = (bounds_train_test or {}).get("fold_size") n_folds_wf = (bounds_train_test or {}).get("n_folds") @@ -655,60 +675,23 @@ def _eval_one_coin( ] else: fc_lj_hash_per_fold = [] - # Round-5 concern (2): per-fold content_hash covering (index, bornes, - # values) -- the explicit "where do these forecasts come from" anchor. - # Uses per_fold_bounds (aligned 1-pour-1 with per_fold_bias, concern (1)) - # for the bornes tuple, and the underlying log_rv index for the fold's - # row range (fc_series_per_fold carries the concat of fold slices in - # X_all coordinates -- we re-derive the matching index slice from - # log_rv via fold_size + horizon, since X_all = log_rv after - # dropna+rolling-shifting -- approximate but verifiable: any shift in - # the underlying panel would also shift this digest). + # Hash the exact X_all timestamps used to generate each OOS fold. per_fold_bounds_wf = res_lj.get("per_fold_bounds", []) + index_all = res_lj.get("index_all", []) fc_content_hash_per_fold: list[str] = [] if per_fold_bounds_wf and fold_size_wf and n_folds_wf and fc_series_per_fold: - # X_all is log_rv after dropna() and rolling(horizon).mean().shift(-horizon) - # valid mask -- for round-5 we hash the resulting values + the - # explicit bornes from per_fold_bounds[k] + the original index - # coordinates of the slice. The matching index slice is derived - # from log_rv.iloc[ + k*fold_size_wf : ...] but for - # hashing purposes we feed the ORIGINAL log_rv index for the same - # position range -- this is the index the user sees when auditing. - try: - for k in range(int(n_folds_wf)): - bd = per_fold_bounds_wf[k] - bornes_k = ( - int(bd["train_end_idx"]), - int(bd["oos_start_idx"]), - int(bd["oos_end_idx"]), - ) - values_k = np.asarray( - fc_series_per_fold[ - k * int(fold_size_wf) : (k + 1) * int(fold_size_wf) - ], - dtype=np.float64, - ) - # Round-5 concern (2): index component = the original - # log_rv index slice that maps to this fold's X_all - # positions. log_rv positions [oos_start_idx:oos_end_idx] - # map directly when no dropna; in practice dropna may - # shrink the index by a small constant offset -- the - # mutation tests assert that ANY shift in the index - # component changes the digest (the absolute alignment - # is not load-bearing here, the audit anchor is). - if len(log_rv) >= bornes_k[2]: - index_k = log_rv.index.values[ - max(0, bornes_k[1]) : bornes_k[2] - ] - else: - index_k = np.array([], dtype="int64") - fc_content_hash_per_fold.append( - _content_hash(index_k, bornes_k, values_k), - ) - except Exception: - # Robust: any derivation failure yields an empty list -- the - # values-only fc_lj_hash_per_fold remains the verifiable anchor. - fc_content_hash_per_fold = [] + for bd in per_fold_bounds_wf: + start = int(bd["oos_start_idx"]) + end = int(bd["oos_end_idx"]) + bornes = (int(bd["train_end_idx"]), start, end) + fold = int(bd["fold_idx"]) + values = fc_series_per_fold[ + fold * int(fold_size_wf):(fold + 1) * int(fold_size_wf) + ] + index = index_all[start:end] + if len(index) != len(values) or not values: + raise ValueError(f"M17 fold {fold}: forecast/index provenance mismatch") + fc_content_hash_per_fold.append(_content_hash(index, bornes, values)) # --- Kelly portfolio metrics --- kelly_metrics = _compute_kelly(fc_lj, tgt) @@ -741,6 +724,9 @@ def _eval_one_coin( "err_har_hash": err_har_hash, "err_m12_hash": err_m12_hash, "n_obs": int(n), + "aligned_origin_first": str(common[0]), + "aligned_origin_last": str(common[-1]), + "aligned_dates_hash": aligned_dates_hash, # Round-4 concern (c): provenance surface -- per-fold bias list, # train/OOS bounds of the walk-forward split, and per-fold hashes # (16-hex each) aligned with per_fold_bias. @@ -967,17 +953,21 @@ def main() -> None: t0 = time.time() - panel = _load_panel(skip_remote=args.skip_remote) - available = [c for c in coins if c in panel] - if not available: - print("ERROR: no coins available after loading panel") - return + panel, failures = _load_panel(skip_remote=args.skip_remote) + missing = [c for c in coins if c not in panel] + if missing: + details = ", ".join( + f"{coin} ({failures.get(coin, 'not loaded')})" for coin in missing + ) + parser.error(f"requested coins unavailable: {details}") + available = coins print(f"Panel loaded: {list(panel.keys())} ({len(panel[available[0]])} bars for {available[0]})") components = compute_daily_components(panel) print(f"Components computed for: {list(components.keys())}") rows: list[dict] = [] + skipped: list[tuple[str, int, int]] = [] total = len(available) * len(args.horizons) * len(args.seeds) done = 0 for coin in available: @@ -997,8 +987,12 @@ def main() -> None: print(f" -> MSE={result['mse_logrv']:.6f} " f"DM_har={dm_h} DM_m12={dm_m}") else: + skipped.append((coin, horizon, seed)) print(" -> SKIP (insufficient data)") + if skipped: + raise RuntimeError(f"incomplete M17 panel: {len(skipped)}/{total} combinations skipped: {skipped}") + elapsed = time.time() - t0 agg = aggregate_verdicts(rows) @@ -1016,7 +1010,8 @@ def main() -> None: "refit_every": REFIT_EVERY, "debias_har": args.debias, "calibration_size": args.calibration_size, - "calibration_protocol": "REPAIR-2 c.955 per-fold train-tail bias (no OOS target access)", + "calibration_protocol": "Per-fold train-tail bias with horizon-row purge", + "comparison_protocol": "Origin-date inner join; native targets checked against shared forward log-RV target", }, "coins": available, "horizons": args.horizons, @@ -1111,6 +1106,9 @@ def main() -> None: "fc_m12_hash": r["fc_m12_hash"], "tgt_hash": r["tgt_hash"], "err_lj_hash": r["err_lj_hash"], "err_har_hash": r["err_har_hash"], "err_m12_hash": r["err_m12_hash"], "n_obs": r["n_obs"], + "aligned_origin_first": r["aligned_origin_first"], + "aligned_origin_last": r["aligned_origin_last"], + "aligned_dates_hash": r["aligned_dates_hash"], } for r in rows ], @@ -1210,7 +1208,7 @@ def main() -> None: "walk_forward_lj_asym surfaces bounds_train_test " "{train_end_idx, oos_start_idx, oos_end_idx, n_train, n_oos} " "(indices in X_all/merged-valid coordinates; train_end_idx = " - "n_folds * fold_size). _eval_one_coin, aggregate_verdicts " + "n_folds * fold_size - horizon). _eval_one_coin, aggregate_verdicts " "(bounds_train_test + bounds_consistent_across_seeds) and " "this manifest (bounds_per_coin_horizon) relay it; " "fc_lj_hash_per_fold is aligned with per_fold_bias. The " diff --git a/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/results/m17_har_lj_asym_cluster_aligned.json b/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/results/m17_har_lj_asym_cluster_aligned.json new file mode 100644 index 0000000000..05864caa8f --- /dev/null +++ b/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/results/m17_har_lj_asym_cluster_aligned.json @@ -0,0 +1,12394 @@ +{ + "model": "M17_HAR_LJ_ASYM", + "protocol": "origin-date paired DM on forward log-RV MSE; horizon-row train purge; 60-bar train-only calibration", + "seeds": [ + 0, + 7, + 42, + 99 + ], + "independent_seed_count": 1, + "folds": 5, + "horizons": [ + 1, + 5, + 10 + ], + "n_rows": 84, + "n_distinct_asset_horizon_comparisons": 21, + "sources": [ + { + "coins": [ + "BTC-USD" + ], + "result_sha256": "abc09d4d2ef9e51d46cb09c7b8a9e81968240c26e447ba60d409547dc616c0c8", + "manifest_sha256": "370163ef7734ccabfcfffb06561175278706863108d14bb7b5bdf0b0cd2c31ec", + "n_rows": 12 + }, + { + "coins": [ + "ETH-USD" + ], + "result_sha256": "62d48f87577142909948a6299abf772636971daef8a67f1eb1b56cdcd2a033e0", + "manifest_sha256": "5d818110a960748bb45ef79dfed96cffd77095cacf440673ba54ac2159b7cb90", + "n_rows": 12 + }, + { + "coins": [ + "SOL-USD", + "LTC-USD", + "XRP-USD", + "ADA-USD", + "DOT-USD" + ], + "result_sha256": "0e605aa6c9bb19362222121906bad78c5464bb0b428a114bb0b6cec9c3a91962", + "manifest_sha256": "cd417b0f9f7ae2592b344baa8d5a2ed1adc1684aa19a439cc2afed24bb137679", + "n_rows": 60 + } + ], + "verdict": { + "vs_har": "NO BEATS cluster", + "vs_m12": "NO BEATS cluster", + "vs_har_beats": 6, + "vs_har_beaten": 2, + "vs_m12_beats": 1, + "majority_har_assets": [ + "LTC-USD", + "SOL-USD" + ], + "majority_m12_assets": [], + "har_one_sided_sign_p": 0.9375, + "m12_one_sided_sign_p": 1.0 + }, + "per_asset_horizon": [ + { + "coin": "ADA-USD", + "horizon": 1, + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "panel_hash": "82d7b0448acee3e8", + "fc_lj_hash": "bd8b078a7eb0c771", + "fc_har_hash": "5d5d1840450413bf", + "fc_m12_hash": "bfbe09d6f26559a0", + "tgt_hash": "d09275164f1e631c", + "err_lj_hash": "57aac8d8b4515302", + "err_har_hash": "9cc4da96d14e3eb9", + "err_m12_hash": "c209f9e7c0cf348d", + "fc_content_hash_per_fold": [ + "c5a51126b9aea8da", + "4a97ba93f8da4f2d", + "726132574048ecf3", + "025009dbdc4782da", + "c4a32ec3ced4a31b" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "mse_logrv": 0.6442277273161972, + "mse_har_raw": 0.6554846173908518, + "mse_har_debiased": 0.6675021668017883, + "mse_m12": 0.8850142386767097, + "bias_lj": -0.009901667628596605, + "bias_har": 0.010916292093532617, + "bias_m12": -0.04266355728327864, + "var_lj": 0.6441296842943699, + "var_har": 0.667383001368717, + "var_m12": 0.8831940595566461, + "dm_vs_har": { + "dm_statistic": -2.1505889772641513, + "p_value": 0.031914903761443236, + "mean_loss_diff": -0.023274439485591294, + "hac_variance": 0.06898567613751388, + "n_obs": 590, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3016335552657852, + "p_value": 0.1935505406827298, + "mean_loss_diff": -0.2407865113605126, + "hac_variance": 20.155897073706175, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "ADA-USD", + "horizon": 5, + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "panel_hash": "82d7b0448acee3e8", + "fc_lj_hash": "ffd069a0e4115409", + "fc_har_hash": "ef160daa5b7ff0ca", + "fc_m12_hash": "603d8e29940a1ca3", + "tgt_hash": "bcbe8416bbb18034", + "err_lj_hash": "94f12b50efc1a90c", + "err_har_hash": "918b48a248dda6e2", + "err_m12_hash": "37256de6d3e4c0b1", + "fc_content_hash_per_fold": [ + "916a932023bfda6c", + "72237300abb23d4c", + "79174c7dc4fd6518", + "e7add624db1b1724", + "ebdde8365cc52479" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "mse_logrv": 0.3249397531171978, + "mse_har_raw": 0.3303943882650669, + "mse_har_debiased": 0.33910136111218436, + "mse_m12": 0.9469172996797474, + "bias_lj": -0.040227781565017995, + "bias_har": 0.016617085606818544, + "bias_m12": -0.09269055846879427, + "var_lj": 0.32332147870755495, + "var_har": 0.33882523357812, + "var_m12": 0.9383257600504904, + "dm_vs_har": { + "dm_statistic": -0.750886341808715, + "p_value": 0.4530314772043562, + "mean_loss_diff": -0.014161607994986525, + "hac_variance": 0.1995569009353979, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.2203981385309666, + "p_value": 0.22281950558578445, + "mean_loss_diff": -0.6219775465625497, + "hac_variance": 145.72577177945612, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "ADA-USD", + "horizon": 10, + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "panel_hash": "82d7b0448acee3e8", + "fc_lj_hash": "fadfa136dca629bf", + "fc_har_hash": "f04263264a4d2718", + "fc_m12_hash": "3d22b9817f0b9918", + "tgt_hash": "510dcb822b4e9938", + "err_lj_hash": "436cf4c56310811a", + "err_har_hash": "318e6945e420323c", + "err_m12_hash": "e56c0ea7e382eb96", + "fc_content_hash_per_fold": [ + "a5cd8b8bb9f1836b", + "8ab90110f8f57917", + "f9f3736355d35d69", + "f8bae1dc992d55d5", + "1e309096c30aa4ac" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "mse_logrv": 0.294817122440836, + "mse_har_raw": 0.2799959694122335, + "mse_har_debiased": 0.29613849355890043, + "mse_m12": 1.4850730729949106, + "bias_lj": -0.012167043956506874, + "bias_har": 0.02051806878160765, + "bias_m12": -0.17084396028552493, + "var_lj": 0.29466908548219645, + "var_har": 0.29571750241237366, + "var_m12": 1.4558854142288686, + "dm_vs_har": { + "dm_statistic": -0.058839900026741845, + "p_value": 0.9531011956101567, + "mean_loss_diff": -0.001321371118064461, + "hac_variance": 0.2658595101953565, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.2587045139052273, + "p_value": 0.20867598167718393, + "mean_loss_diff": -1.1902559505540746, + "hac_variance": 471.3891434891478, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "BTC-USD", + "horizon": 1, + "n_obs": 1885, + "aligned_origin_first": "2019-06-02 00:00:00", + "aligned_origin_last": "2024-08-02 00:00:00", + "aligned_dates_hash": "cd7da3bebb8488aa", + "panel_hash": "687ddd0768e37558", + "fc_lj_hash": "f95b25b76d5fb4ac", + "fc_har_hash": "d45d07d325f101f7", + "fc_m12_hash": "01346ee67a72a19f", + "tgt_hash": "97b845a424238e08", + "err_lj_hash": "f5d892827c85d766", + "err_har_hash": "63ac35f3d209a0fd", + "err_m12_hash": "c25dcab6c990d018", + "fc_content_hash_per_fold": [ + "4ded98aea9dfa2ba", + "0958862c2a371299", + "a07711a63edaef98", + "2f1254bb0c2af7b3", + "6c5fecdfd2eacb3a" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 377, + "oos_start_idx": 378, + "oos_end_idx": 756, + "n_train": 377, + "n_oos": 378 + }, + { + "fold_idx": 1, + "train_end_idx": 755, + "oos_start_idx": 756, + "oos_end_idx": 1134, + "n_train": 755, + "n_oos": 378 + }, + { + "fold_idx": 2, + "train_end_idx": 1133, + "oos_start_idx": 1134, + "oos_end_idx": 1512, + "n_train": 1133, + "n_oos": 378 + }, + { + "fold_idx": 3, + "train_end_idx": 1511, + "oos_start_idx": 1512, + "oos_end_idx": 1890, + "n_train": 1511, + "n_oos": 378 + }, + { + "fold_idx": 4, + "train_end_idx": 1889, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1889, + "n_oos": 378 + } + ], + "mse_logrv": 0.8433713717465054, + "mse_har_raw": 0.8883440049790973, + "mse_har_debiased": 0.8438227162898, + "mse_m12": 0.8416916555929366, + "bias_lj": 0.026566956546009633, + "bias_har": -0.00513832397898636, + "bias_m12": -0.003160634700870856, + "var_lj": 0.8426655685663881, + "var_har": 0.843796313916487, + "var_m12": 0.8416816659812242, + "dm_vs_har": { + "dm_statistic": -0.04384661722059736, + "p_value": 0.9650313140935503, + "mean_loss_diff": -0.0004513445432945707, + "hac_variance": 0.1996296773633539, + "n_obs": 1885, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 0.15690275849590388, + "p_value": 0.8753382977213118, + "mean_loss_diff": 0.0016797161535691168, + "hac_variance": 0.2159193370470149, + "n_obs": 1885, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "BTC-USD", + "horizon": 5, + "n_obs": 1865, + "aligned_origin_first": "2019-06-02 00:00:00", + "aligned_origin_last": "2024-07-29 00:00:00", + "aligned_dates_hash": "d356f2b4659d6af5", + "panel_hash": "687ddd0768e37558", + "fc_lj_hash": "078b50a82bb4f528", + "fc_har_hash": "8ca4be1bb8096cc3", + "fc_m12_hash": "3f04a6404dc4be35", + "tgt_hash": "25184760f510d2fd", + "err_lj_hash": "c8926308600557bd", + "err_har_hash": "0509e0b66ff0b3a9", + "err_m12_hash": "7f2e00fa9e9cbba7", + "fc_content_hash_per_fold": [ + "2f02630f9ba589d8", + "03aa3b42ca8d7c5e", + "c18b75b8c3b74579", + "5286fe8b335d3c74", + "188a2d4feec3388c" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 373, + "oos_start_idx": 378, + "oos_end_idx": 756, + "n_train": 373, + "n_oos": 378 + }, + { + "fold_idx": 1, + "train_end_idx": 751, + "oos_start_idx": 756, + "oos_end_idx": 1134, + "n_train": 751, + "n_oos": 378 + }, + { + "fold_idx": 2, + "train_end_idx": 1129, + "oos_start_idx": 1134, + "oos_end_idx": 1512, + "n_train": 1129, + "n_oos": 378 + }, + { + "fold_idx": 3, + "train_end_idx": 1507, + "oos_start_idx": 1512, + "oos_end_idx": 1890, + "n_train": 1507, + "n_oos": 378 + }, + { + "fold_idx": 4, + "train_end_idx": 1885, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1885, + "n_oos": 378 + } + ], + "mse_logrv": 0.41631211583577976, + "mse_har_raw": 0.522360968054844, + "mse_har_debiased": 0.41849335191298304, + "mse_m12": 0.42245374948071346, + "bias_lj": 0.0706624751377975, + "bias_har": -0.002573824564704369, + "bias_m12": -0.001101947913168621, + "var_lj": 0.4113189304431799, + "var_har": 0.4184867273400932, + "var_m12": 0.4224525351915101, + "dm_vs_har": { + "dm_statistic": -0.13553581221842928, + "p_value": 0.8922028858352955, + "mean_loss_diff": -0.0021812360772032685, + "hac_variance": 0.4807039604714941, + "n_obs": 1865, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -0.35298451512038526, + "p_value": 0.7241399609948278, + "mean_loss_diff": -0.006141633644933724, + "hac_variance": 0.561871477928139, + "n_obs": 1865, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "BTC-USD", + "horizon": 10, + "n_obs": 1841, + "aligned_origin_first": "2019-06-01 00:00:00", + "aligned_origin_last": "2024-07-24 00:00:00", + "aligned_dates_hash": "2d64df32e11999f5", + "panel_hash": "687ddd0768e37558", + "fc_lj_hash": "9ee36b3be2f6688c", + "fc_har_hash": "5be9ff6ec3a7e332", + "fc_m12_hash": "7b3acc64c46d684b", + "tgt_hash": "d4c7741947ad0b5c", + "err_lj_hash": "90a4eb8a1304b62a", + "err_har_hash": "656165d65fa89613", + "err_m12_hash": "b2903b5c72b23400", + "fc_content_hash_per_fold": [ + "46f46a845609519b", + "557a119c0288e86c", + "5a492f20fcdf5552", + "05bfffafe41b3551", + "529dac7c2eecefed" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 367, + "oos_start_idx": 377, + "oos_end_idx": 754, + "n_train": 367, + "n_oos": 377 + }, + { + "fold_idx": 1, + "train_end_idx": 744, + "oos_start_idx": 754, + "oos_end_idx": 1131, + "n_train": 744, + "n_oos": 377 + }, + { + "fold_idx": 2, + "train_end_idx": 1121, + "oos_start_idx": 1131, + "oos_end_idx": 1508, + "n_train": 1121, + "n_oos": 377 + }, + { + "fold_idx": 3, + "train_end_idx": 1498, + "oos_start_idx": 1508, + "oos_end_idx": 1885, + "n_train": 1498, + "n_oos": 377 + }, + { + "fold_idx": 4, + "train_end_idx": 1875, + "oos_start_idx": 1885, + "oos_end_idx": 2262, + "n_train": 1875, + "n_oos": 377 + } + ], + "mse_logrv": 0.40672126551028825, + "mse_har_raw": 0.5709699532091546, + "mse_har_debiased": 0.38958417575350685, + "mse_m12": 0.39931842845720195, + "bias_lj": 0.09572792184471841, + "bias_har": -0.003631673575611018, + "bias_m12": -0.0025654035153529864, + "var_lj": 0.39755743048957976, + "var_har": 0.3895709867005471, + "var_m12": 0.39931184716200535, + "dm_vs_har": { + "dm_statistic": 0.6712273619224491, + "p_value": 0.5021599533114776, + "mean_loss_diff": 0.017137089756781448, + "hac_variance": 1.1876674781462562, + "n_obs": 1841, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 0.2657179736935303, + "p_value": 0.7904861878747138, + "mean_loss_diff": 0.007402837053086389, + "hac_variance": 1.4142120758635932, + "n_obs": 1841, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "DOT-USD", + "horizon": 1, + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "panel_hash": "0d2dcc6800a9bbbb", + "fc_lj_hash": "c3f21412d3c2efe8", + "fc_har_hash": "aed3bf90c4e69e18", + "fc_m12_hash": "2b79ba7c4ac8cce5", + "tgt_hash": "479cf387ccd0937e", + "err_lj_hash": "af834458a194a89e", + "err_har_hash": "02d7cb2360598c3e", + "err_m12_hash": "12710217cd9ef09b", + "fc_content_hash_per_fold": [ + "70fb178a440ebc49", + "1fe789281288498c", + "73e54c3e9b0d8324", + "059d865be3972d48", + "71ebee60ed983160" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "mse_logrv": 0.5750696169173066, + "mse_har_raw": 0.5735400332136076, + "mse_har_debiased": 0.5861043746180574, + "mse_m12": 0.8220880003608506, + "bias_lj": -0.003986913420020894, + "bias_har": -0.0008555640645540591, + "bias_m12": -0.030705402828252758, + "var_lj": 0.5750537214386879, + "var_har": 0.5861036426281888, + "var_m12": 0.8211451785980053, + "dm_vs_har": { + "dm_statistic": -1.098352943801239, + "p_value": 0.27249917859077066, + "mean_loss_diff": -0.011034757700750731, + "hac_variance": 0.059450712098271095, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.5053681381532737, + "p_value": 0.1327655142218671, + "mean_loss_diff": -0.24701838344354396, + "hac_variance": 15.859460361210362, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "DOT-USD", + "horizon": 5, + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "panel_hash": "0d2dcc6800a9bbbb", + "fc_lj_hash": "d123782e4eea747b", + "fc_har_hash": "8f9512ddbe0fc6fe", + "fc_m12_hash": "4e484f082ba7a369", + "tgt_hash": "4b0dbb98b7fc1f03", + "err_lj_hash": "407bad41d3372fae", + "err_har_hash": "1e79c97cdac8162a", + "err_m12_hash": "a36b0d356f96fd0e", + "fc_content_hash_per_fold": [ + "94854b00092ff069", + "eaca17abe6413d67", + "16c154d267c3b24a", + "5723336120e22ed2", + "cbb73ec762ca283e" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "mse_logrv": 0.2549315173153943, + "mse_har_raw": 0.24628570512080944, + "mse_har_debiased": 0.2729798662233388, + "mse_m12": 0.8652212288600375, + "bias_lj": -0.020535982955228634, + "bias_har": 0.0034139393336977066, + "bias_m12": -0.06340658979337661, + "var_lj": 0.2545097907194568, + "var_har": 0.2729682112415646, + "var_m12": 0.861200833230812, + "dm_vs_har": { + "dm_statistic": -1.5614440747683123, + "p_value": 0.11897499279190904, + "mean_loss_diff": -0.01804834890794453, + "hac_variance": 0.07495698533816478, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3678582042703384, + "p_value": 0.17189643066395233, + "mean_loss_diff": -0.6102897115446431, + "hac_variance": 111.68117156760819, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "DOT-USD", + "horizon": 10, + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "panel_hash": "0d2dcc6800a9bbbb", + "fc_lj_hash": "18bff6843abb314d", + "fc_har_hash": "48cfc299d4598748", + "fc_m12_hash": "b397b640f87f111d", + "tgt_hash": "f2033865c2372d6a", + "err_lj_hash": "2c4cd465a5d5e3c7", + "err_har_hash": "d562db87ec2f00fc", + "err_m12_hash": "15b1e4b9b8ba7ddb", + "fc_content_hash_per_fold": [ + "76150994ed3f9953", + "8daa4d1ec6618f9a", + "195fdbd822f860e5", + "227e59c6cb799834", + "166c20e4750dc8c9" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "mse_logrv": 0.22443507918390573, + "mse_har_raw": 0.19358486372785746, + "mse_har_debiased": 0.24672148748892855, + "mse_m12": 2.352871408470442, + "bias_lj": -0.0035229023626416564, + "bias_har": 0.015495113446477325, + "bias_m12": -0.16014061510171249, + "var_lj": 0.22442266834284905, + "var_har": 0.24648138894820934, + "var_m12": 2.327226391865287, + "dm_vs_har": { + "dm_statistic": -1.2186943827166326, + "p_value": 0.22348746201075032, + "mean_loss_diff": -0.02228640830502278, + "hac_variance": 0.1762937759198882, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.2356102772342648, + "p_value": 0.21713579721893295, + "mean_loss_diff": -2.128436329286536, + "hac_variance": 1564.2448544498147, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "ETH-USD", + "horizon": 1, + "n_obs": 1235, + "aligned_origin_first": "2020-07-02 00:00:00", + "aligned_origin_last": "2023-12-11 00:00:00", + "aligned_dates_hash": "29f4dd3e065953c9", + "panel_hash": "0e2609d6130fd608", + "fc_lj_hash": "f381ef7476e6be18", + "fc_har_hash": "c2a2cb6563efb845", + "fc_m12_hash": "4336943afe390431", + "tgt_hash": "dfc2e7a857d20d4d", + "err_lj_hash": "af2c8a1545e5395b", + "err_har_hash": "b9958591bb2cef12", + "err_m12_hash": "2869bfedc1537592", + "fc_content_hash_per_fold": [ + "392d0edb6063a5ac", + "f8cefe2cca7feea4", + "ca5632bdc5e95479", + "333a761a7fa5e195", + "7f799fc94bb9a199" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 247, + "oos_start_idx": 248, + "oos_end_idx": 496, + "n_train": 247, + "n_oos": 248 + }, + { + "fold_idx": 1, + "train_end_idx": 495, + "oos_start_idx": 496, + "oos_end_idx": 744, + "n_train": 495, + "n_oos": 248 + }, + { + "fold_idx": 2, + "train_end_idx": 743, + "oos_start_idx": 744, + "oos_end_idx": 992, + "n_train": 743, + "n_oos": 248 + }, + { + "fold_idx": 3, + "train_end_idx": 991, + "oos_start_idx": 992, + "oos_end_idx": 1240, + "n_train": 991, + "n_oos": 248 + }, + { + "fold_idx": 4, + "train_end_idx": 1239, + "oos_start_idx": 1240, + "oos_end_idx": 1488, + "n_train": 1239, + "n_oos": 248 + } + ], + "mse_logrv": 0.693830630255341, + "mse_har_raw": 0.686286396588121, + "mse_har_debiased": 0.6792446134715222, + "mse_m12": 0.6803076324428878, + "bias_lj": 0.04189784223168927, + "bias_har": -0.0054608123207599245, + "bias_m12": -0.006154015974016142, + "var_lj": 0.6920752010716694, + "var_har": 0.6792147930003196, + "var_m12": 0.6802697605302794, + "dm_vs_har": { + "dm_statistic": 1.3708216290545578, + "p_value": 0.17067983680136178, + "mean_loss_diff": 0.014586016783818776, + "hac_variance": 0.1397097389774163, + "n_obs": 1235, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 1.245111907003155, + "p_value": 0.21332700660158643, + "mean_loss_diff": 0.013522997812453126, + "hac_variance": 0.1455607694541961, + "n_obs": 1235, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "ETH-USD", + "horizon": 5, + "n_obs": 1215, + "aligned_origin_first": "2020-07-01 00:00:00", + "aligned_origin_last": "2023-12-06 00:00:00", + "aligned_dates_hash": "0bb53aab78fb70e8", + "panel_hash": "0e2609d6130fd608", + "fc_lj_hash": "48d03278e8545952", + "fc_har_hash": "0e3d6f8d0128606f", + "fc_m12_hash": "0d6d6a63b5f2acbd", + "tgt_hash": "61a3acaf27eec982", + "err_lj_hash": "0e2ffa2e3a6c533c", + "err_har_hash": "a6dd9433feda8057", + "err_m12_hash": "3af0b3b5bc70c489", + "fc_content_hash_per_fold": [ + "7019dde68aab26fa", + "71a4dd1487adace3", + "74649ed5f17d853f", + "1c3edec093716677", + "eaddcd4581bae644" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 242, + "oos_start_idx": 247, + "oos_end_idx": 494, + "n_train": 242, + "n_oos": 247 + }, + { + "fold_idx": 1, + "train_end_idx": 489, + "oos_start_idx": 494, + "oos_end_idx": 741, + "n_train": 489, + "n_oos": 247 + }, + { + "fold_idx": 2, + "train_end_idx": 736, + "oos_start_idx": 741, + "oos_end_idx": 988, + "n_train": 736, + "n_oos": 247 + }, + { + "fold_idx": 3, + "train_end_idx": 983, + "oos_start_idx": 988, + "oos_end_idx": 1235, + "n_train": 983, + "n_oos": 247 + }, + { + "fold_idx": 4, + "train_end_idx": 1230, + "oos_start_idx": 1235, + "oos_end_idx": 1482, + "n_train": 1230, + "n_oos": 247 + } + ], + "mse_logrv": 0.39541956047274135, + "mse_har_raw": 0.3735993801993112, + "mse_har_debiased": 0.3644750373568291, + "mse_m12": 0.3715041511358497, + "bias_lj": 0.07986411430479187, + "bias_har": -0.01317345139684927, + "bias_m12": -0.014447105006824171, + "var_lj": 0.3890412837190525, + "var_har": 0.364301497535124, + "var_m12": 0.3712954322927715, + "dm_vs_har": { + "dm_statistic": 2.1390436259490584, + "p_value": 0.032631162815639936, + "mean_loss_diff": 0.03094452311591221, + "hac_variance": 0.2523954605526026, + "n_obs": 1215, + "lag": 10, + "verdict": "BEATEN BY baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 1.5156026579865263, + "p_value": 0.12988017360866833, + "mean_loss_diff": 0.023915409336891593, + "hac_variance": 0.3002881237278325, + "n_obs": 1215, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "ETH-USD", + "horizon": 10, + "n_obs": 1190, + "aligned_origin_first": "2020-06-30 00:00:00", + "aligned_origin_last": "2023-11-30 00:00:00", + "aligned_dates_hash": "844d3be01fc00c4a", + "panel_hash": "0e2609d6130fd608", + "fc_lj_hash": "1293ee5ac30be9cc", + "fc_har_hash": "c2a5ded5ce1445e5", + "fc_m12_hash": "c1bf08c86c8a9375", + "tgt_hash": "6733337824a443c6", + "err_lj_hash": "ea93928aa911b27c", + "err_har_hash": "e675342d1c9ae34b", + "err_m12_hash": "e9cd8ce4734812f7", + "fc_content_hash_per_fold": [ + "bf3efd4b09d4d8c3", + "ff66261ad98e0be7", + "77f3120dc658be02", + "64e4a6ea066a4035", + "c153d4a8fa91e525" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 236, + "oos_start_idx": 246, + "oos_end_idx": 492, + "n_train": 236, + "n_oos": 246 + }, + { + "fold_idx": 1, + "train_end_idx": 482, + "oos_start_idx": 492, + "oos_end_idx": 738, + "n_train": 482, + "n_oos": 246 + }, + { + "fold_idx": 2, + "train_end_idx": 728, + "oos_start_idx": 738, + "oos_end_idx": 984, + "n_train": 728, + "n_oos": 246 + }, + { + "fold_idx": 3, + "train_end_idx": 974, + "oos_start_idx": 984, + "oos_end_idx": 1230, + "n_train": 974, + "n_oos": 246 + }, + { + "fold_idx": 4, + "train_end_idx": 1220, + "oos_start_idx": 1230, + "oos_end_idx": 1476, + "n_train": 1220, + "n_oos": 246 + } + ], + "mse_logrv": 0.4097601477807659, + "mse_har_raw": 0.37475297490237225, + "mse_har_debiased": 0.3633018703508239, + "mse_m12": 0.37394830453304434, + "bias_lj": 0.10948214439294102, + "bias_har": -0.01857342215023686, + "bias_m12": -0.02176723248034781, + "var_lj": 0.39777380783988914, + "var_har": 0.36295689834045297, + "var_m12": 0.37347449212319084, + "dm_vs_har": { + "dm_statistic": 1.9647514224785922, + "p_value": 0.04967559138058486, + "mean_loss_diff": 0.04645827742994196, + "hac_variance": 0.6547807845425807, + "n_obs": 1190, + "lag": 10, + "verdict": "BEATEN BY baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 1.4108839460173173, + "p_value": 0.15854041887013093, + "mean_loss_diff": 0.035811843247721506, + "hac_variance": 0.7544938596371313, + "n_obs": 1190, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "LTC-USD", + "horizon": 1, + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "panel_hash": "f05d5a064a956c49", + "fc_lj_hash": "6aa44034c8ae34fa", + "fc_har_hash": "92bec57911486ef4", + "fc_m12_hash": "3c76d8aaf8483fb7", + "tgt_hash": "82ee182dfd794a10", + "err_lj_hash": "ad3bdfd8742ca931", + "err_har_hash": "975b8ee4f0d56917", + "err_m12_hash": "144a73d72f2c4a46", + "fc_content_hash_per_fold": [ + "7f210f5329f40a67", + "ba1a17b8c3faadd0", + "3b01a153acbaf3ac", + "c1c459ec3d745223", + "db224a29eeed5f64" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "mse_logrv": 0.6194987700501371, + "mse_har_raw": 0.6173151976839623, + "mse_har_debiased": 0.6275961137356597, + "mse_m12": 0.7152318053016106, + "bias_lj": 0.011186062779808143, + "bias_har": 0.021270643446264934, + "bias_m12": 0.01786816537054145, + "var_lj": 0.6193736420496232, + "var_har": 0.6271436734630416, + "var_m12": 0.7149125339679016, + "dm_vs_har": { + "dm_statistic": -0.7207354749896472, + "p_value": 0.47135823002980937, + "mean_loss_diff": -0.008097343685522717, + "hac_variance": 0.07434446544581243, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.891041054263221, + "p_value": 0.05910932814770553, + "mean_loss_diff": -0.09573303525147349, + "hac_variance": 1.5095136242283718, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "LTC-USD", + "horizon": 5, + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "panel_hash": "f05d5a064a956c49", + "fc_lj_hash": "c788771c0e15e23c", + "fc_har_hash": "f436d8d900ceb5bf", + "fc_m12_hash": "33c3ab7c10485ecc", + "tgt_hash": "d0561d0a1a348653", + "err_lj_hash": "441d10a0a0fd863d", + "err_har_hash": "2b99a68846b54da0", + "err_m12_hash": "bd71437ec61d6d9d", + "fc_content_hash_per_fold": [ + "632766d92c5785f5", + "6813f9b5e62a43fc", + "0d57b7c225fc561f", + "98d6fe31ee74ba12", + "46e12e1a471014d9" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "mse_logrv": 0.3360174973356695, + "mse_har_raw": 0.3367757472674965, + "mse_har_debiased": 0.37391988572285506, + "mse_m12": 0.7632099939014148, + "bias_lj": 0.007569575826826867, + "bias_har": 0.043556226861957106, + "bias_m12": 0.03378116722807494, + "var_lj": 0.3359601988574714, + "var_har": 0.3720227408244048, + "var_m12": 0.7620688266421236, + "dm_vs_har": { + "dm_statistic": -2.49622536892828, + "p_value": 0.01283413305804304, + "mean_loss_diff": -0.037902388387185564, + "hac_variance": 0.12934677152071833, + "n_obs": 570, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.6014281353642932, + "p_value": 0.10983712400699308, + "mean_loss_diff": -0.42719249656574526, + "hac_variance": 39.92292441461982, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "LTC-USD", + "horizon": 10, + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "panel_hash": "f05d5a064a956c49", + "fc_lj_hash": "c277c13e49454fbe", + "fc_har_hash": "99e7ead85ecf63e7", + "fc_m12_hash": "82c343cbb976eba1", + "tgt_hash": "7aeee75f5b379c4f", + "err_lj_hash": "9ce2333922d4c6ed", + "err_har_hash": "b33206fe3521ce30", + "err_m12_hash": "b07c311d68c6f090", + "fc_content_hash_per_fold": [ + "334f488e6a1db3bd", + "67a809c6840a6677", + "6a6a8f2ee85d2194", + "dc785f7f7c6be08e", + "82c6f83893157173" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "mse_logrv": 0.3030272425335194, + "mse_har_raw": 0.3042718840208134, + "mse_har_debiased": 0.38292025338981617, + "mse_m12": 2.9786788494924226, + "bias_lj": 0.02919321373517688, + "bias_har": 0.0690054068617158, + "bias_m12": 0.05705763446513657, + "var_lj": 0.3021749988053317, + "var_har": 0.37815850721366523, + "var_m12": 2.975423275841665, + "dm_vs_har": { + "dm_statistic": -3.4638204018197647, + "p_value": 0.0005744413918851166, + "mean_loss_diff": -0.07989301085629673, + "hac_variance": 0.280448600810746, + "n_obs": 546, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3045559347160165, + "p_value": 0.19259471320823573, + "mean_loss_diff": -2.675651606958903, + "hac_variance": 2217.5843639140303, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "SOL-USD", + "horizon": 1, + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "panel_hash": "4f644cf7fb2a2882", + "fc_lj_hash": "bdd31c62c5620a92", + "fc_har_hash": "a95709a1caf2439c", + "fc_m12_hash": "aa62abc6e6d433e7", + "tgt_hash": "d24b19cc4a38fa8e", + "err_lj_hash": "8f08fb1177c8dbb2", + "err_har_hash": "fab83ca437992297", + "err_m12_hash": "a80a7330aed256bd", + "fc_content_hash_per_fold": [ + "1fd1cc2c03934f31", + "dcbb9d9b2a3557e7", + "6eebd26ad2459fd7", + "9996f09af9fe19bd", + "c0f44e9893a9f9c3" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "mse_logrv": 0.6136916818821826, + "mse_har_raw": 0.6197412779312906, + "mse_har_debiased": 0.6536414675146837, + "mse_m12": 17.223735452384215, + "bias_lj": 0.009664285829212724, + "bias_har": 0.03852466025276668, + "bias_m12": -0.598570705300712, + "var_lj": 0.6135982834615938, + "var_har": 0.6521573180670925, + "var_m12": 16.865448563140024, + "dm_vs_har": { + "dm_statistic": -2.855146354998824, + "p_value": 0.004453221105884531, + "mean_loss_diff": -0.03994978563250099, + "hac_variance": 0.11531543751487754, + "n_obs": 590, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3080871790052915, + "p_value": 0.19135400426919413, + "mean_loss_diff": -16.61004377050203, + "hac_variance": 94969.3510891445, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "SOL-USD", + "horizon": 5, + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "panel_hash": "4f644cf7fb2a2882", + "fc_lj_hash": "82d2352f558b8835", + "fc_har_hash": "cd6c3185045ae210", + "fc_m12_hash": "ecb1ce4eeba1231e", + "tgt_hash": "600ba2603f51a3ea", + "err_lj_hash": "56e3f81d3fad6bc6", + "err_har_hash": "5cb30561927382cf", + "err_m12_hash": "5a71383bff9a3ca2", + "fc_content_hash_per_fold": [ + "38f75bec07597c8e", + "876250021c43d174", + "41c7ba463a10c61a", + "a377cd073a4a8260", + "d2b77f0598b1fb71" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "mse_logrv": 0.2705997659243018, + "mse_har_raw": 0.2839315784257536, + "mse_har_debiased": 0.32699046462524034, + "mse_m12": 25.691731830627248, + "bias_lj": 0.0011561739850488432, + "bias_har": 0.059201938879538826, + "bias_m12": -0.7788477897537633, + "var_lj": 0.2705984291860181, + "var_har": 0.32348559505814367, + "var_m12": 25.085127951022926, + "dm_vs_har": { + "dm_statistic": -2.8710912593972884, + "p_value": 0.004242847083560486, + "mean_loss_diff": -0.05639069870093851, + "hac_variance": 0.21642677132233815, + "n_obs": 570, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.353838119768665, + "p_value": 0.1763255120887215, + "mean_loss_diff": -25.421132064702952, + "hac_variance": 197809.1243492833, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "SOL-USD", + "horizon": 10, + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "panel_hash": "4f644cf7fb2a2882", + "fc_lj_hash": "70ea2158a5fc78ff", + "fc_har_hash": "60cb347edc1d31b5", + "fc_m12_hash": "30eefc369c397d9e", + "tgt_hash": "866a9b50e9cd1bcb", + "err_lj_hash": "26a0d54cc75f15d9", + "err_har_hash": "5145d543cb78a38d", + "err_m12_hash": "c566dc15829a81b8", + "fc_content_hash_per_fold": [ + "cc90d91b99d61b78", + "d7643b51f86e84d0", + "cf5f2130864c7a9c", + "a5ef56c6f686b4f5", + "f111caaf86b9cd1c" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "mse_logrv": 0.24672230047167765, + "mse_har_raw": 0.25606258164221335, + "mse_har_debiased": 0.3137524146401589, + "mse_m12": 78.5353856052947, + "bias_lj": 0.03012417020367858, + "bias_har": 0.0771020890165458, + "bias_m12": -1.5578436142807777, + "var_lj": 0.24581483484121747, + "var_har": 0.30780768250944357, + "var_m12": 76.10850887873931, + "dm_vs_har": { + "dm_statistic": -3.0322488579380966, + "p_value": 0.0025428732192542824, + "mean_loss_diff": -0.06703011416848126, + "hac_variance": 0.25760641192711725, + "n_obs": 546, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.5152531904850859, + "p_value": 0.13028803914437126, + "mean_loss_diff": -78.28866330482303, + "hac_variance": 1407258.1563299075, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "XRP-USD", + "horizon": 1, + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "panel_hash": "3958ac1d94235291", + "fc_lj_hash": "bc06a563141fc85c", + "fc_har_hash": "4154a85d2a248faa", + "fc_m12_hash": "100a8f9d91152081", + "tgt_hash": "f70e17a425a0ad19", + "err_lj_hash": "fb565f8a5e1c601c", + "err_har_hash": "d6f47f09fd8079c1", + "err_m12_hash": "071c4fb9e8c8aa72", + "fc_content_hash_per_fold": [ + "cb7579a28f021fab", + "e0769115e9d13dc7", + "ca26aedece2c557e", + "d27bc100d1404f01", + "605401fe4496d9f5" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "mse_logrv": 0.826953815762709, + "mse_har_raw": 0.8228330799977039, + "mse_har_debiased": 0.8515349401536169, + "mse_m12": 0.8500748194771086, + "bias_lj": -0.014530549775308224, + "bias_har": 0.009254611068452129, + "bias_m12": -1.2499662736262382e-05, + "var_lj": 0.8267426788859361, + "var_har": 0.8514492923275886, + "var_m12": 0.850074819320867, + "dm_vs_har": { + "dm_statistic": -1.9492538054548094, + "p_value": 0.05173939761504864, + "mean_loss_diff": -0.024581124390908014, + "hac_variance": 0.09366600608662318, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.9927518876941277, + "p_value": 0.04674961900063912, + "mean_loss_diff": -0.023121003714399693, + "hac_variance": 0.07929069112646282, + "n_obs": 590, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + } + }, + { + "coin": "XRP-USD", + "horizon": 5, + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "panel_hash": "3958ac1d94235291", + "fc_lj_hash": "789e5b120618dd0c", + "fc_har_hash": "d1bdebdc1911dfee", + "fc_m12_hash": "c792357801e47a4f", + "tgt_hash": "b21b989cc43c0f57", + "err_lj_hash": "00a66e530b97608d", + "err_har_hash": "bfaa6884670c90f5", + "err_m12_hash": "3eef8c9437efd14e", + "fc_content_hash_per_fold": [ + "4e64e3086100af48", + "2d08f55b78fd8649", + "2738d1dabbe4ed35", + "47a8f84c753f6c24", + "059d16958aeeb818" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "mse_logrv": 0.45092244230353473, + "mse_har_raw": 0.4109516970970732, + "mse_har_debiased": 0.4656392311329043, + "mse_m12": 0.4598134735616486, + "bias_lj": -0.03204786173216993, + "bias_har": 0.014944304877391642, + "bias_m12": -0.005007974718778658, + "var_lj": 0.44989537686193043, + "var_har": 0.46541589888463586, + "var_m12": 0.45978839375086467, + "dm_vs_har": { + "dm_statistic": -0.6852063972252797, + "p_value": 0.4934927274428689, + "mean_loss_diff": -0.014716788829369495, + "hac_variance": 0.2588053929650414, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -0.3855491439779335, + "p_value": 0.6999746983333444, + "mean_loss_diff": -0.008891031258113842, + "hac_variance": 0.29835602409866413, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + }, + { + "coin": "XRP-USD", + "horizon": 10, + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "panel_hash": "3958ac1d94235291", + "fc_lj_hash": "117a301f1e586bf7", + "fc_har_hash": "e3892d97afe98147", + "fc_m12_hash": "39bf7ddb43e43cda", + "tgt_hash": "67eb795412cf327a", + "err_lj_hash": "f15c9a3480520bdd", + "err_har_hash": "699e44ac40ee9b2e", + "err_m12_hash": "a967816d552e048c", + "fc_content_hash_per_fold": [ + "91fd8cc5486202bb", + "f3de1c905cd6b953", + "b9f19c3bd09c4b7e", + "fb31a63dad4e96e0", + "3fe600f6914516d7" + ], + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "mse_logrv": 0.413516228975765, + "mse_har_raw": 0.3377507777170964, + "mse_har_debiased": 0.43661700781057844, + "mse_m12": 0.44159275743654286, + "bias_lj": 0.02555464377000879, + "bias_har": 0.02845918123272062, + "bias_m12": -0.0076975142352874405, + "var_lj": 0.412863189157553, + "var_har": 0.4358070828141416, + "var_m12": 0.4415335057111404, + "dm_vs_har": { + "dm_statistic": -0.7065099083703072, + "p_value": 0.4801730229694232, + "mean_loss_diff": -0.0231007788348135, + "hac_variance": 0.5635898502592361, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -0.7780686168278909, + "p_value": 0.4368662068882059, + "mean_loss_diff": -0.02807652846077785, + "hac_variance": 0.6864318906046932, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + } + } + ], + "per_seed_results": [ + { + "coin": "BTC-USD", + "horizon": 1, + "seed": 0, + "mse_logrv": 0.8433713717465054, + "mse_har_raw": 0.8883440049790973, + "mse_har_debiased": 0.8438227162898, + "mse_m12": 0.8416916555929366, + "bias_lj": 0.026566956546009633, + "bias_har": -0.00513832397898636, + "bias_m12": -0.003160634700870856, + "var_lj": 0.8426655685663881, + "var_har": 0.843796313916487, + "var_m12": 0.8416816659812242, + "dm_vs_har": { + "dm_statistic": -0.04384661722059736, + "p_value": 0.9650313140935503, + "mean_loss_diff": -0.0004513445432945707, + "hac_variance": 0.1996296773633539, + "n_obs": 1885, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 0.15690275849590388, + "p_value": 0.8753382977213118, + "mean_loss_diff": 0.0016797161535691168, + "hac_variance": 0.2159193370470149, + "n_obs": 1885, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "687ddd0768e37558", + "fc_lj_hash": "f95b25b76d5fb4ac", + "fc_har_hash": "d45d07d325f101f7", + "fc_m12_hash": "01346ee67a72a19f", + "tgt_hash": "97b845a424238e08", + "err_lj_hash": "f5d892827c85d766", + "err_har_hash": "63ac35f3d209a0fd", + "err_m12_hash": "c25dcab6c990d018", + "n_obs": 1885, + "aligned_origin_first": "2019-06-02 00:00:00", + "aligned_origin_last": "2024-08-02 00:00:00", + "aligned_dates_hash": "cd7da3bebb8488aa", + "per_fold_bias": [ + 0.0720066243415851, + -0.010636087998193296, + 0.13130546357031714, + 0.0033744116227944747, + -0.18866457282969934 + ], + "bounds_train_test": { + "train_end_idx": 1889, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1889, + "n_oos": 1890, + "n_total": 2272, + "fold_size": 378, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 377, + "oos_start_idx": 378, + "oos_end_idx": 756, + "n_train": 377, + "n_oos": 378 + }, + { + "fold_idx": 1, + "train_end_idx": 755, + "oos_start_idx": 756, + "oos_end_idx": 1134, + "n_train": 755, + "n_oos": 378 + }, + { + "fold_idx": 2, + "train_end_idx": 1133, + "oos_start_idx": 1134, + "oos_end_idx": 1512, + "n_train": 1133, + "n_oos": 378 + }, + { + "fold_idx": 3, + "train_end_idx": 1511, + "oos_start_idx": 1512, + "oos_end_idx": 1890, + "n_train": 1511, + "n_oos": 378 + }, + { + "fold_idx": 4, + "train_end_idx": 1889, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1889, + "n_oos": 378 + } + ], + "fc_lj_hash_per_fold": [ + "c938ab97139c8baf", + "487a27ed60acfddc", + "521fa87cd1346b19", + "8b13b177d3b920ff", + "1c5ec7c0a489b603" + ], + "fc_content_hash_per_fold": [ + "4ded98aea9dfa2ba", + "0958862c2a371299", + "a07711a63edaef98", + "2f1254bb0c2af7b3", + "6c5fecdfd2eacb3a" + ], + "edge_sigma_applicable": false, + "sharpe": -3.6807333164355036, + "kelly_active_pct": 0.47055702917771886 + }, + { + "coin": "BTC-USD", + "horizon": 1, + "seed": 7, + "mse_logrv": 0.8433713717465054, + "mse_har_raw": 0.8883440049790973, + "mse_har_debiased": 0.8438227162898, + "mse_m12": 0.8416916555929366, + "bias_lj": 0.026566956546009633, + "bias_har": -0.00513832397898636, + "bias_m12": -0.003160634700870856, + "var_lj": 0.8426655685663881, + "var_har": 0.843796313916487, + "var_m12": 0.8416816659812242, + "dm_vs_har": { + "dm_statistic": -0.04384661722059736, + "p_value": 0.9650313140935503, + "mean_loss_diff": -0.0004513445432945707, + "hac_variance": 0.1996296773633539, + "n_obs": 1885, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 0.15690275849590388, + "p_value": 0.8753382977213118, + "mean_loss_diff": 0.0016797161535691168, + "hac_variance": 0.2159193370470149, + "n_obs": 1885, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "687ddd0768e37558", + "fc_lj_hash": "f95b25b76d5fb4ac", + "fc_har_hash": "d45d07d325f101f7", + "fc_m12_hash": "01346ee67a72a19f", + "tgt_hash": "97b845a424238e08", + "err_lj_hash": "f5d892827c85d766", + "err_har_hash": "63ac35f3d209a0fd", + "err_m12_hash": "c25dcab6c990d018", + "n_obs": 1885, + "aligned_origin_first": "2019-06-02 00:00:00", + "aligned_origin_last": "2024-08-02 00:00:00", + "aligned_dates_hash": "cd7da3bebb8488aa", + "per_fold_bias": [ + 0.0720066243415851, + -0.010636087998193296, + 0.13130546357031714, + 0.0033744116227944747, + -0.18866457282969934 + ], + "bounds_train_test": { + "train_end_idx": 1889, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1889, + "n_oos": 1890, + "n_total": 2272, + "fold_size": 378, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 377, + "oos_start_idx": 378, + "oos_end_idx": 756, + "n_train": 377, + "n_oos": 378 + }, + { + "fold_idx": 1, + "train_end_idx": 755, + "oos_start_idx": 756, + "oos_end_idx": 1134, + "n_train": 755, + "n_oos": 378 + }, + { + "fold_idx": 2, + "train_end_idx": 1133, + "oos_start_idx": 1134, + "oos_end_idx": 1512, + "n_train": 1133, + "n_oos": 378 + }, + { + "fold_idx": 3, + "train_end_idx": 1511, + "oos_start_idx": 1512, + "oos_end_idx": 1890, + "n_train": 1511, + "n_oos": 378 + }, + { + "fold_idx": 4, + "train_end_idx": 1889, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1889, + "n_oos": 378 + } + ], + "fc_lj_hash_per_fold": [ + "c938ab97139c8baf", + "487a27ed60acfddc", + "521fa87cd1346b19", + "8b13b177d3b920ff", + "1c5ec7c0a489b603" + ], + "fc_content_hash_per_fold": [ + "4ded98aea9dfa2ba", + "0958862c2a371299", + "a07711a63edaef98", + "2f1254bb0c2af7b3", + "6c5fecdfd2eacb3a" + ], + "edge_sigma_applicable": false, + "sharpe": -3.6807333164355036, + "kelly_active_pct": 0.47055702917771886 + }, + { + "coin": "BTC-USD", + "horizon": 1, + "seed": 42, + "mse_logrv": 0.8433713717465054, + "mse_har_raw": 0.8883440049790973, + "mse_har_debiased": 0.8438227162898, + "mse_m12": 0.8416916555929366, + "bias_lj": 0.026566956546009633, + "bias_har": -0.00513832397898636, + "bias_m12": -0.003160634700870856, + "var_lj": 0.8426655685663881, + "var_har": 0.843796313916487, + "var_m12": 0.8416816659812242, + "dm_vs_har": { + "dm_statistic": -0.04384661722059736, + "p_value": 0.9650313140935503, + "mean_loss_diff": -0.0004513445432945707, + "hac_variance": 0.1996296773633539, + "n_obs": 1885, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 0.15690275849590388, + "p_value": 0.8753382977213118, + "mean_loss_diff": 0.0016797161535691168, + "hac_variance": 0.2159193370470149, + "n_obs": 1885, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "687ddd0768e37558", + "fc_lj_hash": "f95b25b76d5fb4ac", + "fc_har_hash": "d45d07d325f101f7", + "fc_m12_hash": "01346ee67a72a19f", + "tgt_hash": "97b845a424238e08", + "err_lj_hash": "f5d892827c85d766", + "err_har_hash": "63ac35f3d209a0fd", + "err_m12_hash": "c25dcab6c990d018", + "n_obs": 1885, + "aligned_origin_first": "2019-06-02 00:00:00", + "aligned_origin_last": "2024-08-02 00:00:00", + "aligned_dates_hash": "cd7da3bebb8488aa", + "per_fold_bias": [ + 0.0720066243415851, + -0.010636087998193296, + 0.13130546357031714, + 0.0033744116227944747, + -0.18866457282969934 + ], + "bounds_train_test": { + "train_end_idx": 1889, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1889, + "n_oos": 1890, + "n_total": 2272, + "fold_size": 378, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 377, + "oos_start_idx": 378, + "oos_end_idx": 756, + "n_train": 377, + "n_oos": 378 + }, + { + "fold_idx": 1, + "train_end_idx": 755, + "oos_start_idx": 756, + "oos_end_idx": 1134, + "n_train": 755, + "n_oos": 378 + }, + { + "fold_idx": 2, + "train_end_idx": 1133, + "oos_start_idx": 1134, + "oos_end_idx": 1512, + "n_train": 1133, + "n_oos": 378 + }, + { + "fold_idx": 3, + "train_end_idx": 1511, + "oos_start_idx": 1512, + "oos_end_idx": 1890, + "n_train": 1511, + "n_oos": 378 + }, + { + "fold_idx": 4, + "train_end_idx": 1889, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1889, + "n_oos": 378 + } + ], + "fc_lj_hash_per_fold": [ + "c938ab97139c8baf", + "487a27ed60acfddc", + "521fa87cd1346b19", + "8b13b177d3b920ff", + "1c5ec7c0a489b603" + ], + "fc_content_hash_per_fold": [ + "4ded98aea9dfa2ba", + "0958862c2a371299", + "a07711a63edaef98", + "2f1254bb0c2af7b3", + "6c5fecdfd2eacb3a" + ], + "edge_sigma_applicable": false, + "sharpe": -3.6807333164355036, + "kelly_active_pct": 0.47055702917771886 + }, + { + "coin": "BTC-USD", + "horizon": 1, + "seed": 99, + "mse_logrv": 0.8433713717465054, + "mse_har_raw": 0.8883440049790973, + "mse_har_debiased": 0.8438227162898, + "mse_m12": 0.8416916555929366, + "bias_lj": 0.026566956546009633, + "bias_har": -0.00513832397898636, + "bias_m12": -0.003160634700870856, + "var_lj": 0.8426655685663881, + "var_har": 0.843796313916487, + "var_m12": 0.8416816659812242, + "dm_vs_har": { + "dm_statistic": -0.04384661722059736, + "p_value": 0.9650313140935503, + "mean_loss_diff": -0.0004513445432945707, + "hac_variance": 0.1996296773633539, + "n_obs": 1885, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 0.15690275849590388, + "p_value": 0.8753382977213118, + "mean_loss_diff": 0.0016797161535691168, + "hac_variance": 0.2159193370470149, + "n_obs": 1885, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "687ddd0768e37558", + "fc_lj_hash": "f95b25b76d5fb4ac", + "fc_har_hash": "d45d07d325f101f7", + "fc_m12_hash": "01346ee67a72a19f", + "tgt_hash": "97b845a424238e08", + "err_lj_hash": "f5d892827c85d766", + "err_har_hash": "63ac35f3d209a0fd", + "err_m12_hash": "c25dcab6c990d018", + "n_obs": 1885, + "aligned_origin_first": "2019-06-02 00:00:00", + "aligned_origin_last": "2024-08-02 00:00:00", + "aligned_dates_hash": "cd7da3bebb8488aa", + "per_fold_bias": [ + 0.0720066243415851, + -0.010636087998193296, + 0.13130546357031714, + 0.0033744116227944747, + -0.18866457282969934 + ], + "bounds_train_test": { + "train_end_idx": 1889, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1889, + "n_oos": 1890, + "n_total": 2272, + "fold_size": 378, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 377, + "oos_start_idx": 378, + "oos_end_idx": 756, + "n_train": 377, + "n_oos": 378 + }, + { + "fold_idx": 1, + "train_end_idx": 755, + "oos_start_idx": 756, + "oos_end_idx": 1134, + "n_train": 755, + "n_oos": 378 + }, + { + "fold_idx": 2, + "train_end_idx": 1133, + "oos_start_idx": 1134, + "oos_end_idx": 1512, + "n_train": 1133, + "n_oos": 378 + }, + { + "fold_idx": 3, + "train_end_idx": 1511, + "oos_start_idx": 1512, + "oos_end_idx": 1890, + "n_train": 1511, + "n_oos": 378 + }, + { + "fold_idx": 4, + "train_end_idx": 1889, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1889, + "n_oos": 378 + } + ], + "fc_lj_hash_per_fold": [ + "c938ab97139c8baf", + "487a27ed60acfddc", + "521fa87cd1346b19", + "8b13b177d3b920ff", + "1c5ec7c0a489b603" + ], + "fc_content_hash_per_fold": [ + "4ded98aea9dfa2ba", + "0958862c2a371299", + "a07711a63edaef98", + "2f1254bb0c2af7b3", + "6c5fecdfd2eacb3a" + ], + "edge_sigma_applicable": false, + "sharpe": -3.6807333164355036, + "kelly_active_pct": 0.47055702917771886 + }, + { + "coin": "BTC-USD", + "horizon": 5, + "seed": 0, + "mse_logrv": 0.41631211583577976, + "mse_har_raw": 0.522360968054844, + "mse_har_debiased": 0.41849335191298304, + "mse_m12": 0.42245374948071346, + "bias_lj": 0.0706624751377975, + "bias_har": -0.002573824564704369, + "bias_m12": -0.001101947913168621, + "var_lj": 0.4113189304431799, + "var_har": 0.4184867273400932, + "var_m12": 0.4224525351915101, + "dm_vs_har": { + "dm_statistic": -0.13553581221842928, + "p_value": 0.8922028858352955, + "mean_loss_diff": -0.0021812360772032685, + "hac_variance": 0.4807039604714941, + "n_obs": 1865, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -0.35298451512038526, + "p_value": 0.7241399609948278, + "mean_loss_diff": -0.006141633644933724, + "hac_variance": 0.561871477928139, + "n_obs": 1865, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "687ddd0768e37558", + "fc_lj_hash": "078b50a82bb4f528", + "fc_har_hash": "8ca4be1bb8096cc3", + "fc_m12_hash": "3f04a6404dc4be35", + "tgt_hash": "25184760f510d2fd", + "err_lj_hash": "c8926308600557bd", + "err_har_hash": "0509e0b66ff0b3a9", + "err_m12_hash": "7f2e00fa9e9cbba7", + "n_obs": 1865, + "aligned_origin_first": "2019-06-02 00:00:00", + "aligned_origin_last": "2024-07-29 00:00:00", + "aligned_dates_hash": "d356f2b4659d6af5", + "per_fold_bias": [ + 0.19793871220429315, + -0.01071462041964247, + 0.23095485170997904, + 0.10721271335776136, + -0.24492886751703144 + ], + "bounds_train_test": { + "train_end_idx": 1885, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1885, + "n_oos": 1890, + "n_total": 2268, + "fold_size": 378, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 373, + "oos_start_idx": 378, + "oos_end_idx": 756, + "n_train": 373, + "n_oos": 378 + }, + { + "fold_idx": 1, + "train_end_idx": 751, + "oos_start_idx": 756, + "oos_end_idx": 1134, + "n_train": 751, + "n_oos": 378 + }, + { + "fold_idx": 2, + "train_end_idx": 1129, + "oos_start_idx": 1134, + "oos_end_idx": 1512, + "n_train": 1129, + "n_oos": 378 + }, + { + "fold_idx": 3, + "train_end_idx": 1507, + "oos_start_idx": 1512, + "oos_end_idx": 1890, + "n_train": 1507, + "n_oos": 378 + }, + { + "fold_idx": 4, + "train_end_idx": 1885, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1885, + "n_oos": 378 + } + ], + "fc_lj_hash_per_fold": [ + "809a7aad5e1aa33e", + "406db60040fb8b9a", + "545a3fc7674e0962", + "b5194e7a48cf7d86", + "052c76eab4222eca" + ], + "fc_content_hash_per_fold": [ + "2f02630f9ba589d8", + "03aa3b42ca8d7c5e", + "c18b75b8c3b74579", + "5286fe8b335d3c74", + "188a2d4feec3388c" + ], + "edge_sigma_applicable": false, + "sharpe": -1.603593969888852, + "kelly_active_pct": 0.47292225201072385 + }, + { + "coin": "BTC-USD", + "horizon": 5, + "seed": 7, + "mse_logrv": 0.41631211583577976, + "mse_har_raw": 0.522360968054844, + "mse_har_debiased": 0.41849335191298304, + "mse_m12": 0.42245374948071346, + "bias_lj": 0.0706624751377975, + "bias_har": -0.002573824564704369, + "bias_m12": -0.001101947913168621, + "var_lj": 0.4113189304431799, + "var_har": 0.4184867273400932, + "var_m12": 0.4224525351915101, + "dm_vs_har": { + "dm_statistic": -0.13553581221842928, + "p_value": 0.8922028858352955, + "mean_loss_diff": -0.0021812360772032685, + "hac_variance": 0.4807039604714941, + "n_obs": 1865, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -0.35298451512038526, + "p_value": 0.7241399609948278, + "mean_loss_diff": -0.006141633644933724, + "hac_variance": 0.561871477928139, + "n_obs": 1865, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "687ddd0768e37558", + "fc_lj_hash": "078b50a82bb4f528", + "fc_har_hash": "8ca4be1bb8096cc3", + "fc_m12_hash": "3f04a6404dc4be35", + "tgt_hash": "25184760f510d2fd", + "err_lj_hash": "c8926308600557bd", + "err_har_hash": "0509e0b66ff0b3a9", + "err_m12_hash": "7f2e00fa9e9cbba7", + "n_obs": 1865, + "aligned_origin_first": "2019-06-02 00:00:00", + "aligned_origin_last": "2024-07-29 00:00:00", + "aligned_dates_hash": "d356f2b4659d6af5", + "per_fold_bias": [ + 0.19793871220429315, + -0.01071462041964247, + 0.23095485170997904, + 0.10721271335776136, + -0.24492886751703144 + ], + "bounds_train_test": { + "train_end_idx": 1885, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1885, + "n_oos": 1890, + "n_total": 2268, + "fold_size": 378, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 373, + "oos_start_idx": 378, + "oos_end_idx": 756, + "n_train": 373, + "n_oos": 378 + }, + { + "fold_idx": 1, + "train_end_idx": 751, + "oos_start_idx": 756, + "oos_end_idx": 1134, + "n_train": 751, + "n_oos": 378 + }, + { + "fold_idx": 2, + "train_end_idx": 1129, + "oos_start_idx": 1134, + "oos_end_idx": 1512, + "n_train": 1129, + "n_oos": 378 + }, + { + "fold_idx": 3, + "train_end_idx": 1507, + "oos_start_idx": 1512, + "oos_end_idx": 1890, + "n_train": 1507, + "n_oos": 378 + }, + { + "fold_idx": 4, + "train_end_idx": 1885, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1885, + "n_oos": 378 + } + ], + "fc_lj_hash_per_fold": [ + "809a7aad5e1aa33e", + "406db60040fb8b9a", + "545a3fc7674e0962", + "b5194e7a48cf7d86", + "052c76eab4222eca" + ], + "fc_content_hash_per_fold": [ + "2f02630f9ba589d8", + "03aa3b42ca8d7c5e", + "c18b75b8c3b74579", + "5286fe8b335d3c74", + "188a2d4feec3388c" + ], + "edge_sigma_applicable": false, + "sharpe": -1.603593969888852, + "kelly_active_pct": 0.47292225201072385 + }, + { + "coin": "BTC-USD", + "horizon": 5, + "seed": 42, + "mse_logrv": 0.41631211583577976, + "mse_har_raw": 0.522360968054844, + "mse_har_debiased": 0.41849335191298304, + "mse_m12": 0.42245374948071346, + "bias_lj": 0.0706624751377975, + "bias_har": -0.002573824564704369, + "bias_m12": -0.001101947913168621, + "var_lj": 0.4113189304431799, + "var_har": 0.4184867273400932, + "var_m12": 0.4224525351915101, + "dm_vs_har": { + "dm_statistic": -0.13553581221842928, + "p_value": 0.8922028858352955, + "mean_loss_diff": -0.0021812360772032685, + "hac_variance": 0.4807039604714941, + "n_obs": 1865, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -0.35298451512038526, + "p_value": 0.7241399609948278, + "mean_loss_diff": -0.006141633644933724, + "hac_variance": 0.561871477928139, + "n_obs": 1865, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "687ddd0768e37558", + "fc_lj_hash": "078b50a82bb4f528", + "fc_har_hash": "8ca4be1bb8096cc3", + "fc_m12_hash": "3f04a6404dc4be35", + "tgt_hash": "25184760f510d2fd", + "err_lj_hash": "c8926308600557bd", + "err_har_hash": "0509e0b66ff0b3a9", + "err_m12_hash": "7f2e00fa9e9cbba7", + "n_obs": 1865, + "aligned_origin_first": "2019-06-02 00:00:00", + "aligned_origin_last": "2024-07-29 00:00:00", + "aligned_dates_hash": "d356f2b4659d6af5", + "per_fold_bias": [ + 0.19793871220429315, + -0.01071462041964247, + 0.23095485170997904, + 0.10721271335776136, + -0.24492886751703144 + ], + "bounds_train_test": { + "train_end_idx": 1885, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1885, + "n_oos": 1890, + "n_total": 2268, + "fold_size": 378, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 373, + "oos_start_idx": 378, + "oos_end_idx": 756, + "n_train": 373, + "n_oos": 378 + }, + { + "fold_idx": 1, + "train_end_idx": 751, + "oos_start_idx": 756, + "oos_end_idx": 1134, + "n_train": 751, + "n_oos": 378 + }, + { + "fold_idx": 2, + "train_end_idx": 1129, + "oos_start_idx": 1134, + "oos_end_idx": 1512, + "n_train": 1129, + "n_oos": 378 + }, + { + "fold_idx": 3, + "train_end_idx": 1507, + "oos_start_idx": 1512, + "oos_end_idx": 1890, + "n_train": 1507, + "n_oos": 378 + }, + { + "fold_idx": 4, + "train_end_idx": 1885, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1885, + "n_oos": 378 + } + ], + "fc_lj_hash_per_fold": [ + "809a7aad5e1aa33e", + "406db60040fb8b9a", + "545a3fc7674e0962", + "b5194e7a48cf7d86", + "052c76eab4222eca" + ], + "fc_content_hash_per_fold": [ + "2f02630f9ba589d8", + "03aa3b42ca8d7c5e", + "c18b75b8c3b74579", + "5286fe8b335d3c74", + "188a2d4feec3388c" + ], + "edge_sigma_applicable": false, + "sharpe": -1.603593969888852, + "kelly_active_pct": 0.47292225201072385 + }, + { + "coin": "BTC-USD", + "horizon": 5, + "seed": 99, + "mse_logrv": 0.41631211583577976, + "mse_har_raw": 0.522360968054844, + "mse_har_debiased": 0.41849335191298304, + "mse_m12": 0.42245374948071346, + "bias_lj": 0.0706624751377975, + "bias_har": -0.002573824564704369, + "bias_m12": -0.001101947913168621, + "var_lj": 0.4113189304431799, + "var_har": 0.4184867273400932, + "var_m12": 0.4224525351915101, + "dm_vs_har": { + "dm_statistic": -0.13553581221842928, + "p_value": 0.8922028858352955, + "mean_loss_diff": -0.0021812360772032685, + "hac_variance": 0.4807039604714941, + "n_obs": 1865, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -0.35298451512038526, + "p_value": 0.7241399609948278, + "mean_loss_diff": -0.006141633644933724, + "hac_variance": 0.561871477928139, + "n_obs": 1865, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "687ddd0768e37558", + "fc_lj_hash": "078b50a82bb4f528", + "fc_har_hash": "8ca4be1bb8096cc3", + "fc_m12_hash": "3f04a6404dc4be35", + "tgt_hash": "25184760f510d2fd", + "err_lj_hash": "c8926308600557bd", + "err_har_hash": "0509e0b66ff0b3a9", + "err_m12_hash": "7f2e00fa9e9cbba7", + "n_obs": 1865, + "aligned_origin_first": "2019-06-02 00:00:00", + "aligned_origin_last": "2024-07-29 00:00:00", + "aligned_dates_hash": "d356f2b4659d6af5", + "per_fold_bias": [ + 0.19793871220429315, + -0.01071462041964247, + 0.23095485170997904, + 0.10721271335776136, + -0.24492886751703144 + ], + "bounds_train_test": { + "train_end_idx": 1885, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1885, + "n_oos": 1890, + "n_total": 2268, + "fold_size": 378, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 373, + "oos_start_idx": 378, + "oos_end_idx": 756, + "n_train": 373, + "n_oos": 378 + }, + { + "fold_idx": 1, + "train_end_idx": 751, + "oos_start_idx": 756, + "oos_end_idx": 1134, + "n_train": 751, + "n_oos": 378 + }, + { + "fold_idx": 2, + "train_end_idx": 1129, + "oos_start_idx": 1134, + "oos_end_idx": 1512, + "n_train": 1129, + "n_oos": 378 + }, + { + "fold_idx": 3, + "train_end_idx": 1507, + "oos_start_idx": 1512, + "oos_end_idx": 1890, + "n_train": 1507, + "n_oos": 378 + }, + { + "fold_idx": 4, + "train_end_idx": 1885, + "oos_start_idx": 1890, + "oos_end_idx": 2268, + "n_train": 1885, + "n_oos": 378 + } + ], + "fc_lj_hash_per_fold": [ + "809a7aad5e1aa33e", + "406db60040fb8b9a", + "545a3fc7674e0962", + "b5194e7a48cf7d86", + "052c76eab4222eca" + ], + "fc_content_hash_per_fold": [ + "2f02630f9ba589d8", + "03aa3b42ca8d7c5e", + "c18b75b8c3b74579", + "5286fe8b335d3c74", + "188a2d4feec3388c" + ], + "edge_sigma_applicable": false, + "sharpe": -1.603593969888852, + "kelly_active_pct": 0.47292225201072385 + }, + { + "coin": "BTC-USD", + "horizon": 10, + "seed": 0, + "mse_logrv": 0.40672126551028825, + "mse_har_raw": 0.5709699532091546, + "mse_har_debiased": 0.38958417575350685, + "mse_m12": 0.39931842845720195, + "bias_lj": 0.09572792184471841, + "bias_har": -0.003631673575611018, + "bias_m12": -0.0025654035153529864, + "var_lj": 0.39755743048957976, + "var_har": 0.3895709867005471, + "var_m12": 0.39931184716200535, + "dm_vs_har": { + "dm_statistic": 0.6712273619224491, + "p_value": 0.5021599533114776, + "mean_loss_diff": 0.017137089756781448, + "hac_variance": 1.1876674781462562, + "n_obs": 1841, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 0.2657179736935303, + "p_value": 0.7904861878747138, + "mean_loss_diff": 0.007402837053086389, + "hac_variance": 1.4142120758635932, + "n_obs": 1841, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "687ddd0768e37558", + "fc_lj_hash": "9ee36b3be2f6688c", + "fc_har_hash": "5be9ff6ec3a7e332", + "fc_m12_hash": "7b3acc64c46d684b", + "tgt_hash": "d4c7741947ad0b5c", + "err_lj_hash": "90a4eb8a1304b62a", + "err_har_hash": "656165d65fa89613", + "err_m12_hash": "b2903b5c72b23400", + "n_obs": 1841, + "aligned_origin_first": "2019-06-01 00:00:00", + "aligned_origin_last": "2024-07-24 00:00:00", + "aligned_dates_hash": "2d64df32e11999f5", + "per_fold_bias": [ + 0.24948492071284034, + 0.030457596744271998, + 0.3513032607183323, + 0.1834396438536639, + -0.3574668528140607 + ], + "bounds_train_test": { + "train_end_idx": 1875, + "oos_start_idx": 1885, + "oos_end_idx": 2262, + "n_train": 1875, + "n_oos": 1885, + "n_total": 2263, + "fold_size": 377, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 367, + "oos_start_idx": 377, + "oos_end_idx": 754, + "n_train": 367, + "n_oos": 377 + }, + { + "fold_idx": 1, + "train_end_idx": 744, + "oos_start_idx": 754, + "oos_end_idx": 1131, + "n_train": 744, + "n_oos": 377 + }, + { + "fold_idx": 2, + "train_end_idx": 1121, + "oos_start_idx": 1131, + "oos_end_idx": 1508, + "n_train": 1121, + "n_oos": 377 + }, + { + "fold_idx": 3, + "train_end_idx": 1498, + "oos_start_idx": 1508, + "oos_end_idx": 1885, + "n_train": 1498, + "n_oos": 377 + }, + { + "fold_idx": 4, + "train_end_idx": 1875, + "oos_start_idx": 1885, + "oos_end_idx": 2262, + "n_train": 1875, + "n_oos": 377 + } + ], + "fc_lj_hash_per_fold": [ + "dfda39c2cd887ede", + "64577a470cf547c5", + "e864801ca908d0e6", + "ee63c6ca23cc16f0", + "2fcabad2a5fbaad1" + ], + "fc_content_hash_per_fold": [ + "46f46a845609519b", + "557a119c0288e86c", + "5a492f20fcdf5552", + "05bfffafe41b3551", + "529dac7c2eecefed" + ], + "edge_sigma_applicable": false, + "sharpe": -0.7698488081125009, + "kelly_active_pct": 0.4714828897338403 + }, + { + "coin": "BTC-USD", + "horizon": 10, + "seed": 7, + "mse_logrv": 0.40672126551028825, + "mse_har_raw": 0.5709699532091546, + "mse_har_debiased": 0.38958417575350685, + "mse_m12": 0.39931842845720195, + "bias_lj": 0.09572792184471841, + "bias_har": -0.003631673575611018, + "bias_m12": -0.0025654035153529864, + "var_lj": 0.39755743048957976, + "var_har": 0.3895709867005471, + "var_m12": 0.39931184716200535, + "dm_vs_har": { + "dm_statistic": 0.6712273619224491, + "p_value": 0.5021599533114776, + "mean_loss_diff": 0.017137089756781448, + "hac_variance": 1.1876674781462562, + "n_obs": 1841, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 0.2657179736935303, + "p_value": 0.7904861878747138, + "mean_loss_diff": 0.007402837053086389, + "hac_variance": 1.4142120758635932, + "n_obs": 1841, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "687ddd0768e37558", + "fc_lj_hash": "9ee36b3be2f6688c", + "fc_har_hash": "5be9ff6ec3a7e332", + "fc_m12_hash": "7b3acc64c46d684b", + "tgt_hash": "d4c7741947ad0b5c", + "err_lj_hash": "90a4eb8a1304b62a", + "err_har_hash": "656165d65fa89613", + "err_m12_hash": "b2903b5c72b23400", + "n_obs": 1841, + "aligned_origin_first": "2019-06-01 00:00:00", + "aligned_origin_last": "2024-07-24 00:00:00", + "aligned_dates_hash": "2d64df32e11999f5", + "per_fold_bias": [ + 0.24948492071284034, + 0.030457596744271998, + 0.3513032607183323, + 0.1834396438536639, + -0.3574668528140607 + ], + "bounds_train_test": { + "train_end_idx": 1875, + "oos_start_idx": 1885, + "oos_end_idx": 2262, + "n_train": 1875, + "n_oos": 1885, + "n_total": 2263, + "fold_size": 377, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 367, + "oos_start_idx": 377, + "oos_end_idx": 754, + "n_train": 367, + "n_oos": 377 + }, + { + "fold_idx": 1, + "train_end_idx": 744, + "oos_start_idx": 754, + "oos_end_idx": 1131, + "n_train": 744, + "n_oos": 377 + }, + { + "fold_idx": 2, + "train_end_idx": 1121, + "oos_start_idx": 1131, + "oos_end_idx": 1508, + "n_train": 1121, + "n_oos": 377 + }, + { + "fold_idx": 3, + "train_end_idx": 1498, + "oos_start_idx": 1508, + "oos_end_idx": 1885, + "n_train": 1498, + "n_oos": 377 + }, + { + "fold_idx": 4, + "train_end_idx": 1875, + "oos_start_idx": 1885, + "oos_end_idx": 2262, + "n_train": 1875, + "n_oos": 377 + } + ], + "fc_lj_hash_per_fold": [ + "dfda39c2cd887ede", + "64577a470cf547c5", + "e864801ca908d0e6", + "ee63c6ca23cc16f0", + "2fcabad2a5fbaad1" + ], + "fc_content_hash_per_fold": [ + "46f46a845609519b", + "557a119c0288e86c", + "5a492f20fcdf5552", + "05bfffafe41b3551", + "529dac7c2eecefed" + ], + "edge_sigma_applicable": false, + "sharpe": -0.7698488081125009, + "kelly_active_pct": 0.4714828897338403 + }, + { + "coin": "BTC-USD", + "horizon": 10, + "seed": 42, + "mse_logrv": 0.40672126551028825, + "mse_har_raw": 0.5709699532091546, + "mse_har_debiased": 0.38958417575350685, + "mse_m12": 0.39931842845720195, + "bias_lj": 0.09572792184471841, + "bias_har": -0.003631673575611018, + "bias_m12": -0.0025654035153529864, + "var_lj": 0.39755743048957976, + "var_har": 0.3895709867005471, + "var_m12": 0.39931184716200535, + "dm_vs_har": { + "dm_statistic": 0.6712273619224491, + "p_value": 0.5021599533114776, + "mean_loss_diff": 0.017137089756781448, + "hac_variance": 1.1876674781462562, + "n_obs": 1841, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 0.2657179736935303, + "p_value": 0.7904861878747138, + "mean_loss_diff": 0.007402837053086389, + "hac_variance": 1.4142120758635932, + "n_obs": 1841, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "687ddd0768e37558", + "fc_lj_hash": "9ee36b3be2f6688c", + "fc_har_hash": "5be9ff6ec3a7e332", + "fc_m12_hash": "7b3acc64c46d684b", + "tgt_hash": "d4c7741947ad0b5c", + "err_lj_hash": "90a4eb8a1304b62a", + "err_har_hash": "656165d65fa89613", + "err_m12_hash": "b2903b5c72b23400", + "n_obs": 1841, + "aligned_origin_first": "2019-06-01 00:00:00", + "aligned_origin_last": "2024-07-24 00:00:00", + "aligned_dates_hash": "2d64df32e11999f5", + "per_fold_bias": [ + 0.24948492071284034, + 0.030457596744271998, + 0.3513032607183323, + 0.1834396438536639, + -0.3574668528140607 + ], + "bounds_train_test": { + "train_end_idx": 1875, + "oos_start_idx": 1885, + "oos_end_idx": 2262, + "n_train": 1875, + "n_oos": 1885, + "n_total": 2263, + "fold_size": 377, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 367, + "oos_start_idx": 377, + "oos_end_idx": 754, + "n_train": 367, + "n_oos": 377 + }, + { + "fold_idx": 1, + "train_end_idx": 744, + "oos_start_idx": 754, + "oos_end_idx": 1131, + "n_train": 744, + "n_oos": 377 + }, + { + "fold_idx": 2, + "train_end_idx": 1121, + "oos_start_idx": 1131, + "oos_end_idx": 1508, + "n_train": 1121, + "n_oos": 377 + }, + { + "fold_idx": 3, + "train_end_idx": 1498, + "oos_start_idx": 1508, + "oos_end_idx": 1885, + "n_train": 1498, + "n_oos": 377 + }, + { + "fold_idx": 4, + "train_end_idx": 1875, + "oos_start_idx": 1885, + "oos_end_idx": 2262, + "n_train": 1875, + "n_oos": 377 + } + ], + "fc_lj_hash_per_fold": [ + "dfda39c2cd887ede", + "64577a470cf547c5", + "e864801ca908d0e6", + "ee63c6ca23cc16f0", + "2fcabad2a5fbaad1" + ], + "fc_content_hash_per_fold": [ + "46f46a845609519b", + "557a119c0288e86c", + "5a492f20fcdf5552", + "05bfffafe41b3551", + "529dac7c2eecefed" + ], + "edge_sigma_applicable": false, + "sharpe": -0.7698488081125009, + "kelly_active_pct": 0.4714828897338403 + }, + { + "coin": "BTC-USD", + "horizon": 10, + "seed": 99, + "mse_logrv": 0.40672126551028825, + "mse_har_raw": 0.5709699532091546, + "mse_har_debiased": 0.38958417575350685, + "mse_m12": 0.39931842845720195, + "bias_lj": 0.09572792184471841, + "bias_har": -0.003631673575611018, + "bias_m12": -0.0025654035153529864, + "var_lj": 0.39755743048957976, + "var_har": 0.3895709867005471, + "var_m12": 0.39931184716200535, + "dm_vs_har": { + "dm_statistic": 0.6712273619224491, + "p_value": 0.5021599533114776, + "mean_loss_diff": 0.017137089756781448, + "hac_variance": 1.1876674781462562, + "n_obs": 1841, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 0.2657179736935303, + "p_value": 0.7904861878747138, + "mean_loss_diff": 0.007402837053086389, + "hac_variance": 1.4142120758635932, + "n_obs": 1841, + "lag": 12, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "687ddd0768e37558", + "fc_lj_hash": "9ee36b3be2f6688c", + "fc_har_hash": "5be9ff6ec3a7e332", + "fc_m12_hash": "7b3acc64c46d684b", + "tgt_hash": "d4c7741947ad0b5c", + "err_lj_hash": "90a4eb8a1304b62a", + "err_har_hash": "656165d65fa89613", + "err_m12_hash": "b2903b5c72b23400", + "n_obs": 1841, + "aligned_origin_first": "2019-06-01 00:00:00", + "aligned_origin_last": "2024-07-24 00:00:00", + "aligned_dates_hash": "2d64df32e11999f5", + "per_fold_bias": [ + 0.24948492071284034, + 0.030457596744271998, + 0.3513032607183323, + 0.1834396438536639, + -0.3574668528140607 + ], + "bounds_train_test": { + "train_end_idx": 1875, + "oos_start_idx": 1885, + "oos_end_idx": 2262, + "n_train": 1875, + "n_oos": 1885, + "n_total": 2263, + "fold_size": 377, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 367, + "oos_start_idx": 377, + "oos_end_idx": 754, + "n_train": 367, + "n_oos": 377 + }, + { + "fold_idx": 1, + "train_end_idx": 744, + "oos_start_idx": 754, + "oos_end_idx": 1131, + "n_train": 744, + "n_oos": 377 + }, + { + "fold_idx": 2, + "train_end_idx": 1121, + "oos_start_idx": 1131, + "oos_end_idx": 1508, + "n_train": 1121, + "n_oos": 377 + }, + { + "fold_idx": 3, + "train_end_idx": 1498, + "oos_start_idx": 1508, + "oos_end_idx": 1885, + "n_train": 1498, + "n_oos": 377 + }, + { + "fold_idx": 4, + "train_end_idx": 1875, + "oos_start_idx": 1885, + "oos_end_idx": 2262, + "n_train": 1875, + "n_oos": 377 + } + ], + "fc_lj_hash_per_fold": [ + "dfda39c2cd887ede", + "64577a470cf547c5", + "e864801ca908d0e6", + "ee63c6ca23cc16f0", + "2fcabad2a5fbaad1" + ], + "fc_content_hash_per_fold": [ + "46f46a845609519b", + "557a119c0288e86c", + "5a492f20fcdf5552", + "05bfffafe41b3551", + "529dac7c2eecefed" + ], + "edge_sigma_applicable": false, + "sharpe": -0.7698488081125009, + "kelly_active_pct": 0.4714828897338403 + }, + { + "coin": "ETH-USD", + "horizon": 1, + "seed": 0, + "mse_logrv": 0.693830630255341, + "mse_har_raw": 0.686286396588121, + "mse_har_debiased": 0.6792446134715222, + "mse_m12": 0.6803076324428878, + "bias_lj": 0.04189784223168927, + "bias_har": -0.0054608123207599245, + "bias_m12": -0.006154015974016142, + "var_lj": 0.6920752010716694, + "var_har": 0.6792147930003196, + "var_m12": 0.6802697605302794, + "dm_vs_har": { + "dm_statistic": 1.3708216290545578, + "p_value": 0.17067983680136178, + "mean_loss_diff": 0.014586016783818776, + "hac_variance": 0.1397097389774163, + "n_obs": 1235, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 1.245111907003155, + "p_value": 0.21332700660158643, + "mean_loss_diff": 0.013522997812453126, + "hac_variance": 0.1455607694541961, + "n_obs": 1235, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0e2609d6130fd608", + "fc_lj_hash": "f381ef7476e6be18", + "fc_har_hash": "c2a2cb6563efb845", + "fc_m12_hash": "4336943afe390431", + "tgt_hash": "dfc2e7a857d20d4d", + "err_lj_hash": "af2c8a1545e5395b", + "err_har_hash": "b9958591bb2cef12", + "err_m12_hash": "2869bfedc1537592", + "n_obs": 1235, + "aligned_origin_first": "2020-07-02 00:00:00", + "aligned_origin_last": "2023-12-11 00:00:00", + "aligned_dates_hash": "29f4dd3e065953c9", + "per_fold_bias": [ + -0.071050675365684, + 0.08524200815123885, + -0.043347076352447514, + 0.07672613200999678, + -0.0577840811103346 + ], + "bounds_train_test": { + "train_end_idx": 1239, + "oos_start_idx": 1240, + "oos_end_idx": 1488, + "n_train": 1239, + "n_oos": 1240, + "n_total": 1489, + "fold_size": 248, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 247, + "oos_start_idx": 248, + "oos_end_idx": 496, + "n_train": 247, + "n_oos": 248 + }, + { + "fold_idx": 1, + "train_end_idx": 495, + "oos_start_idx": 496, + "oos_end_idx": 744, + "n_train": 495, + "n_oos": 248 + }, + { + "fold_idx": 2, + "train_end_idx": 743, + "oos_start_idx": 744, + "oos_end_idx": 992, + "n_train": 743, + "n_oos": 248 + }, + { + "fold_idx": 3, + "train_end_idx": 991, + "oos_start_idx": 992, + "oos_end_idx": 1240, + "n_train": 991, + "n_oos": 248 + }, + { + "fold_idx": 4, + "train_end_idx": 1239, + "oos_start_idx": 1240, + "oos_end_idx": 1488, + "n_train": 1239, + "n_oos": 248 + } + ], + "fc_lj_hash_per_fold": [ + "e94fbca854600b3d", + "5e6f2f5472043725", + "74b5654119640d48", + "4c8bc710bf66db76", + "279a1c2c703caac0" + ], + "fc_content_hash_per_fold": [ + "392d0edb6063a5ac", + "f8cefe2cca7feea4", + "ca5632bdc5e95479", + "333a761a7fa5e195", + "7f799fc94bb9a199" + ], + "edge_sigma_applicable": false, + "sharpe": -3.2022342505399077, + "kelly_active_pct": 0.4534412955465587 + }, + { + "coin": "ETH-USD", + "horizon": 1, + "seed": 7, + "mse_logrv": 0.693830630255341, + "mse_har_raw": 0.686286396588121, + "mse_har_debiased": 0.6792446134715222, + "mse_m12": 0.6803076324428878, + "bias_lj": 0.04189784223168927, + "bias_har": -0.0054608123207599245, + "bias_m12": -0.006154015974016142, + "var_lj": 0.6920752010716694, + "var_har": 0.6792147930003196, + "var_m12": 0.6802697605302794, + "dm_vs_har": { + "dm_statistic": 1.3708216290545578, + "p_value": 0.17067983680136178, + "mean_loss_diff": 0.014586016783818776, + "hac_variance": 0.1397097389774163, + "n_obs": 1235, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 1.245111907003155, + "p_value": 0.21332700660158643, + "mean_loss_diff": 0.013522997812453126, + "hac_variance": 0.1455607694541961, + "n_obs": 1235, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0e2609d6130fd608", + "fc_lj_hash": "f381ef7476e6be18", + "fc_har_hash": "c2a2cb6563efb845", + "fc_m12_hash": "4336943afe390431", + "tgt_hash": "dfc2e7a857d20d4d", + "err_lj_hash": "af2c8a1545e5395b", + "err_har_hash": "b9958591bb2cef12", + "err_m12_hash": "2869bfedc1537592", + "n_obs": 1235, + "aligned_origin_first": "2020-07-02 00:00:00", + "aligned_origin_last": "2023-12-11 00:00:00", + "aligned_dates_hash": "29f4dd3e065953c9", + "per_fold_bias": [ + -0.071050675365684, + 0.08524200815123885, + -0.043347076352447514, + 0.07672613200999678, + -0.0577840811103346 + ], + "bounds_train_test": { + "train_end_idx": 1239, + "oos_start_idx": 1240, + "oos_end_idx": 1488, + "n_train": 1239, + "n_oos": 1240, + "n_total": 1489, + "fold_size": 248, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 247, + "oos_start_idx": 248, + "oos_end_idx": 496, + "n_train": 247, + "n_oos": 248 + }, + { + "fold_idx": 1, + "train_end_idx": 495, + "oos_start_idx": 496, + "oos_end_idx": 744, + "n_train": 495, + "n_oos": 248 + }, + { + "fold_idx": 2, + "train_end_idx": 743, + "oos_start_idx": 744, + "oos_end_idx": 992, + "n_train": 743, + "n_oos": 248 + }, + { + "fold_idx": 3, + "train_end_idx": 991, + "oos_start_idx": 992, + "oos_end_idx": 1240, + "n_train": 991, + "n_oos": 248 + }, + { + "fold_idx": 4, + "train_end_idx": 1239, + "oos_start_idx": 1240, + "oos_end_idx": 1488, + "n_train": 1239, + "n_oos": 248 + } + ], + "fc_lj_hash_per_fold": [ + "e94fbca854600b3d", + "5e6f2f5472043725", + "74b5654119640d48", + "4c8bc710bf66db76", + "279a1c2c703caac0" + ], + "fc_content_hash_per_fold": [ + "392d0edb6063a5ac", + "f8cefe2cca7feea4", + "ca5632bdc5e95479", + "333a761a7fa5e195", + "7f799fc94bb9a199" + ], + "edge_sigma_applicable": false, + "sharpe": -3.2022342505399077, + "kelly_active_pct": 0.4534412955465587 + }, + { + "coin": "ETH-USD", + "horizon": 1, + "seed": 42, + "mse_logrv": 0.693830630255341, + "mse_har_raw": 0.686286396588121, + "mse_har_debiased": 0.6792446134715222, + "mse_m12": 0.6803076324428878, + "bias_lj": 0.04189784223168927, + "bias_har": -0.0054608123207599245, + "bias_m12": -0.006154015974016142, + "var_lj": 0.6920752010716694, + "var_har": 0.6792147930003196, + "var_m12": 0.6802697605302794, + "dm_vs_har": { + "dm_statistic": 1.3708216290545578, + "p_value": 0.17067983680136178, + "mean_loss_diff": 0.014586016783818776, + "hac_variance": 0.1397097389774163, + "n_obs": 1235, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 1.245111907003155, + "p_value": 0.21332700660158643, + "mean_loss_diff": 0.013522997812453126, + "hac_variance": 0.1455607694541961, + "n_obs": 1235, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0e2609d6130fd608", + "fc_lj_hash": "f381ef7476e6be18", + "fc_har_hash": "c2a2cb6563efb845", + "fc_m12_hash": "4336943afe390431", + "tgt_hash": "dfc2e7a857d20d4d", + "err_lj_hash": "af2c8a1545e5395b", + "err_har_hash": "b9958591bb2cef12", + "err_m12_hash": "2869bfedc1537592", + "n_obs": 1235, + "aligned_origin_first": "2020-07-02 00:00:00", + "aligned_origin_last": "2023-12-11 00:00:00", + "aligned_dates_hash": "29f4dd3e065953c9", + "per_fold_bias": [ + -0.071050675365684, + 0.08524200815123885, + -0.043347076352447514, + 0.07672613200999678, + -0.0577840811103346 + ], + "bounds_train_test": { + "train_end_idx": 1239, + "oos_start_idx": 1240, + "oos_end_idx": 1488, + "n_train": 1239, + "n_oos": 1240, + "n_total": 1489, + "fold_size": 248, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 247, + "oos_start_idx": 248, + "oos_end_idx": 496, + "n_train": 247, + "n_oos": 248 + }, + { + "fold_idx": 1, + "train_end_idx": 495, + "oos_start_idx": 496, + "oos_end_idx": 744, + "n_train": 495, + "n_oos": 248 + }, + { + "fold_idx": 2, + "train_end_idx": 743, + "oos_start_idx": 744, + "oos_end_idx": 992, + "n_train": 743, + "n_oos": 248 + }, + { + "fold_idx": 3, + "train_end_idx": 991, + "oos_start_idx": 992, + "oos_end_idx": 1240, + "n_train": 991, + "n_oos": 248 + }, + { + "fold_idx": 4, + "train_end_idx": 1239, + "oos_start_idx": 1240, + "oos_end_idx": 1488, + "n_train": 1239, + "n_oos": 248 + } + ], + "fc_lj_hash_per_fold": [ + "e94fbca854600b3d", + "5e6f2f5472043725", + "74b5654119640d48", + "4c8bc710bf66db76", + "279a1c2c703caac0" + ], + "fc_content_hash_per_fold": [ + "392d0edb6063a5ac", + "f8cefe2cca7feea4", + "ca5632bdc5e95479", + "333a761a7fa5e195", + "7f799fc94bb9a199" + ], + "edge_sigma_applicable": false, + "sharpe": -3.2022342505399077, + "kelly_active_pct": 0.4534412955465587 + }, + { + "coin": "ETH-USD", + "horizon": 1, + "seed": 99, + "mse_logrv": 0.693830630255341, + "mse_har_raw": 0.686286396588121, + "mse_har_debiased": 0.6792446134715222, + "mse_m12": 0.6803076324428878, + "bias_lj": 0.04189784223168927, + "bias_har": -0.0054608123207599245, + "bias_m12": -0.006154015974016142, + "var_lj": 0.6920752010716694, + "var_har": 0.6792147930003196, + "var_m12": 0.6802697605302794, + "dm_vs_har": { + "dm_statistic": 1.3708216290545578, + "p_value": 0.17067983680136178, + "mean_loss_diff": 0.014586016783818776, + "hac_variance": 0.1397097389774163, + "n_obs": 1235, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 1.245111907003155, + "p_value": 0.21332700660158643, + "mean_loss_diff": 0.013522997812453126, + "hac_variance": 0.1455607694541961, + "n_obs": 1235, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0e2609d6130fd608", + "fc_lj_hash": "f381ef7476e6be18", + "fc_har_hash": "c2a2cb6563efb845", + "fc_m12_hash": "4336943afe390431", + "tgt_hash": "dfc2e7a857d20d4d", + "err_lj_hash": "af2c8a1545e5395b", + "err_har_hash": "b9958591bb2cef12", + "err_m12_hash": "2869bfedc1537592", + "n_obs": 1235, + "aligned_origin_first": "2020-07-02 00:00:00", + "aligned_origin_last": "2023-12-11 00:00:00", + "aligned_dates_hash": "29f4dd3e065953c9", + "per_fold_bias": [ + -0.071050675365684, + 0.08524200815123885, + -0.043347076352447514, + 0.07672613200999678, + -0.0577840811103346 + ], + "bounds_train_test": { + "train_end_idx": 1239, + "oos_start_idx": 1240, + "oos_end_idx": 1488, + "n_train": 1239, + "n_oos": 1240, + "n_total": 1489, + "fold_size": 248, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 247, + "oos_start_idx": 248, + "oos_end_idx": 496, + "n_train": 247, + "n_oos": 248 + }, + { + "fold_idx": 1, + "train_end_idx": 495, + "oos_start_idx": 496, + "oos_end_idx": 744, + "n_train": 495, + "n_oos": 248 + }, + { + "fold_idx": 2, + "train_end_idx": 743, + "oos_start_idx": 744, + "oos_end_idx": 992, + "n_train": 743, + "n_oos": 248 + }, + { + "fold_idx": 3, + "train_end_idx": 991, + "oos_start_idx": 992, + "oos_end_idx": 1240, + "n_train": 991, + "n_oos": 248 + }, + { + "fold_idx": 4, + "train_end_idx": 1239, + "oos_start_idx": 1240, + "oos_end_idx": 1488, + "n_train": 1239, + "n_oos": 248 + } + ], + "fc_lj_hash_per_fold": [ + "e94fbca854600b3d", + "5e6f2f5472043725", + "74b5654119640d48", + "4c8bc710bf66db76", + "279a1c2c703caac0" + ], + "fc_content_hash_per_fold": [ + "392d0edb6063a5ac", + "f8cefe2cca7feea4", + "ca5632bdc5e95479", + "333a761a7fa5e195", + "7f799fc94bb9a199" + ], + "edge_sigma_applicable": false, + "sharpe": -3.2022342505399077, + "kelly_active_pct": 0.4534412955465587 + }, + { + "coin": "ETH-USD", + "horizon": 5, + "seed": 0, + "mse_logrv": 0.39541956047274135, + "mse_har_raw": 0.3735993801993112, + "mse_har_debiased": 0.3644750373568291, + "mse_m12": 0.3715041511358497, + "bias_lj": 0.07986411430479187, + "bias_har": -0.01317345139684927, + "bias_m12": -0.014447105006824171, + "var_lj": 0.3890412837190525, + "var_har": 0.364301497535124, + "var_m12": 0.3712954322927715, + "dm_vs_har": { + "dm_statistic": 2.1390436259490584, + "p_value": 0.032631162815639936, + "mean_loss_diff": 0.03094452311591221, + "hac_variance": 0.2523954605526026, + "n_obs": 1215, + "lag": 10, + "verdict": "BEATEN BY baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 1.5156026579865263, + "p_value": 0.12988017360866833, + "mean_loss_diff": 0.023915409336891593, + "hac_variance": 0.3002881237278325, + "n_obs": 1215, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0e2609d6130fd608", + "fc_lj_hash": "48d03278e8545952", + "fc_har_hash": "0e3d6f8d0128606f", + "fc_m12_hash": "0d6d6a63b5f2acbd", + "tgt_hash": "61a3acaf27eec982", + "err_lj_hash": "0e2ffa2e3a6c533c", + "err_har_hash": "a6dd9433feda8057", + "err_m12_hash": "3af0b3b5bc70c489", + "n_obs": 1215, + "aligned_origin_first": "2020-07-01 00:00:00", + "aligned_origin_last": "2023-12-06 00:00:00", + "aligned_dates_hash": "0bb53aab78fb70e8", + "per_fold_bias": [ + -0.13304897194512433, + 0.24874781503291926, + -0.09281323768334673, + 0.14722702619810255, + -0.09388814304277397 + ], + "bounds_train_test": { + "train_end_idx": 1230, + "oos_start_idx": 1235, + "oos_end_idx": 1482, + "n_train": 1230, + "n_oos": 1235, + "n_total": 1485, + "fold_size": 247, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 242, + "oos_start_idx": 247, + "oos_end_idx": 494, + "n_train": 242, + "n_oos": 247 + }, + { + "fold_idx": 1, + "train_end_idx": 489, + "oos_start_idx": 494, + "oos_end_idx": 741, + "n_train": 489, + "n_oos": 247 + }, + { + "fold_idx": 2, + "train_end_idx": 736, + "oos_start_idx": 741, + "oos_end_idx": 988, + "n_train": 736, + "n_oos": 247 + }, + { + "fold_idx": 3, + "train_end_idx": 983, + "oos_start_idx": 988, + "oos_end_idx": 1235, + "n_train": 983, + "n_oos": 247 + }, + { + "fold_idx": 4, + "train_end_idx": 1230, + "oos_start_idx": 1235, + "oos_end_idx": 1482, + "n_train": 1230, + "n_oos": 247 + } + ], + "fc_lj_hash_per_fold": [ + "c99d670c973bf845", + "dfc426939f1a4ead", + "79cb277874169053", + "1e97d1bb4ed446ba", + "b23ed3fae955c639" + ], + "fc_content_hash_per_fold": [ + "7019dde68aab26fa", + "71a4dd1487adace3", + "74649ed5f17d853f", + "1c3edec093716677", + "eaddcd4581bae644" + ], + "edge_sigma_applicable": false, + "sharpe": -1.5541241967739154, + "kelly_active_pct": 0.4337448559670782 + }, + { + "coin": "ETH-USD", + "horizon": 5, + "seed": 7, + "mse_logrv": 0.39541956047274135, + "mse_har_raw": 0.3735993801993112, + "mse_har_debiased": 0.3644750373568291, + "mse_m12": 0.3715041511358497, + "bias_lj": 0.07986411430479187, + "bias_har": -0.01317345139684927, + "bias_m12": -0.014447105006824171, + "var_lj": 0.3890412837190525, + "var_har": 0.364301497535124, + "var_m12": 0.3712954322927715, + "dm_vs_har": { + "dm_statistic": 2.1390436259490584, + "p_value": 0.032631162815639936, + "mean_loss_diff": 0.03094452311591221, + "hac_variance": 0.2523954605526026, + "n_obs": 1215, + "lag": 10, + "verdict": "BEATEN BY baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 1.5156026579865263, + "p_value": 0.12988017360866833, + "mean_loss_diff": 0.023915409336891593, + "hac_variance": 0.3002881237278325, + "n_obs": 1215, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0e2609d6130fd608", + "fc_lj_hash": "48d03278e8545952", + "fc_har_hash": "0e3d6f8d0128606f", + "fc_m12_hash": "0d6d6a63b5f2acbd", + "tgt_hash": "61a3acaf27eec982", + "err_lj_hash": "0e2ffa2e3a6c533c", + "err_har_hash": "a6dd9433feda8057", + "err_m12_hash": "3af0b3b5bc70c489", + "n_obs": 1215, + "aligned_origin_first": "2020-07-01 00:00:00", + "aligned_origin_last": "2023-12-06 00:00:00", + "aligned_dates_hash": "0bb53aab78fb70e8", + "per_fold_bias": [ + -0.13304897194512433, + 0.24874781503291926, + -0.09281323768334673, + 0.14722702619810255, + -0.09388814304277397 + ], + "bounds_train_test": { + "train_end_idx": 1230, + "oos_start_idx": 1235, + "oos_end_idx": 1482, + "n_train": 1230, + "n_oos": 1235, + "n_total": 1485, + "fold_size": 247, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 242, + "oos_start_idx": 247, + "oos_end_idx": 494, + "n_train": 242, + "n_oos": 247 + }, + { + "fold_idx": 1, + "train_end_idx": 489, + "oos_start_idx": 494, + "oos_end_idx": 741, + "n_train": 489, + "n_oos": 247 + }, + { + "fold_idx": 2, + "train_end_idx": 736, + "oos_start_idx": 741, + "oos_end_idx": 988, + "n_train": 736, + "n_oos": 247 + }, + { + "fold_idx": 3, + "train_end_idx": 983, + "oos_start_idx": 988, + "oos_end_idx": 1235, + "n_train": 983, + "n_oos": 247 + }, + { + "fold_idx": 4, + "train_end_idx": 1230, + "oos_start_idx": 1235, + "oos_end_idx": 1482, + "n_train": 1230, + "n_oos": 247 + } + ], + "fc_lj_hash_per_fold": [ + "c99d670c973bf845", + "dfc426939f1a4ead", + "79cb277874169053", + "1e97d1bb4ed446ba", + "b23ed3fae955c639" + ], + "fc_content_hash_per_fold": [ + "7019dde68aab26fa", + "71a4dd1487adace3", + "74649ed5f17d853f", + "1c3edec093716677", + "eaddcd4581bae644" + ], + "edge_sigma_applicable": false, + "sharpe": -1.5541241967739154, + "kelly_active_pct": 0.4337448559670782 + }, + { + "coin": "ETH-USD", + "horizon": 5, + "seed": 42, + "mse_logrv": 0.39541956047274135, + "mse_har_raw": 0.3735993801993112, + "mse_har_debiased": 0.3644750373568291, + "mse_m12": 0.3715041511358497, + "bias_lj": 0.07986411430479187, + "bias_har": -0.01317345139684927, + "bias_m12": -0.014447105006824171, + "var_lj": 0.3890412837190525, + "var_har": 0.364301497535124, + "var_m12": 0.3712954322927715, + "dm_vs_har": { + "dm_statistic": 2.1390436259490584, + "p_value": 0.032631162815639936, + "mean_loss_diff": 0.03094452311591221, + "hac_variance": 0.2523954605526026, + "n_obs": 1215, + "lag": 10, + "verdict": "BEATEN BY baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 1.5156026579865263, + "p_value": 0.12988017360866833, + "mean_loss_diff": 0.023915409336891593, + "hac_variance": 0.3002881237278325, + "n_obs": 1215, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0e2609d6130fd608", + "fc_lj_hash": "48d03278e8545952", + "fc_har_hash": "0e3d6f8d0128606f", + "fc_m12_hash": "0d6d6a63b5f2acbd", + "tgt_hash": "61a3acaf27eec982", + "err_lj_hash": "0e2ffa2e3a6c533c", + "err_har_hash": "a6dd9433feda8057", + "err_m12_hash": "3af0b3b5bc70c489", + "n_obs": 1215, + "aligned_origin_first": "2020-07-01 00:00:00", + "aligned_origin_last": "2023-12-06 00:00:00", + "aligned_dates_hash": "0bb53aab78fb70e8", + "per_fold_bias": [ + -0.13304897194512433, + 0.24874781503291926, + -0.09281323768334673, + 0.14722702619810255, + -0.09388814304277397 + ], + "bounds_train_test": { + "train_end_idx": 1230, + "oos_start_idx": 1235, + "oos_end_idx": 1482, + "n_train": 1230, + "n_oos": 1235, + "n_total": 1485, + "fold_size": 247, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 242, + "oos_start_idx": 247, + "oos_end_idx": 494, + "n_train": 242, + "n_oos": 247 + }, + { + "fold_idx": 1, + "train_end_idx": 489, + "oos_start_idx": 494, + "oos_end_idx": 741, + "n_train": 489, + "n_oos": 247 + }, + { + "fold_idx": 2, + "train_end_idx": 736, + "oos_start_idx": 741, + "oos_end_idx": 988, + "n_train": 736, + "n_oos": 247 + }, + { + "fold_idx": 3, + "train_end_idx": 983, + "oos_start_idx": 988, + "oos_end_idx": 1235, + "n_train": 983, + "n_oos": 247 + }, + { + "fold_idx": 4, + "train_end_idx": 1230, + "oos_start_idx": 1235, + "oos_end_idx": 1482, + "n_train": 1230, + "n_oos": 247 + } + ], + "fc_lj_hash_per_fold": [ + "c99d670c973bf845", + "dfc426939f1a4ead", + "79cb277874169053", + "1e97d1bb4ed446ba", + "b23ed3fae955c639" + ], + "fc_content_hash_per_fold": [ + "7019dde68aab26fa", + "71a4dd1487adace3", + "74649ed5f17d853f", + "1c3edec093716677", + "eaddcd4581bae644" + ], + "edge_sigma_applicable": false, + "sharpe": -1.5541241967739154, + "kelly_active_pct": 0.4337448559670782 + }, + { + "coin": "ETH-USD", + "horizon": 5, + "seed": 99, + "mse_logrv": 0.39541956047274135, + "mse_har_raw": 0.3735993801993112, + "mse_har_debiased": 0.3644750373568291, + "mse_m12": 0.3715041511358497, + "bias_lj": 0.07986411430479187, + "bias_har": -0.01317345139684927, + "bias_m12": -0.014447105006824171, + "var_lj": 0.3890412837190525, + "var_har": 0.364301497535124, + "var_m12": 0.3712954322927715, + "dm_vs_har": { + "dm_statistic": 2.1390436259490584, + "p_value": 0.032631162815639936, + "mean_loss_diff": 0.03094452311591221, + "hac_variance": 0.2523954605526026, + "n_obs": 1215, + "lag": 10, + "verdict": "BEATEN BY baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 1.5156026579865263, + "p_value": 0.12988017360866833, + "mean_loss_diff": 0.023915409336891593, + "hac_variance": 0.3002881237278325, + "n_obs": 1215, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0e2609d6130fd608", + "fc_lj_hash": "48d03278e8545952", + "fc_har_hash": "0e3d6f8d0128606f", + "fc_m12_hash": "0d6d6a63b5f2acbd", + "tgt_hash": "61a3acaf27eec982", + "err_lj_hash": "0e2ffa2e3a6c533c", + "err_har_hash": "a6dd9433feda8057", + "err_m12_hash": "3af0b3b5bc70c489", + "n_obs": 1215, + "aligned_origin_first": "2020-07-01 00:00:00", + "aligned_origin_last": "2023-12-06 00:00:00", + "aligned_dates_hash": "0bb53aab78fb70e8", + "per_fold_bias": [ + -0.13304897194512433, + 0.24874781503291926, + -0.09281323768334673, + 0.14722702619810255, + -0.09388814304277397 + ], + "bounds_train_test": { + "train_end_idx": 1230, + "oos_start_idx": 1235, + "oos_end_idx": 1482, + "n_train": 1230, + "n_oos": 1235, + "n_total": 1485, + "fold_size": 247, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 242, + "oos_start_idx": 247, + "oos_end_idx": 494, + "n_train": 242, + "n_oos": 247 + }, + { + "fold_idx": 1, + "train_end_idx": 489, + "oos_start_idx": 494, + "oos_end_idx": 741, + "n_train": 489, + "n_oos": 247 + }, + { + "fold_idx": 2, + "train_end_idx": 736, + "oos_start_idx": 741, + "oos_end_idx": 988, + "n_train": 736, + "n_oos": 247 + }, + { + "fold_idx": 3, + "train_end_idx": 983, + "oos_start_idx": 988, + "oos_end_idx": 1235, + "n_train": 983, + "n_oos": 247 + }, + { + "fold_idx": 4, + "train_end_idx": 1230, + "oos_start_idx": 1235, + "oos_end_idx": 1482, + "n_train": 1230, + "n_oos": 247 + } + ], + "fc_lj_hash_per_fold": [ + "c99d670c973bf845", + "dfc426939f1a4ead", + "79cb277874169053", + "1e97d1bb4ed446ba", + "b23ed3fae955c639" + ], + "fc_content_hash_per_fold": [ + "7019dde68aab26fa", + "71a4dd1487adace3", + "74649ed5f17d853f", + "1c3edec093716677", + "eaddcd4581bae644" + ], + "edge_sigma_applicable": false, + "sharpe": -1.5541241967739154, + "kelly_active_pct": 0.4337448559670782 + }, + { + "coin": "ETH-USD", + "horizon": 10, + "seed": 0, + "mse_logrv": 0.4097601477807659, + "mse_har_raw": 0.37475297490237225, + "mse_har_debiased": 0.3633018703508239, + "mse_m12": 0.37394830453304434, + "bias_lj": 0.10948214439294102, + "bias_har": -0.01857342215023686, + "bias_m12": -0.02176723248034781, + "var_lj": 0.39777380783988914, + "var_har": 0.36295689834045297, + "var_m12": 0.37347449212319084, + "dm_vs_har": { + "dm_statistic": 1.9647514224785922, + "p_value": 0.04967559138058486, + "mean_loss_diff": 0.04645827742994196, + "hac_variance": 0.6547807845425807, + "n_obs": 1190, + "lag": 10, + "verdict": "BEATEN BY baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 1.4108839460173173, + "p_value": 0.15854041887013093, + "mean_loss_diff": 0.035811843247721506, + "hac_variance": 0.7544938596371313, + "n_obs": 1190, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0e2609d6130fd608", + "fc_lj_hash": "1293ee5ac30be9cc", + "fc_har_hash": "c2a5ded5ce1445e5", + "fc_m12_hash": "c1bf08c86c8a9375", + "tgt_hash": "6733337824a443c6", + "err_lj_hash": "ea93928aa911b27c", + "err_har_hash": "e675342d1c9ae34b", + "err_m12_hash": "e9cd8ce4734812f7", + "n_obs": 1190, + "aligned_origin_first": "2020-06-30 00:00:00", + "aligned_origin_last": "2023-11-30 00:00:00", + "aligned_dates_hash": "844d3be01fc00c4a", + "per_fold_bias": [ + -0.22907732179986864, + 0.3539919576591999, + -0.03479646127916409, + 0.07334652393738929, + -0.05002488380884757 + ], + "bounds_train_test": { + "train_end_idx": 1220, + "oos_start_idx": 1230, + "oos_end_idx": 1476, + "n_train": 1220, + "n_oos": 1230, + "n_total": 1480, + "fold_size": 246, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 236, + "oos_start_idx": 246, + "oos_end_idx": 492, + "n_train": 236, + "n_oos": 246 + }, + { + "fold_idx": 1, + "train_end_idx": 482, + "oos_start_idx": 492, + "oos_end_idx": 738, + "n_train": 482, + "n_oos": 246 + }, + { + "fold_idx": 2, + "train_end_idx": 728, + "oos_start_idx": 738, + "oos_end_idx": 984, + "n_train": 728, + "n_oos": 246 + }, + { + "fold_idx": 3, + "train_end_idx": 974, + "oos_start_idx": 984, + "oos_end_idx": 1230, + "n_train": 974, + "n_oos": 246 + }, + { + "fold_idx": 4, + "train_end_idx": 1220, + "oos_start_idx": 1230, + "oos_end_idx": 1476, + "n_train": 1220, + "n_oos": 246 + } + ], + "fc_lj_hash_per_fold": [ + "c4e122070e860cd5", + "3b71ef061e16e04a", + "6d5ce63e0ef73c5a", + "63ab6f177129b0fe", + "ca354e2b69062f6b" + ], + "fc_content_hash_per_fold": [ + "bf3efd4b09d4d8c3", + "ff66261ad98e0be7", + "77f3120dc658be02", + "64e4a6ea066a4035", + "c153d4a8fa91e525" + ], + "edge_sigma_applicable": false, + "sharpe": -1.3735114231832988, + "kelly_active_pct": 0.4336134453781513 + }, + { + "coin": "ETH-USD", + "horizon": 10, + "seed": 7, + "mse_logrv": 0.4097601477807659, + "mse_har_raw": 0.37475297490237225, + "mse_har_debiased": 0.3633018703508239, + "mse_m12": 0.37394830453304434, + "bias_lj": 0.10948214439294102, + "bias_har": -0.01857342215023686, + "bias_m12": -0.02176723248034781, + "var_lj": 0.39777380783988914, + "var_har": 0.36295689834045297, + "var_m12": 0.37347449212319084, + "dm_vs_har": { + "dm_statistic": 1.9647514224785922, + "p_value": 0.04967559138058486, + "mean_loss_diff": 0.04645827742994196, + "hac_variance": 0.6547807845425807, + "n_obs": 1190, + "lag": 10, + "verdict": "BEATEN BY baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 1.4108839460173173, + "p_value": 0.15854041887013093, + "mean_loss_diff": 0.035811843247721506, + "hac_variance": 0.7544938596371313, + "n_obs": 1190, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0e2609d6130fd608", + "fc_lj_hash": "1293ee5ac30be9cc", + "fc_har_hash": "c2a5ded5ce1445e5", + "fc_m12_hash": "c1bf08c86c8a9375", + "tgt_hash": "6733337824a443c6", + "err_lj_hash": "ea93928aa911b27c", + "err_har_hash": "e675342d1c9ae34b", + "err_m12_hash": "e9cd8ce4734812f7", + "n_obs": 1190, + "aligned_origin_first": "2020-06-30 00:00:00", + "aligned_origin_last": "2023-11-30 00:00:00", + "aligned_dates_hash": "844d3be01fc00c4a", + "per_fold_bias": [ + -0.22907732179986864, + 0.3539919576591999, + -0.03479646127916409, + 0.07334652393738929, + -0.05002488380884757 + ], + "bounds_train_test": { + "train_end_idx": 1220, + "oos_start_idx": 1230, + "oos_end_idx": 1476, + "n_train": 1220, + "n_oos": 1230, + "n_total": 1480, + "fold_size": 246, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 236, + "oos_start_idx": 246, + "oos_end_idx": 492, + "n_train": 236, + "n_oos": 246 + }, + { + "fold_idx": 1, + "train_end_idx": 482, + "oos_start_idx": 492, + "oos_end_idx": 738, + "n_train": 482, + "n_oos": 246 + }, + { + "fold_idx": 2, + "train_end_idx": 728, + "oos_start_idx": 738, + "oos_end_idx": 984, + "n_train": 728, + "n_oos": 246 + }, + { + "fold_idx": 3, + "train_end_idx": 974, + "oos_start_idx": 984, + "oos_end_idx": 1230, + "n_train": 974, + "n_oos": 246 + }, + { + "fold_idx": 4, + "train_end_idx": 1220, + "oos_start_idx": 1230, + "oos_end_idx": 1476, + "n_train": 1220, + "n_oos": 246 + } + ], + "fc_lj_hash_per_fold": [ + "c4e122070e860cd5", + "3b71ef061e16e04a", + "6d5ce63e0ef73c5a", + "63ab6f177129b0fe", + "ca354e2b69062f6b" + ], + "fc_content_hash_per_fold": [ + "bf3efd4b09d4d8c3", + "ff66261ad98e0be7", + "77f3120dc658be02", + "64e4a6ea066a4035", + "c153d4a8fa91e525" + ], + "edge_sigma_applicable": false, + "sharpe": -1.3735114231832988, + "kelly_active_pct": 0.4336134453781513 + }, + { + "coin": "ETH-USD", + "horizon": 10, + "seed": 42, + "mse_logrv": 0.4097601477807659, + "mse_har_raw": 0.37475297490237225, + "mse_har_debiased": 0.3633018703508239, + "mse_m12": 0.37394830453304434, + "bias_lj": 0.10948214439294102, + "bias_har": -0.01857342215023686, + "bias_m12": -0.02176723248034781, + "var_lj": 0.39777380783988914, + "var_har": 0.36295689834045297, + "var_m12": 0.37347449212319084, + "dm_vs_har": { + "dm_statistic": 1.9647514224785922, + "p_value": 0.04967559138058486, + "mean_loss_diff": 0.04645827742994196, + "hac_variance": 0.6547807845425807, + "n_obs": 1190, + "lag": 10, + "verdict": "BEATEN BY baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 1.4108839460173173, + "p_value": 0.15854041887013093, + "mean_loss_diff": 0.035811843247721506, + "hac_variance": 0.7544938596371313, + "n_obs": 1190, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0e2609d6130fd608", + "fc_lj_hash": "1293ee5ac30be9cc", + "fc_har_hash": "c2a5ded5ce1445e5", + "fc_m12_hash": "c1bf08c86c8a9375", + "tgt_hash": "6733337824a443c6", + "err_lj_hash": "ea93928aa911b27c", + "err_har_hash": "e675342d1c9ae34b", + "err_m12_hash": "e9cd8ce4734812f7", + "n_obs": 1190, + "aligned_origin_first": "2020-06-30 00:00:00", + "aligned_origin_last": "2023-11-30 00:00:00", + "aligned_dates_hash": "844d3be01fc00c4a", + "per_fold_bias": [ + -0.22907732179986864, + 0.3539919576591999, + -0.03479646127916409, + 0.07334652393738929, + -0.05002488380884757 + ], + "bounds_train_test": { + "train_end_idx": 1220, + "oos_start_idx": 1230, + "oos_end_idx": 1476, + "n_train": 1220, + "n_oos": 1230, + "n_total": 1480, + "fold_size": 246, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 236, + "oos_start_idx": 246, + "oos_end_idx": 492, + "n_train": 236, + "n_oos": 246 + }, + { + "fold_idx": 1, + "train_end_idx": 482, + "oos_start_idx": 492, + "oos_end_idx": 738, + "n_train": 482, + "n_oos": 246 + }, + { + "fold_idx": 2, + "train_end_idx": 728, + "oos_start_idx": 738, + "oos_end_idx": 984, + "n_train": 728, + "n_oos": 246 + }, + { + "fold_idx": 3, + "train_end_idx": 974, + "oos_start_idx": 984, + "oos_end_idx": 1230, + "n_train": 974, + "n_oos": 246 + }, + { + "fold_idx": 4, + "train_end_idx": 1220, + "oos_start_idx": 1230, + "oos_end_idx": 1476, + "n_train": 1220, + "n_oos": 246 + } + ], + "fc_lj_hash_per_fold": [ + "c4e122070e860cd5", + "3b71ef061e16e04a", + "6d5ce63e0ef73c5a", + "63ab6f177129b0fe", + "ca354e2b69062f6b" + ], + "fc_content_hash_per_fold": [ + "bf3efd4b09d4d8c3", + "ff66261ad98e0be7", + "77f3120dc658be02", + "64e4a6ea066a4035", + "c153d4a8fa91e525" + ], + "edge_sigma_applicable": false, + "sharpe": -1.3735114231832988, + "kelly_active_pct": 0.4336134453781513 + }, + { + "coin": "ETH-USD", + "horizon": 10, + "seed": 99, + "mse_logrv": 0.4097601477807659, + "mse_har_raw": 0.37475297490237225, + "mse_har_debiased": 0.3633018703508239, + "mse_m12": 0.37394830453304434, + "bias_lj": 0.10948214439294102, + "bias_har": -0.01857342215023686, + "bias_m12": -0.02176723248034781, + "var_lj": 0.39777380783988914, + "var_har": 0.36295689834045297, + "var_m12": 0.37347449212319084, + "dm_vs_har": { + "dm_statistic": 1.9647514224785922, + "p_value": 0.04967559138058486, + "mean_loss_diff": 0.04645827742994196, + "hac_variance": 0.6547807845425807, + "n_obs": 1190, + "lag": 10, + "verdict": "BEATEN BY baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": 1.4108839460173173, + "p_value": 0.15854041887013093, + "mean_loss_diff": 0.035811843247721506, + "hac_variance": 0.7544938596371313, + "n_obs": 1190, + "lag": 10, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0e2609d6130fd608", + "fc_lj_hash": "1293ee5ac30be9cc", + "fc_har_hash": "c2a5ded5ce1445e5", + "fc_m12_hash": "c1bf08c86c8a9375", + "tgt_hash": "6733337824a443c6", + "err_lj_hash": "ea93928aa911b27c", + "err_har_hash": "e675342d1c9ae34b", + "err_m12_hash": "e9cd8ce4734812f7", + "n_obs": 1190, + "aligned_origin_first": "2020-06-30 00:00:00", + "aligned_origin_last": "2023-11-30 00:00:00", + "aligned_dates_hash": "844d3be01fc00c4a", + "per_fold_bias": [ + -0.22907732179986864, + 0.3539919576591999, + -0.03479646127916409, + 0.07334652393738929, + -0.05002488380884757 + ], + "bounds_train_test": { + "train_end_idx": 1220, + "oos_start_idx": 1230, + "oos_end_idx": 1476, + "n_train": 1220, + "n_oos": 1230, + "n_total": 1480, + "fold_size": 246, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 236, + "oos_start_idx": 246, + "oos_end_idx": 492, + "n_train": 236, + "n_oos": 246 + }, + { + "fold_idx": 1, + "train_end_idx": 482, + "oos_start_idx": 492, + "oos_end_idx": 738, + "n_train": 482, + "n_oos": 246 + }, + { + "fold_idx": 2, + "train_end_idx": 728, + "oos_start_idx": 738, + "oos_end_idx": 984, + "n_train": 728, + "n_oos": 246 + }, + { + "fold_idx": 3, + "train_end_idx": 974, + "oos_start_idx": 984, + "oos_end_idx": 1230, + "n_train": 974, + "n_oos": 246 + }, + { + "fold_idx": 4, + "train_end_idx": 1220, + "oos_start_idx": 1230, + "oos_end_idx": 1476, + "n_train": 1220, + "n_oos": 246 + } + ], + "fc_lj_hash_per_fold": [ + "c4e122070e860cd5", + "3b71ef061e16e04a", + "6d5ce63e0ef73c5a", + "63ab6f177129b0fe", + "ca354e2b69062f6b" + ], + "fc_content_hash_per_fold": [ + "bf3efd4b09d4d8c3", + "ff66261ad98e0be7", + "77f3120dc658be02", + "64e4a6ea066a4035", + "c153d4a8fa91e525" + ], + "edge_sigma_applicable": false, + "sharpe": -1.3735114231832988, + "kelly_active_pct": 0.4336134453781513 + }, + { + "coin": "SOL-USD", + "horizon": 1, + "seed": 0, + "mse_logrv": 0.6136916818821826, + "mse_har_raw": 0.6197412779312906, + "mse_har_debiased": 0.6536414675146837, + "mse_m12": 17.223735452384215, + "bias_lj": 0.009664285829212724, + "bias_har": 0.03852466025276668, + "bias_m12": -0.598570705300712, + "var_lj": 0.6135982834615938, + "var_har": 0.6521573180670925, + "var_m12": 16.865448563140024, + "dm_vs_har": { + "dm_statistic": -2.855146354998824, + "p_value": 0.004453221105884531, + "mean_loss_diff": -0.03994978563250099, + "hac_variance": 0.11531543751487754, + "n_obs": 590, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3080871790052915, + "p_value": 0.19135400426919413, + "mean_loss_diff": -16.61004377050203, + "hac_variance": 94969.3510891445, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "4f644cf7fb2a2882", + "fc_lj_hash": "bdd31c62c5620a92", + "fc_har_hash": "a95709a1caf2439c", + "fc_m12_hash": "aa62abc6e6d433e7", + "tgt_hash": "d24b19cc4a38fa8e", + "err_lj_hash": "8f08fb1177c8dbb2", + "err_har_hash": "fab83ca437992297", + "err_m12_hash": "a80a7330aed256bd", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + 0.07444754295995243, + -0.04142565644787017, + -0.06368029815371541, + -0.22566876315668374, + -0.21276262642244784 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "ecb8b585db95829a", + "e1bc59d6eb96e4d7", + "6786e23228a93c0e", + "6c6bfceb720d79a7", + "a6f1be06241a2027" + ], + "fc_content_hash_per_fold": [ + "1fd1cc2c03934f31", + "dcbb9d9b2a3557e7", + "6eebd26ad2459fd7", + "9996f09af9fe19bd", + "c0f44e9893a9f9c3" + ], + "edge_sigma_applicable": false, + "sharpe": -3.967849589616012, + "kelly_active_pct": 0.3949152542372881 + }, + { + "coin": "SOL-USD", + "horizon": 1, + "seed": 7, + "mse_logrv": 0.6136916818821826, + "mse_har_raw": 0.6197412779312906, + "mse_har_debiased": 0.6536414675146837, + "mse_m12": 17.223735452384215, + "bias_lj": 0.009664285829212724, + "bias_har": 0.03852466025276668, + "bias_m12": -0.598570705300712, + "var_lj": 0.6135982834615938, + "var_har": 0.6521573180670925, + "var_m12": 16.865448563140024, + "dm_vs_har": { + "dm_statistic": -2.855146354998824, + "p_value": 0.004453221105884531, + "mean_loss_diff": -0.03994978563250099, + "hac_variance": 0.11531543751487754, + "n_obs": 590, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3080871790052915, + "p_value": 0.19135400426919413, + "mean_loss_diff": -16.61004377050203, + "hac_variance": 94969.3510891445, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "4f644cf7fb2a2882", + "fc_lj_hash": "bdd31c62c5620a92", + "fc_har_hash": "a95709a1caf2439c", + "fc_m12_hash": "aa62abc6e6d433e7", + "tgt_hash": "d24b19cc4a38fa8e", + "err_lj_hash": "8f08fb1177c8dbb2", + "err_har_hash": "fab83ca437992297", + "err_m12_hash": "a80a7330aed256bd", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + 0.07444754295995243, + -0.04142565644787017, + -0.06368029815371541, + -0.22566876315668374, + -0.21276262642244784 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "ecb8b585db95829a", + "e1bc59d6eb96e4d7", + "6786e23228a93c0e", + "6c6bfceb720d79a7", + "a6f1be06241a2027" + ], + "fc_content_hash_per_fold": [ + "1fd1cc2c03934f31", + "dcbb9d9b2a3557e7", + "6eebd26ad2459fd7", + "9996f09af9fe19bd", + "c0f44e9893a9f9c3" + ], + "edge_sigma_applicable": false, + "sharpe": -3.967849589616012, + "kelly_active_pct": 0.3949152542372881 + }, + { + "coin": "SOL-USD", + "horizon": 1, + "seed": 42, + "mse_logrv": 0.6136916818821826, + "mse_har_raw": 0.6197412779312906, + "mse_har_debiased": 0.6536414675146837, + "mse_m12": 17.223735452384215, + "bias_lj": 0.009664285829212724, + "bias_har": 0.03852466025276668, + "bias_m12": -0.598570705300712, + "var_lj": 0.6135982834615938, + "var_har": 0.6521573180670925, + "var_m12": 16.865448563140024, + "dm_vs_har": { + "dm_statistic": -2.855146354998824, + "p_value": 0.004453221105884531, + "mean_loss_diff": -0.03994978563250099, + "hac_variance": 0.11531543751487754, + "n_obs": 590, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3080871790052915, + "p_value": 0.19135400426919413, + "mean_loss_diff": -16.61004377050203, + "hac_variance": 94969.3510891445, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "4f644cf7fb2a2882", + "fc_lj_hash": "bdd31c62c5620a92", + "fc_har_hash": "a95709a1caf2439c", + "fc_m12_hash": "aa62abc6e6d433e7", + "tgt_hash": "d24b19cc4a38fa8e", + "err_lj_hash": "8f08fb1177c8dbb2", + "err_har_hash": "fab83ca437992297", + "err_m12_hash": "a80a7330aed256bd", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + 0.07444754295995243, + -0.04142565644787017, + -0.06368029815371541, + -0.22566876315668374, + -0.21276262642244784 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "ecb8b585db95829a", + "e1bc59d6eb96e4d7", + "6786e23228a93c0e", + "6c6bfceb720d79a7", + "a6f1be06241a2027" + ], + "fc_content_hash_per_fold": [ + "1fd1cc2c03934f31", + "dcbb9d9b2a3557e7", + "6eebd26ad2459fd7", + "9996f09af9fe19bd", + "c0f44e9893a9f9c3" + ], + "edge_sigma_applicable": false, + "sharpe": -3.967849589616012, + "kelly_active_pct": 0.3949152542372881 + }, + { + "coin": "SOL-USD", + "horizon": 1, + "seed": 99, + "mse_logrv": 0.6136916818821826, + "mse_har_raw": 0.6197412779312906, + "mse_har_debiased": 0.6536414675146837, + "mse_m12": 17.223735452384215, + "bias_lj": 0.009664285829212724, + "bias_har": 0.03852466025276668, + "bias_m12": -0.598570705300712, + "var_lj": 0.6135982834615938, + "var_har": 0.6521573180670925, + "var_m12": 16.865448563140024, + "dm_vs_har": { + "dm_statistic": -2.855146354998824, + "p_value": 0.004453221105884531, + "mean_loss_diff": -0.03994978563250099, + "hac_variance": 0.11531543751487754, + "n_obs": 590, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3080871790052915, + "p_value": 0.19135400426919413, + "mean_loss_diff": -16.61004377050203, + "hac_variance": 94969.3510891445, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "4f644cf7fb2a2882", + "fc_lj_hash": "bdd31c62c5620a92", + "fc_har_hash": "a95709a1caf2439c", + "fc_m12_hash": "aa62abc6e6d433e7", + "tgt_hash": "d24b19cc4a38fa8e", + "err_lj_hash": "8f08fb1177c8dbb2", + "err_har_hash": "fab83ca437992297", + "err_m12_hash": "a80a7330aed256bd", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + 0.07444754295995243, + -0.04142565644787017, + -0.06368029815371541, + -0.22566876315668374, + -0.21276262642244784 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "ecb8b585db95829a", + "e1bc59d6eb96e4d7", + "6786e23228a93c0e", + "6c6bfceb720d79a7", + "a6f1be06241a2027" + ], + "fc_content_hash_per_fold": [ + "1fd1cc2c03934f31", + "dcbb9d9b2a3557e7", + "6eebd26ad2459fd7", + "9996f09af9fe19bd", + "c0f44e9893a9f9c3" + ], + "edge_sigma_applicable": false, + "sharpe": -3.967849589616012, + "kelly_active_pct": 0.3949152542372881 + }, + { + "coin": "SOL-USD", + "horizon": 5, + "seed": 0, + "mse_logrv": 0.2705997659243018, + "mse_har_raw": 0.2839315784257536, + "mse_har_debiased": 0.32699046462524034, + "mse_m12": 25.691731830627248, + "bias_lj": 0.0011561739850488432, + "bias_har": 0.059201938879538826, + "bias_m12": -0.7788477897537633, + "var_lj": 0.2705984291860181, + "var_har": 0.32348559505814367, + "var_m12": 25.085127951022926, + "dm_vs_har": { + "dm_statistic": -2.8710912593972884, + "p_value": 0.004242847083560486, + "mean_loss_diff": -0.05639069870093851, + "hac_variance": 0.21642677132233815, + "n_obs": 570, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.353838119768665, + "p_value": 0.1763255120887215, + "mean_loss_diff": -25.421132064702952, + "hac_variance": 197809.1243492833, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "4f644cf7fb2a2882", + "fc_lj_hash": "82d2352f558b8835", + "fc_har_hash": "cd6c3185045ae210", + "fc_m12_hash": "ecb1ce4eeba1231e", + "tgt_hash": "600ba2603f51a3ea", + "err_lj_hash": "56e3f81d3fad6bc6", + "err_har_hash": "5cb30561927382cf", + "err_m12_hash": "5a71383bff9a3ca2", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + 0.07631259809049662, + -0.07039942549257465, + -0.16371740033481108, + -0.2855654442200761, + -0.28515696045425 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "b35c77cd4740da42", + "de3fbc6e80f3cb85", + "b181d0cf5237b41d", + "b413c5c81d74b03c", + "7c08321cd6ba6301" + ], + "fc_content_hash_per_fold": [ + "38f75bec07597c8e", + "876250021c43d174", + "41c7ba463a10c61a", + "a377cd073a4a8260", + "d2b77f0598b1fb71" + ], + "edge_sigma_applicable": false, + "sharpe": -1.9801486389141563, + "kelly_active_pct": 0.39649122807017545 + }, + { + "coin": "SOL-USD", + "horizon": 5, + "seed": 7, + "mse_logrv": 0.2705997659243018, + "mse_har_raw": 0.2839315784257536, + "mse_har_debiased": 0.32699046462524034, + "mse_m12": 25.691731830627248, + "bias_lj": 0.0011561739850488432, + "bias_har": 0.059201938879538826, + "bias_m12": -0.7788477897537633, + "var_lj": 0.2705984291860181, + "var_har": 0.32348559505814367, + "var_m12": 25.085127951022926, + "dm_vs_har": { + "dm_statistic": -2.8710912593972884, + "p_value": 0.004242847083560486, + "mean_loss_diff": -0.05639069870093851, + "hac_variance": 0.21642677132233815, + "n_obs": 570, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.353838119768665, + "p_value": 0.1763255120887215, + "mean_loss_diff": -25.421132064702952, + "hac_variance": 197809.1243492833, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "4f644cf7fb2a2882", + "fc_lj_hash": "82d2352f558b8835", + "fc_har_hash": "cd6c3185045ae210", + "fc_m12_hash": "ecb1ce4eeba1231e", + "tgt_hash": "600ba2603f51a3ea", + "err_lj_hash": "56e3f81d3fad6bc6", + "err_har_hash": "5cb30561927382cf", + "err_m12_hash": "5a71383bff9a3ca2", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + 0.07631259809049662, + -0.07039942549257465, + -0.16371740033481108, + -0.2855654442200761, + -0.28515696045425 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "b35c77cd4740da42", + "de3fbc6e80f3cb85", + "b181d0cf5237b41d", + "b413c5c81d74b03c", + "7c08321cd6ba6301" + ], + "fc_content_hash_per_fold": [ + "38f75bec07597c8e", + "876250021c43d174", + "41c7ba463a10c61a", + "a377cd073a4a8260", + "d2b77f0598b1fb71" + ], + "edge_sigma_applicable": false, + "sharpe": -1.9801486389141563, + "kelly_active_pct": 0.39649122807017545 + }, + { + "coin": "SOL-USD", + "horizon": 5, + "seed": 42, + "mse_logrv": 0.2705997659243018, + "mse_har_raw": 0.2839315784257536, + "mse_har_debiased": 0.32699046462524034, + "mse_m12": 25.691731830627248, + "bias_lj": 0.0011561739850488432, + "bias_har": 0.059201938879538826, + "bias_m12": -0.7788477897537633, + "var_lj": 0.2705984291860181, + "var_har": 0.32348559505814367, + "var_m12": 25.085127951022926, + "dm_vs_har": { + "dm_statistic": -2.8710912593972884, + "p_value": 0.004242847083560486, + "mean_loss_diff": -0.05639069870093851, + "hac_variance": 0.21642677132233815, + "n_obs": 570, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.353838119768665, + "p_value": 0.1763255120887215, + "mean_loss_diff": -25.421132064702952, + "hac_variance": 197809.1243492833, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "4f644cf7fb2a2882", + "fc_lj_hash": "82d2352f558b8835", + "fc_har_hash": "cd6c3185045ae210", + "fc_m12_hash": "ecb1ce4eeba1231e", + "tgt_hash": "600ba2603f51a3ea", + "err_lj_hash": "56e3f81d3fad6bc6", + "err_har_hash": "5cb30561927382cf", + "err_m12_hash": "5a71383bff9a3ca2", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + 0.07631259809049662, + -0.07039942549257465, + -0.16371740033481108, + -0.2855654442200761, + -0.28515696045425 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "b35c77cd4740da42", + "de3fbc6e80f3cb85", + "b181d0cf5237b41d", + "b413c5c81d74b03c", + "7c08321cd6ba6301" + ], + "fc_content_hash_per_fold": [ + "38f75bec07597c8e", + "876250021c43d174", + "41c7ba463a10c61a", + "a377cd073a4a8260", + "d2b77f0598b1fb71" + ], + "edge_sigma_applicable": false, + "sharpe": -1.9801486389141563, + "kelly_active_pct": 0.39649122807017545 + }, + { + "coin": "SOL-USD", + "horizon": 5, + "seed": 99, + "mse_logrv": 0.2705997659243018, + "mse_har_raw": 0.2839315784257536, + "mse_har_debiased": 0.32699046462524034, + "mse_m12": 25.691731830627248, + "bias_lj": 0.0011561739850488432, + "bias_har": 0.059201938879538826, + "bias_m12": -0.7788477897537633, + "var_lj": 0.2705984291860181, + "var_har": 0.32348559505814367, + "var_m12": 25.085127951022926, + "dm_vs_har": { + "dm_statistic": -2.8710912593972884, + "p_value": 0.004242847083560486, + "mean_loss_diff": -0.05639069870093851, + "hac_variance": 0.21642677132233815, + "n_obs": 570, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.353838119768665, + "p_value": 0.1763255120887215, + "mean_loss_diff": -25.421132064702952, + "hac_variance": 197809.1243492833, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "4f644cf7fb2a2882", + "fc_lj_hash": "82d2352f558b8835", + "fc_har_hash": "cd6c3185045ae210", + "fc_m12_hash": "ecb1ce4eeba1231e", + "tgt_hash": "600ba2603f51a3ea", + "err_lj_hash": "56e3f81d3fad6bc6", + "err_har_hash": "5cb30561927382cf", + "err_m12_hash": "5a71383bff9a3ca2", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + 0.07631259809049662, + -0.07039942549257465, + -0.16371740033481108, + -0.2855654442200761, + -0.28515696045425 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "b35c77cd4740da42", + "de3fbc6e80f3cb85", + "b181d0cf5237b41d", + "b413c5c81d74b03c", + "7c08321cd6ba6301" + ], + "fc_content_hash_per_fold": [ + "38f75bec07597c8e", + "876250021c43d174", + "41c7ba463a10c61a", + "a377cd073a4a8260", + "d2b77f0598b1fb71" + ], + "edge_sigma_applicable": false, + "sharpe": -1.9801486389141563, + "kelly_active_pct": 0.39649122807017545 + }, + { + "coin": "SOL-USD", + "horizon": 10, + "seed": 0, + "mse_logrv": 0.24672230047167765, + "mse_har_raw": 0.25606258164221335, + "mse_har_debiased": 0.3137524146401589, + "mse_m12": 78.5353856052947, + "bias_lj": 0.03012417020367858, + "bias_har": 0.0771020890165458, + "bias_m12": -1.5578436142807777, + "var_lj": 0.24581483484121747, + "var_har": 0.30780768250944357, + "var_m12": 76.10850887873931, + "dm_vs_har": { + "dm_statistic": -3.0322488579380966, + "p_value": 0.0025428732192542824, + "mean_loss_diff": -0.06703011416848126, + "hac_variance": 0.25760641192711725, + "n_obs": 546, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.5152531904850859, + "p_value": 0.13028803914437126, + "mean_loss_diff": -78.28866330482303, + "hac_variance": 1407258.1563299075, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "4f644cf7fb2a2882", + "fc_lj_hash": "70ea2158a5fc78ff", + "fc_har_hash": "60cb347edc1d31b5", + "fc_m12_hash": "30eefc369c397d9e", + "tgt_hash": "866a9b50e9cd1bcb", + "err_lj_hash": "26a0d54cc75f15d9", + "err_har_hash": "5145d543cb78a38d", + "err_m12_hash": "c566dc15829a81b8", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + 0.05196773088005848, + -0.08825412870018562, + -0.1474819577231118, + -0.3002877050385626, + -0.37363012629829195 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "180a6654f5c586f4", + "68a0272ac4cbaa7f", + "04db36a3433c283a", + "1c749277bd83bbf0", + "14a858f1b1ee66ad" + ], + "fc_content_hash_per_fold": [ + "cc90d91b99d61b78", + "d7643b51f86e84d0", + "cf5f2130864c7a9c", + "a5ef56c6f686b4f5", + "f111caaf86b9cd1c" + ], + "edge_sigma_applicable": false, + "sharpe": -2.3369022851653476, + "kelly_active_pct": 0.42124542124542125 + }, + { + "coin": "SOL-USD", + "horizon": 10, + "seed": 7, + "mse_logrv": 0.24672230047167765, + "mse_har_raw": 0.25606258164221335, + "mse_har_debiased": 0.3137524146401589, + "mse_m12": 78.5353856052947, + "bias_lj": 0.03012417020367858, + "bias_har": 0.0771020890165458, + "bias_m12": -1.5578436142807777, + "var_lj": 0.24581483484121747, + "var_har": 0.30780768250944357, + "var_m12": 76.10850887873931, + "dm_vs_har": { + "dm_statistic": -3.0322488579380966, + "p_value": 0.0025428732192542824, + "mean_loss_diff": -0.06703011416848126, + "hac_variance": 0.25760641192711725, + "n_obs": 546, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.5152531904850859, + "p_value": 0.13028803914437126, + "mean_loss_diff": -78.28866330482303, + "hac_variance": 1407258.1563299075, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "4f644cf7fb2a2882", + "fc_lj_hash": "70ea2158a5fc78ff", + "fc_har_hash": "60cb347edc1d31b5", + "fc_m12_hash": "30eefc369c397d9e", + "tgt_hash": "866a9b50e9cd1bcb", + "err_lj_hash": "26a0d54cc75f15d9", + "err_har_hash": "5145d543cb78a38d", + "err_m12_hash": "c566dc15829a81b8", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + 0.05196773088005848, + -0.08825412870018562, + -0.1474819577231118, + -0.3002877050385626, + -0.37363012629829195 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "180a6654f5c586f4", + "68a0272ac4cbaa7f", + "04db36a3433c283a", + "1c749277bd83bbf0", + "14a858f1b1ee66ad" + ], + "fc_content_hash_per_fold": [ + "cc90d91b99d61b78", + "d7643b51f86e84d0", + "cf5f2130864c7a9c", + "a5ef56c6f686b4f5", + "f111caaf86b9cd1c" + ], + "edge_sigma_applicable": false, + "sharpe": -2.3369022851653476, + "kelly_active_pct": 0.42124542124542125 + }, + { + "coin": "SOL-USD", + "horizon": 10, + "seed": 42, + "mse_logrv": 0.24672230047167765, + "mse_har_raw": 0.25606258164221335, + "mse_har_debiased": 0.3137524146401589, + "mse_m12": 78.5353856052947, + "bias_lj": 0.03012417020367858, + "bias_har": 0.0771020890165458, + "bias_m12": -1.5578436142807777, + "var_lj": 0.24581483484121747, + "var_har": 0.30780768250944357, + "var_m12": 76.10850887873931, + "dm_vs_har": { + "dm_statistic": -3.0322488579380966, + "p_value": 0.0025428732192542824, + "mean_loss_diff": -0.06703011416848126, + "hac_variance": 0.25760641192711725, + "n_obs": 546, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.5152531904850859, + "p_value": 0.13028803914437126, + "mean_loss_diff": -78.28866330482303, + "hac_variance": 1407258.1563299075, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "4f644cf7fb2a2882", + "fc_lj_hash": "70ea2158a5fc78ff", + "fc_har_hash": "60cb347edc1d31b5", + "fc_m12_hash": "30eefc369c397d9e", + "tgt_hash": "866a9b50e9cd1bcb", + "err_lj_hash": "26a0d54cc75f15d9", + "err_har_hash": "5145d543cb78a38d", + "err_m12_hash": "c566dc15829a81b8", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + 0.05196773088005848, + -0.08825412870018562, + -0.1474819577231118, + -0.3002877050385626, + -0.37363012629829195 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "180a6654f5c586f4", + "68a0272ac4cbaa7f", + "04db36a3433c283a", + "1c749277bd83bbf0", + "14a858f1b1ee66ad" + ], + "fc_content_hash_per_fold": [ + "cc90d91b99d61b78", + "d7643b51f86e84d0", + "cf5f2130864c7a9c", + "a5ef56c6f686b4f5", + "f111caaf86b9cd1c" + ], + "edge_sigma_applicable": false, + "sharpe": -2.3369022851653476, + "kelly_active_pct": 0.42124542124542125 + }, + { + "coin": "SOL-USD", + "horizon": 10, + "seed": 99, + "mse_logrv": 0.24672230047167765, + "mse_har_raw": 0.25606258164221335, + "mse_har_debiased": 0.3137524146401589, + "mse_m12": 78.5353856052947, + "bias_lj": 0.03012417020367858, + "bias_har": 0.0771020890165458, + "bias_m12": -1.5578436142807777, + "var_lj": 0.24581483484121747, + "var_har": 0.30780768250944357, + "var_m12": 76.10850887873931, + "dm_vs_har": { + "dm_statistic": -3.0322488579380966, + "p_value": 0.0025428732192542824, + "mean_loss_diff": -0.06703011416848126, + "hac_variance": 0.25760641192711725, + "n_obs": 546, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.5152531904850859, + "p_value": 0.13028803914437126, + "mean_loss_diff": -78.28866330482303, + "hac_variance": 1407258.1563299075, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "4f644cf7fb2a2882", + "fc_lj_hash": "70ea2158a5fc78ff", + "fc_har_hash": "60cb347edc1d31b5", + "fc_m12_hash": "30eefc369c397d9e", + "tgt_hash": "866a9b50e9cd1bcb", + "err_lj_hash": "26a0d54cc75f15d9", + "err_har_hash": "5145d543cb78a38d", + "err_m12_hash": "c566dc15829a81b8", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + 0.05196773088005848, + -0.08825412870018562, + -0.1474819577231118, + -0.3002877050385626, + -0.37363012629829195 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "180a6654f5c586f4", + "68a0272ac4cbaa7f", + "04db36a3433c283a", + "1c749277bd83bbf0", + "14a858f1b1ee66ad" + ], + "fc_content_hash_per_fold": [ + "cc90d91b99d61b78", + "d7643b51f86e84d0", + "cf5f2130864c7a9c", + "a5ef56c6f686b4f5", + "f111caaf86b9cd1c" + ], + "edge_sigma_applicable": false, + "sharpe": -2.3369022851653476, + "kelly_active_pct": 0.42124542124542125 + }, + { + "coin": "LTC-USD", + "horizon": 1, + "seed": 0, + "mse_logrv": 0.6194987700501371, + "mse_har_raw": 0.6173151976839623, + "mse_har_debiased": 0.6275961137356597, + "mse_m12": 0.7152318053016106, + "bias_lj": 0.011186062779808143, + "bias_har": 0.021270643446264934, + "bias_m12": 0.01786816537054145, + "var_lj": 0.6193736420496232, + "var_har": 0.6271436734630416, + "var_m12": 0.7149125339679016, + "dm_vs_har": { + "dm_statistic": -0.7207354749896472, + "p_value": 0.47135823002980937, + "mean_loss_diff": -0.008097343685522717, + "hac_variance": 0.07434446544581243, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.891041054263221, + "p_value": 0.05910932814770553, + "mean_loss_diff": -0.09573303525147349, + "hac_variance": 1.5095136242283718, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "f05d5a064a956c49", + "fc_lj_hash": "6aa44034c8ae34fa", + "fc_har_hash": "92bec57911486ef4", + "fc_m12_hash": "3c76d8aaf8483fb7", + "tgt_hash": "82ee182dfd794a10", + "err_lj_hash": "ad3bdfd8742ca931", + "err_har_hash": "975b8ee4f0d56917", + "err_m12_hash": "144a73d72f2c4a46", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + -0.009958249143452351, + -0.021430647437550934, + -0.11887502681085785, + -0.1365373454673697, + -0.12554770763498901 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "a7b4cca76c611345", + "6010ebb9c268eeb2", + "85d6daf60531a16f", + "c7f93c0d6661d6a9", + "28fa2140d8693520" + ], + "fc_content_hash_per_fold": [ + "7f210f5329f40a67", + "ba1a17b8c3faadd0", + "3b01a153acbaf3ac", + "c1c459ec3d745223", + "db224a29eeed5f64" + ], + "edge_sigma_applicable": false, + "sharpe": -3.1810301760735507, + "kelly_active_pct": 0.39322033898305087 + }, + { + "coin": "LTC-USD", + "horizon": 1, + "seed": 7, + "mse_logrv": 0.6194987700501371, + "mse_har_raw": 0.6173151976839623, + "mse_har_debiased": 0.6275961137356597, + "mse_m12": 0.7152318053016106, + "bias_lj": 0.011186062779808143, + "bias_har": 0.021270643446264934, + "bias_m12": 0.01786816537054145, + "var_lj": 0.6193736420496232, + "var_har": 0.6271436734630416, + "var_m12": 0.7149125339679016, + "dm_vs_har": { + "dm_statistic": -0.7207354749896472, + "p_value": 0.47135823002980937, + "mean_loss_diff": -0.008097343685522717, + "hac_variance": 0.07434446544581243, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.891041054263221, + "p_value": 0.05910932814770553, + "mean_loss_diff": -0.09573303525147349, + "hac_variance": 1.5095136242283718, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "f05d5a064a956c49", + "fc_lj_hash": "6aa44034c8ae34fa", + "fc_har_hash": "92bec57911486ef4", + "fc_m12_hash": "3c76d8aaf8483fb7", + "tgt_hash": "82ee182dfd794a10", + "err_lj_hash": "ad3bdfd8742ca931", + "err_har_hash": "975b8ee4f0d56917", + "err_m12_hash": "144a73d72f2c4a46", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + -0.009958249143452351, + -0.021430647437550934, + -0.11887502681085785, + -0.1365373454673697, + -0.12554770763498901 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "a7b4cca76c611345", + "6010ebb9c268eeb2", + "85d6daf60531a16f", + "c7f93c0d6661d6a9", + "28fa2140d8693520" + ], + "fc_content_hash_per_fold": [ + "7f210f5329f40a67", + "ba1a17b8c3faadd0", + "3b01a153acbaf3ac", + "c1c459ec3d745223", + "db224a29eeed5f64" + ], + "edge_sigma_applicable": false, + "sharpe": -3.1810301760735507, + "kelly_active_pct": 0.39322033898305087 + }, + { + "coin": "LTC-USD", + "horizon": 1, + "seed": 42, + "mse_logrv": 0.6194987700501371, + "mse_har_raw": 0.6173151976839623, + "mse_har_debiased": 0.6275961137356597, + "mse_m12": 0.7152318053016106, + "bias_lj": 0.011186062779808143, + "bias_har": 0.021270643446264934, + "bias_m12": 0.01786816537054145, + "var_lj": 0.6193736420496232, + "var_har": 0.6271436734630416, + "var_m12": 0.7149125339679016, + "dm_vs_har": { + "dm_statistic": -0.7207354749896472, + "p_value": 0.47135823002980937, + "mean_loss_diff": -0.008097343685522717, + "hac_variance": 0.07434446544581243, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.891041054263221, + "p_value": 0.05910932814770553, + "mean_loss_diff": -0.09573303525147349, + "hac_variance": 1.5095136242283718, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "f05d5a064a956c49", + "fc_lj_hash": "6aa44034c8ae34fa", + "fc_har_hash": "92bec57911486ef4", + "fc_m12_hash": "3c76d8aaf8483fb7", + "tgt_hash": "82ee182dfd794a10", + "err_lj_hash": "ad3bdfd8742ca931", + "err_har_hash": "975b8ee4f0d56917", + "err_m12_hash": "144a73d72f2c4a46", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + -0.009958249143452351, + -0.021430647437550934, + -0.11887502681085785, + -0.1365373454673697, + -0.12554770763498901 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "a7b4cca76c611345", + "6010ebb9c268eeb2", + "85d6daf60531a16f", + "c7f93c0d6661d6a9", + "28fa2140d8693520" + ], + "fc_content_hash_per_fold": [ + "7f210f5329f40a67", + "ba1a17b8c3faadd0", + "3b01a153acbaf3ac", + "c1c459ec3d745223", + "db224a29eeed5f64" + ], + "edge_sigma_applicable": false, + "sharpe": -3.1810301760735507, + "kelly_active_pct": 0.39322033898305087 + }, + { + "coin": "LTC-USD", + "horizon": 1, + "seed": 99, + "mse_logrv": 0.6194987700501371, + "mse_har_raw": 0.6173151976839623, + "mse_har_debiased": 0.6275961137356597, + "mse_m12": 0.7152318053016106, + "bias_lj": 0.011186062779808143, + "bias_har": 0.021270643446264934, + "bias_m12": 0.01786816537054145, + "var_lj": 0.6193736420496232, + "var_har": 0.6271436734630416, + "var_m12": 0.7149125339679016, + "dm_vs_har": { + "dm_statistic": -0.7207354749896472, + "p_value": 0.47135823002980937, + "mean_loss_diff": -0.008097343685522717, + "hac_variance": 0.07434446544581243, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.891041054263221, + "p_value": 0.05910932814770553, + "mean_loss_diff": -0.09573303525147349, + "hac_variance": 1.5095136242283718, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "f05d5a064a956c49", + "fc_lj_hash": "6aa44034c8ae34fa", + "fc_har_hash": "92bec57911486ef4", + "fc_m12_hash": "3c76d8aaf8483fb7", + "tgt_hash": "82ee182dfd794a10", + "err_lj_hash": "ad3bdfd8742ca931", + "err_har_hash": "975b8ee4f0d56917", + "err_m12_hash": "144a73d72f2c4a46", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + -0.009958249143452351, + -0.021430647437550934, + -0.11887502681085785, + -0.1365373454673697, + -0.12554770763498901 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "a7b4cca76c611345", + "6010ebb9c268eeb2", + "85d6daf60531a16f", + "c7f93c0d6661d6a9", + "28fa2140d8693520" + ], + "fc_content_hash_per_fold": [ + "7f210f5329f40a67", + "ba1a17b8c3faadd0", + "3b01a153acbaf3ac", + "c1c459ec3d745223", + "db224a29eeed5f64" + ], + "edge_sigma_applicable": false, + "sharpe": -3.1810301760735507, + "kelly_active_pct": 0.39322033898305087 + }, + { + "coin": "LTC-USD", + "horizon": 5, + "seed": 0, + "mse_logrv": 0.3360174973356695, + "mse_har_raw": 0.3367757472674965, + "mse_har_debiased": 0.37391988572285506, + "mse_m12": 0.7632099939014148, + "bias_lj": 0.007569575826826867, + "bias_har": 0.043556226861957106, + "bias_m12": 0.03378116722807494, + "var_lj": 0.3359601988574714, + "var_har": 0.3720227408244048, + "var_m12": 0.7620688266421236, + "dm_vs_har": { + "dm_statistic": -2.49622536892828, + "p_value": 0.01283413305804304, + "mean_loss_diff": -0.037902388387185564, + "hac_variance": 0.12934677152071833, + "n_obs": 570, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.6014281353642932, + "p_value": 0.10983712400699308, + "mean_loss_diff": -0.42719249656574526, + "hac_variance": 39.92292441461982, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "f05d5a064a956c49", + "fc_lj_hash": "c788771c0e15e23c", + "fc_har_hash": "f436d8d900ceb5bf", + "fc_m12_hash": "33c3ab7c10485ecc", + "tgt_hash": "d0561d0a1a348653", + "err_lj_hash": "441d10a0a0fd863d", + "err_har_hash": "2b99a68846b54da0", + "err_m12_hash": "bd71437ec61d6d9d", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + 0.005069212775640164, + -0.06908014357829013, + -0.22589333957571242, + -0.21796086557827718, + -0.19183172004718047 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "191b64f2dc9e5963", + "1a883cea6a9ad716", + "e3dfcfd6661e6ddb", + "838df810f974b1f0", + "c085cfb812e381c2" + ], + "fc_content_hash_per_fold": [ + "632766d92c5785f5", + "6813f9b5e62a43fc", + "0d57b7c225fc561f", + "98d6fe31ee74ba12", + "46e12e1a471014d9" + ], + "edge_sigma_applicable": false, + "sharpe": -1.8696633204881636, + "kelly_active_pct": 0.39824561403508774 + }, + { + "coin": "LTC-USD", + "horizon": 5, + "seed": 7, + "mse_logrv": 0.3360174973356695, + "mse_har_raw": 0.3367757472674965, + "mse_har_debiased": 0.37391988572285506, + "mse_m12": 0.7632099939014148, + "bias_lj": 0.007569575826826867, + "bias_har": 0.043556226861957106, + "bias_m12": 0.03378116722807494, + "var_lj": 0.3359601988574714, + "var_har": 0.3720227408244048, + "var_m12": 0.7620688266421236, + "dm_vs_har": { + "dm_statistic": -2.49622536892828, + "p_value": 0.01283413305804304, + "mean_loss_diff": -0.037902388387185564, + "hac_variance": 0.12934677152071833, + "n_obs": 570, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.6014281353642932, + "p_value": 0.10983712400699308, + "mean_loss_diff": -0.42719249656574526, + "hac_variance": 39.92292441461982, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "f05d5a064a956c49", + "fc_lj_hash": "c788771c0e15e23c", + "fc_har_hash": "f436d8d900ceb5bf", + "fc_m12_hash": "33c3ab7c10485ecc", + "tgt_hash": "d0561d0a1a348653", + "err_lj_hash": "441d10a0a0fd863d", + "err_har_hash": "2b99a68846b54da0", + "err_m12_hash": "bd71437ec61d6d9d", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + 0.005069212775640164, + -0.06908014357829013, + -0.22589333957571242, + -0.21796086557827718, + -0.19183172004718047 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "191b64f2dc9e5963", + "1a883cea6a9ad716", + "e3dfcfd6661e6ddb", + "838df810f974b1f0", + "c085cfb812e381c2" + ], + "fc_content_hash_per_fold": [ + "632766d92c5785f5", + "6813f9b5e62a43fc", + "0d57b7c225fc561f", + "98d6fe31ee74ba12", + "46e12e1a471014d9" + ], + "edge_sigma_applicable": false, + "sharpe": -1.8696633204881636, + "kelly_active_pct": 0.39824561403508774 + }, + { + "coin": "LTC-USD", + "horizon": 5, + "seed": 42, + "mse_logrv": 0.3360174973356695, + "mse_har_raw": 0.3367757472674965, + "mse_har_debiased": 0.37391988572285506, + "mse_m12": 0.7632099939014148, + "bias_lj": 0.007569575826826867, + "bias_har": 0.043556226861957106, + "bias_m12": 0.03378116722807494, + "var_lj": 0.3359601988574714, + "var_har": 0.3720227408244048, + "var_m12": 0.7620688266421236, + "dm_vs_har": { + "dm_statistic": -2.49622536892828, + "p_value": 0.01283413305804304, + "mean_loss_diff": -0.037902388387185564, + "hac_variance": 0.12934677152071833, + "n_obs": 570, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.6014281353642932, + "p_value": 0.10983712400699308, + "mean_loss_diff": -0.42719249656574526, + "hac_variance": 39.92292441461982, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "f05d5a064a956c49", + "fc_lj_hash": "c788771c0e15e23c", + "fc_har_hash": "f436d8d900ceb5bf", + "fc_m12_hash": "33c3ab7c10485ecc", + "tgt_hash": "d0561d0a1a348653", + "err_lj_hash": "441d10a0a0fd863d", + "err_har_hash": "2b99a68846b54da0", + "err_m12_hash": "bd71437ec61d6d9d", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + 0.005069212775640164, + -0.06908014357829013, + -0.22589333957571242, + -0.21796086557827718, + -0.19183172004718047 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "191b64f2dc9e5963", + "1a883cea6a9ad716", + "e3dfcfd6661e6ddb", + "838df810f974b1f0", + "c085cfb812e381c2" + ], + "fc_content_hash_per_fold": [ + "632766d92c5785f5", + "6813f9b5e62a43fc", + "0d57b7c225fc561f", + "98d6fe31ee74ba12", + "46e12e1a471014d9" + ], + "edge_sigma_applicable": false, + "sharpe": -1.8696633204881636, + "kelly_active_pct": 0.39824561403508774 + }, + { + "coin": "LTC-USD", + "horizon": 5, + "seed": 99, + "mse_logrv": 0.3360174973356695, + "mse_har_raw": 0.3367757472674965, + "mse_har_debiased": 0.37391988572285506, + "mse_m12": 0.7632099939014148, + "bias_lj": 0.007569575826826867, + "bias_har": 0.043556226861957106, + "bias_m12": 0.03378116722807494, + "var_lj": 0.3359601988574714, + "var_har": 0.3720227408244048, + "var_m12": 0.7620688266421236, + "dm_vs_har": { + "dm_statistic": -2.49622536892828, + "p_value": 0.01283413305804304, + "mean_loss_diff": -0.037902388387185564, + "hac_variance": 0.12934677152071833, + "n_obs": 570, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.6014281353642932, + "p_value": 0.10983712400699308, + "mean_loss_diff": -0.42719249656574526, + "hac_variance": 39.92292441461982, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "f05d5a064a956c49", + "fc_lj_hash": "c788771c0e15e23c", + "fc_har_hash": "f436d8d900ceb5bf", + "fc_m12_hash": "33c3ab7c10485ecc", + "tgt_hash": "d0561d0a1a348653", + "err_lj_hash": "441d10a0a0fd863d", + "err_har_hash": "2b99a68846b54da0", + "err_m12_hash": "bd71437ec61d6d9d", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + 0.005069212775640164, + -0.06908014357829013, + -0.22589333957571242, + -0.21796086557827718, + -0.19183172004718047 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "191b64f2dc9e5963", + "1a883cea6a9ad716", + "e3dfcfd6661e6ddb", + "838df810f974b1f0", + "c085cfb812e381c2" + ], + "fc_content_hash_per_fold": [ + "632766d92c5785f5", + "6813f9b5e62a43fc", + "0d57b7c225fc561f", + "98d6fe31ee74ba12", + "46e12e1a471014d9" + ], + "edge_sigma_applicable": false, + "sharpe": -1.8696633204881636, + "kelly_active_pct": 0.39824561403508774 + }, + { + "coin": "LTC-USD", + "horizon": 10, + "seed": 0, + "mse_logrv": 0.3030272425335194, + "mse_har_raw": 0.3042718840208134, + "mse_har_debiased": 0.38292025338981617, + "mse_m12": 2.9786788494924226, + "bias_lj": 0.02919321373517688, + "bias_har": 0.0690054068617158, + "bias_m12": 0.05705763446513657, + "var_lj": 0.3021749988053317, + "var_har": 0.37815850721366523, + "var_m12": 2.975423275841665, + "dm_vs_har": { + "dm_statistic": -3.4638204018197647, + "p_value": 0.0005744413918851166, + "mean_loss_diff": -0.07989301085629673, + "hac_variance": 0.280448600810746, + "n_obs": 546, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3045559347160165, + "p_value": 0.19259471320823573, + "mean_loss_diff": -2.675651606958903, + "hac_variance": 2217.5843639140303, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "f05d5a064a956c49", + "fc_lj_hash": "c277c13e49454fbe", + "fc_har_hash": "99e7ead85ecf63e7", + "fc_m12_hash": "82c343cbb976eba1", + "tgt_hash": "7aeee75f5b379c4f", + "err_lj_hash": "9ce2333922d4c6ed", + "err_har_hash": "b33206fe3521ce30", + "err_m12_hash": "b07c311d68c6f090", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + 0.007888567300429462, + -0.1248013797711236, + -0.2413874387197491, + -0.2604038730683812, + -0.3100101853895493 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "c4515f4f9eeaae99", + "2e71dabb2bbb6b62", + "3344e13914171c8d", + "943c07041ea8a49d", + "7ccce6b34f2fed45" + ], + "fc_content_hash_per_fold": [ + "334f488e6a1db3bd", + "67a809c6840a6677", + "6a6a8f2ee85d2194", + "dc785f7f7c6be08e", + "82c6f83893157173" + ], + "edge_sigma_applicable": false, + "sharpe": -2.0651732156408, + "kelly_active_pct": 0.40476190476190477 + }, + { + "coin": "LTC-USD", + "horizon": 10, + "seed": 7, + "mse_logrv": 0.3030272425335194, + "mse_har_raw": 0.3042718840208134, + "mse_har_debiased": 0.38292025338981617, + "mse_m12": 2.9786788494924226, + "bias_lj": 0.02919321373517688, + "bias_har": 0.0690054068617158, + "bias_m12": 0.05705763446513657, + "var_lj": 0.3021749988053317, + "var_har": 0.37815850721366523, + "var_m12": 2.975423275841665, + "dm_vs_har": { + "dm_statistic": -3.4638204018197647, + "p_value": 0.0005744413918851166, + "mean_loss_diff": -0.07989301085629673, + "hac_variance": 0.280448600810746, + "n_obs": 546, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3045559347160165, + "p_value": 0.19259471320823573, + "mean_loss_diff": -2.675651606958903, + "hac_variance": 2217.5843639140303, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "f05d5a064a956c49", + "fc_lj_hash": "c277c13e49454fbe", + "fc_har_hash": "99e7ead85ecf63e7", + "fc_m12_hash": "82c343cbb976eba1", + "tgt_hash": "7aeee75f5b379c4f", + "err_lj_hash": "9ce2333922d4c6ed", + "err_har_hash": "b33206fe3521ce30", + "err_m12_hash": "b07c311d68c6f090", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + 0.007888567300429462, + -0.1248013797711236, + -0.2413874387197491, + -0.2604038730683812, + -0.3100101853895493 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "c4515f4f9eeaae99", + "2e71dabb2bbb6b62", + "3344e13914171c8d", + "943c07041ea8a49d", + "7ccce6b34f2fed45" + ], + "fc_content_hash_per_fold": [ + "334f488e6a1db3bd", + "67a809c6840a6677", + "6a6a8f2ee85d2194", + "dc785f7f7c6be08e", + "82c6f83893157173" + ], + "edge_sigma_applicable": false, + "sharpe": -2.0651732156408, + "kelly_active_pct": 0.40476190476190477 + }, + { + "coin": "LTC-USD", + "horizon": 10, + "seed": 42, + "mse_logrv": 0.3030272425335194, + "mse_har_raw": 0.3042718840208134, + "mse_har_debiased": 0.38292025338981617, + "mse_m12": 2.9786788494924226, + "bias_lj": 0.02919321373517688, + "bias_har": 0.0690054068617158, + "bias_m12": 0.05705763446513657, + "var_lj": 0.3021749988053317, + "var_har": 0.37815850721366523, + "var_m12": 2.975423275841665, + "dm_vs_har": { + "dm_statistic": -3.4638204018197647, + "p_value": 0.0005744413918851166, + "mean_loss_diff": -0.07989301085629673, + "hac_variance": 0.280448600810746, + "n_obs": 546, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3045559347160165, + "p_value": 0.19259471320823573, + "mean_loss_diff": -2.675651606958903, + "hac_variance": 2217.5843639140303, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "f05d5a064a956c49", + "fc_lj_hash": "c277c13e49454fbe", + "fc_har_hash": "99e7ead85ecf63e7", + "fc_m12_hash": "82c343cbb976eba1", + "tgt_hash": "7aeee75f5b379c4f", + "err_lj_hash": "9ce2333922d4c6ed", + "err_har_hash": "b33206fe3521ce30", + "err_m12_hash": "b07c311d68c6f090", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + 0.007888567300429462, + -0.1248013797711236, + -0.2413874387197491, + -0.2604038730683812, + -0.3100101853895493 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "c4515f4f9eeaae99", + "2e71dabb2bbb6b62", + "3344e13914171c8d", + "943c07041ea8a49d", + "7ccce6b34f2fed45" + ], + "fc_content_hash_per_fold": [ + "334f488e6a1db3bd", + "67a809c6840a6677", + "6a6a8f2ee85d2194", + "dc785f7f7c6be08e", + "82c6f83893157173" + ], + "edge_sigma_applicable": false, + "sharpe": -2.0651732156408, + "kelly_active_pct": 0.40476190476190477 + }, + { + "coin": "LTC-USD", + "horizon": 10, + "seed": 99, + "mse_logrv": 0.3030272425335194, + "mse_har_raw": 0.3042718840208134, + "mse_har_debiased": 0.38292025338981617, + "mse_m12": 2.9786788494924226, + "bias_lj": 0.02919321373517688, + "bias_har": 0.0690054068617158, + "bias_m12": 0.05705763446513657, + "var_lj": 0.3021749988053317, + "var_har": 0.37815850721366523, + "var_m12": 2.975423275841665, + "dm_vs_har": { + "dm_statistic": -3.4638204018197647, + "p_value": 0.0005744413918851166, + "mean_loss_diff": -0.07989301085629673, + "hac_variance": 0.280448600810746, + "n_obs": 546, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3045559347160165, + "p_value": 0.19259471320823573, + "mean_loss_diff": -2.675651606958903, + "hac_variance": 2217.5843639140303, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "f05d5a064a956c49", + "fc_lj_hash": "c277c13e49454fbe", + "fc_har_hash": "99e7ead85ecf63e7", + "fc_m12_hash": "82c343cbb976eba1", + "tgt_hash": "7aeee75f5b379c4f", + "err_lj_hash": "9ce2333922d4c6ed", + "err_har_hash": "b33206fe3521ce30", + "err_m12_hash": "b07c311d68c6f090", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + 0.007888567300429462, + -0.1248013797711236, + -0.2413874387197491, + -0.2604038730683812, + -0.3100101853895493 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "c4515f4f9eeaae99", + "2e71dabb2bbb6b62", + "3344e13914171c8d", + "943c07041ea8a49d", + "7ccce6b34f2fed45" + ], + "fc_content_hash_per_fold": [ + "334f488e6a1db3bd", + "67a809c6840a6677", + "6a6a8f2ee85d2194", + "dc785f7f7c6be08e", + "82c6f83893157173" + ], + "edge_sigma_applicable": false, + "sharpe": -2.0651732156408, + "kelly_active_pct": 0.40476190476190477 + }, + { + "coin": "XRP-USD", + "horizon": 1, + "seed": 0, + "mse_logrv": 0.826953815762709, + "mse_har_raw": 0.8228330799977039, + "mse_har_debiased": 0.8515349401536169, + "mse_m12": 0.8500748194771086, + "bias_lj": -0.014530549775308224, + "bias_har": 0.009254611068452129, + "bias_m12": -1.2499662736262382e-05, + "var_lj": 0.8267426788859361, + "var_har": 0.8514492923275886, + "var_m12": 0.850074819320867, + "dm_vs_har": { + "dm_statistic": -1.9492538054548094, + "p_value": 0.05173939761504864, + "mean_loss_diff": -0.024581124390908014, + "hac_variance": 0.09366600608662318, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.9927518876941277, + "p_value": 0.04674961900063912, + "mean_loss_diff": -0.023121003714399693, + "hac_variance": 0.07929069112646282, + "n_obs": 590, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "panel_hash": "3958ac1d94235291", + "fc_lj_hash": "bc06a563141fc85c", + "fc_har_hash": "4154a85d2a248faa", + "fc_m12_hash": "100a8f9d91152081", + "tgt_hash": "f70e17a425a0ad19", + "err_lj_hash": "fb565f8a5e1c601c", + "err_har_hash": "d6f47f09fd8079c1", + "err_m12_hash": "071c4fb9e8c8aa72", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + 0.023028593735730525, + -0.09564890623399873, + -0.10781651818783486, + -0.15502289923996168, + -0.16525928861207903 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "dab4e43c5358462e", + "021c1272a29d80bf", + "dfddbef45be1ec42", + "e1c630bd10a96683", + "73858316e93c40b2" + ], + "fc_content_hash_per_fold": [ + "cb7579a28f021fab", + "e0769115e9d13dc7", + "ca26aedece2c557e", + "d27bc100d1404f01", + "605401fe4496d9f5" + ], + "edge_sigma_applicable": false, + "sharpe": -3.294111373551415, + "kelly_active_pct": 0.42203389830508475 + }, + { + "coin": "XRP-USD", + "horizon": 1, + "seed": 7, + "mse_logrv": 0.826953815762709, + "mse_har_raw": 0.8228330799977039, + "mse_har_debiased": 0.8515349401536169, + "mse_m12": 0.8500748194771086, + "bias_lj": -0.014530549775308224, + "bias_har": 0.009254611068452129, + "bias_m12": -1.2499662736262382e-05, + "var_lj": 0.8267426788859361, + "var_har": 0.8514492923275886, + "var_m12": 0.850074819320867, + "dm_vs_har": { + "dm_statistic": -1.9492538054548094, + "p_value": 0.05173939761504864, + "mean_loss_diff": -0.024581124390908014, + "hac_variance": 0.09366600608662318, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.9927518876941277, + "p_value": 0.04674961900063912, + "mean_loss_diff": -0.023121003714399693, + "hac_variance": 0.07929069112646282, + "n_obs": 590, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "panel_hash": "3958ac1d94235291", + "fc_lj_hash": "bc06a563141fc85c", + "fc_har_hash": "4154a85d2a248faa", + "fc_m12_hash": "100a8f9d91152081", + "tgt_hash": "f70e17a425a0ad19", + "err_lj_hash": "fb565f8a5e1c601c", + "err_har_hash": "d6f47f09fd8079c1", + "err_m12_hash": "071c4fb9e8c8aa72", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + 0.023028593735730525, + -0.09564890623399873, + -0.10781651818783486, + -0.15502289923996168, + -0.16525928861207903 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "dab4e43c5358462e", + "021c1272a29d80bf", + "dfddbef45be1ec42", + "e1c630bd10a96683", + "73858316e93c40b2" + ], + "fc_content_hash_per_fold": [ + "cb7579a28f021fab", + "e0769115e9d13dc7", + "ca26aedece2c557e", + "d27bc100d1404f01", + "605401fe4496d9f5" + ], + "edge_sigma_applicable": false, + "sharpe": -3.294111373551415, + "kelly_active_pct": 0.42203389830508475 + }, + { + "coin": "XRP-USD", + "horizon": 1, + "seed": 42, + "mse_logrv": 0.826953815762709, + "mse_har_raw": 0.8228330799977039, + "mse_har_debiased": 0.8515349401536169, + "mse_m12": 0.8500748194771086, + "bias_lj": -0.014530549775308224, + "bias_har": 0.009254611068452129, + "bias_m12": -1.2499662736262382e-05, + "var_lj": 0.8267426788859361, + "var_har": 0.8514492923275886, + "var_m12": 0.850074819320867, + "dm_vs_har": { + "dm_statistic": -1.9492538054548094, + "p_value": 0.05173939761504864, + "mean_loss_diff": -0.024581124390908014, + "hac_variance": 0.09366600608662318, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.9927518876941277, + "p_value": 0.04674961900063912, + "mean_loss_diff": -0.023121003714399693, + "hac_variance": 0.07929069112646282, + "n_obs": 590, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "panel_hash": "3958ac1d94235291", + "fc_lj_hash": "bc06a563141fc85c", + "fc_har_hash": "4154a85d2a248faa", + "fc_m12_hash": "100a8f9d91152081", + "tgt_hash": "f70e17a425a0ad19", + "err_lj_hash": "fb565f8a5e1c601c", + "err_har_hash": "d6f47f09fd8079c1", + "err_m12_hash": "071c4fb9e8c8aa72", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + 0.023028593735730525, + -0.09564890623399873, + -0.10781651818783486, + -0.15502289923996168, + -0.16525928861207903 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "dab4e43c5358462e", + "021c1272a29d80bf", + "dfddbef45be1ec42", + "e1c630bd10a96683", + "73858316e93c40b2" + ], + "fc_content_hash_per_fold": [ + "cb7579a28f021fab", + "e0769115e9d13dc7", + "ca26aedece2c557e", + "d27bc100d1404f01", + "605401fe4496d9f5" + ], + "edge_sigma_applicable": false, + "sharpe": -3.294111373551415, + "kelly_active_pct": 0.42203389830508475 + }, + { + "coin": "XRP-USD", + "horizon": 1, + "seed": 99, + "mse_logrv": 0.826953815762709, + "mse_har_raw": 0.8228330799977039, + "mse_har_debiased": 0.8515349401536169, + "mse_m12": 0.8500748194771086, + "bias_lj": -0.014530549775308224, + "bias_har": 0.009254611068452129, + "bias_m12": -1.2499662736262382e-05, + "var_lj": 0.8267426788859361, + "var_har": 0.8514492923275886, + "var_m12": 0.850074819320867, + "dm_vs_har": { + "dm_statistic": -1.9492538054548094, + "p_value": 0.05173939761504864, + "mean_loss_diff": -0.024581124390908014, + "hac_variance": 0.09366600608662318, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.9927518876941277, + "p_value": 0.04674961900063912, + "mean_loss_diff": -0.023121003714399693, + "hac_variance": 0.07929069112646282, + "n_obs": 590, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "panel_hash": "3958ac1d94235291", + "fc_lj_hash": "bc06a563141fc85c", + "fc_har_hash": "4154a85d2a248faa", + "fc_m12_hash": "100a8f9d91152081", + "tgt_hash": "f70e17a425a0ad19", + "err_lj_hash": "fb565f8a5e1c601c", + "err_har_hash": "d6f47f09fd8079c1", + "err_m12_hash": "071c4fb9e8c8aa72", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + 0.023028593735730525, + -0.09564890623399873, + -0.10781651818783486, + -0.15502289923996168, + -0.16525928861207903 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "dab4e43c5358462e", + "021c1272a29d80bf", + "dfddbef45be1ec42", + "e1c630bd10a96683", + "73858316e93c40b2" + ], + "fc_content_hash_per_fold": [ + "cb7579a28f021fab", + "e0769115e9d13dc7", + "ca26aedece2c557e", + "d27bc100d1404f01", + "605401fe4496d9f5" + ], + "edge_sigma_applicable": false, + "sharpe": -3.294111373551415, + "kelly_active_pct": 0.42203389830508475 + }, + { + "coin": "XRP-USD", + "horizon": 5, + "seed": 0, + "mse_logrv": 0.45092244230353473, + "mse_har_raw": 0.4109516970970732, + "mse_har_debiased": 0.4656392311329043, + "mse_m12": 0.4598134735616486, + "bias_lj": -0.03204786173216993, + "bias_har": 0.014944304877391642, + "bias_m12": -0.005007974718778658, + "var_lj": 0.44989537686193043, + "var_har": 0.46541589888463586, + "var_m12": 0.45978839375086467, + "dm_vs_har": { + "dm_statistic": -0.6852063972252797, + "p_value": 0.4934927274428689, + "mean_loss_diff": -0.014716788829369495, + "hac_variance": 0.2588053929650414, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -0.3855491439779335, + "p_value": 0.6999746983333444, + "mean_loss_diff": -0.008891031258113842, + "hac_variance": 0.29835602409866413, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "3958ac1d94235291", + "fc_lj_hash": "789e5b120618dd0c", + "fc_har_hash": "d1bdebdc1911dfee", + "fc_m12_hash": "c792357801e47a4f", + "tgt_hash": "b21b989cc43c0f57", + "err_lj_hash": "00a66e530b97608d", + "err_har_hash": "bfaa6884670c90f5", + "err_m12_hash": "3eef8c9437efd14e", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + 0.09609219742444071, + -0.15290167625853612, + -0.22623359472093268, + -0.2500263834544506, + -0.2948265206165426 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "7199a7259e6a6568", + "770c82c6f5dd2f99", + "dc9f00934e1adea2", + "22a05b7b1697f4fc", + "bcd9f4b4730fef84" + ], + "fc_content_hash_per_fold": [ + "4e64e3086100af48", + "2d08f55b78fd8649", + "2738d1dabbe4ed35", + "47a8f84c753f6c24", + "059d16958aeeb818" + ], + "edge_sigma_applicable": false, + "sharpe": -1.359377028141104, + "kelly_active_pct": 0.43333333333333335 + }, + { + "coin": "XRP-USD", + "horizon": 5, + "seed": 7, + "mse_logrv": 0.45092244230353473, + "mse_har_raw": 0.4109516970970732, + "mse_har_debiased": 0.4656392311329043, + "mse_m12": 0.4598134735616486, + "bias_lj": -0.03204786173216993, + "bias_har": 0.014944304877391642, + "bias_m12": -0.005007974718778658, + "var_lj": 0.44989537686193043, + "var_har": 0.46541589888463586, + "var_m12": 0.45978839375086467, + "dm_vs_har": { + "dm_statistic": -0.6852063972252797, + "p_value": 0.4934927274428689, + "mean_loss_diff": -0.014716788829369495, + "hac_variance": 0.2588053929650414, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -0.3855491439779335, + "p_value": 0.6999746983333444, + "mean_loss_diff": -0.008891031258113842, + "hac_variance": 0.29835602409866413, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "3958ac1d94235291", + "fc_lj_hash": "789e5b120618dd0c", + "fc_har_hash": "d1bdebdc1911dfee", + "fc_m12_hash": "c792357801e47a4f", + "tgt_hash": "b21b989cc43c0f57", + "err_lj_hash": "00a66e530b97608d", + "err_har_hash": "bfaa6884670c90f5", + "err_m12_hash": "3eef8c9437efd14e", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + 0.09609219742444071, + -0.15290167625853612, + -0.22623359472093268, + -0.2500263834544506, + -0.2948265206165426 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "7199a7259e6a6568", + "770c82c6f5dd2f99", + "dc9f00934e1adea2", + "22a05b7b1697f4fc", + "bcd9f4b4730fef84" + ], + "fc_content_hash_per_fold": [ + "4e64e3086100af48", + "2d08f55b78fd8649", + "2738d1dabbe4ed35", + "47a8f84c753f6c24", + "059d16958aeeb818" + ], + "edge_sigma_applicable": false, + "sharpe": -1.359377028141104, + "kelly_active_pct": 0.43333333333333335 + }, + { + "coin": "XRP-USD", + "horizon": 5, + "seed": 42, + "mse_logrv": 0.45092244230353473, + "mse_har_raw": 0.4109516970970732, + "mse_har_debiased": 0.4656392311329043, + "mse_m12": 0.4598134735616486, + "bias_lj": -0.03204786173216993, + "bias_har": 0.014944304877391642, + "bias_m12": -0.005007974718778658, + "var_lj": 0.44989537686193043, + "var_har": 0.46541589888463586, + "var_m12": 0.45978839375086467, + "dm_vs_har": { + "dm_statistic": -0.6852063972252797, + "p_value": 0.4934927274428689, + "mean_loss_diff": -0.014716788829369495, + "hac_variance": 0.2588053929650414, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -0.3855491439779335, + "p_value": 0.6999746983333444, + "mean_loss_diff": -0.008891031258113842, + "hac_variance": 0.29835602409866413, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "3958ac1d94235291", + "fc_lj_hash": "789e5b120618dd0c", + "fc_har_hash": "d1bdebdc1911dfee", + "fc_m12_hash": "c792357801e47a4f", + "tgt_hash": "b21b989cc43c0f57", + "err_lj_hash": "00a66e530b97608d", + "err_har_hash": "bfaa6884670c90f5", + "err_m12_hash": "3eef8c9437efd14e", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + 0.09609219742444071, + -0.15290167625853612, + -0.22623359472093268, + -0.2500263834544506, + -0.2948265206165426 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "7199a7259e6a6568", + "770c82c6f5dd2f99", + "dc9f00934e1adea2", + "22a05b7b1697f4fc", + "bcd9f4b4730fef84" + ], + "fc_content_hash_per_fold": [ + "4e64e3086100af48", + "2d08f55b78fd8649", + "2738d1dabbe4ed35", + "47a8f84c753f6c24", + "059d16958aeeb818" + ], + "edge_sigma_applicable": false, + "sharpe": -1.359377028141104, + "kelly_active_pct": 0.43333333333333335 + }, + { + "coin": "XRP-USD", + "horizon": 5, + "seed": 99, + "mse_logrv": 0.45092244230353473, + "mse_har_raw": 0.4109516970970732, + "mse_har_debiased": 0.4656392311329043, + "mse_m12": 0.4598134735616486, + "bias_lj": -0.03204786173216993, + "bias_har": 0.014944304877391642, + "bias_m12": -0.005007974718778658, + "var_lj": 0.44989537686193043, + "var_har": 0.46541589888463586, + "var_m12": 0.45978839375086467, + "dm_vs_har": { + "dm_statistic": -0.6852063972252797, + "p_value": 0.4934927274428689, + "mean_loss_diff": -0.014716788829369495, + "hac_variance": 0.2588053929650414, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -0.3855491439779335, + "p_value": 0.6999746983333444, + "mean_loss_diff": -0.008891031258113842, + "hac_variance": 0.29835602409866413, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "3958ac1d94235291", + "fc_lj_hash": "789e5b120618dd0c", + "fc_har_hash": "d1bdebdc1911dfee", + "fc_m12_hash": "c792357801e47a4f", + "tgt_hash": "b21b989cc43c0f57", + "err_lj_hash": "00a66e530b97608d", + "err_har_hash": "bfaa6884670c90f5", + "err_m12_hash": "3eef8c9437efd14e", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + 0.09609219742444071, + -0.15290167625853612, + -0.22623359472093268, + -0.2500263834544506, + -0.2948265206165426 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "7199a7259e6a6568", + "770c82c6f5dd2f99", + "dc9f00934e1adea2", + "22a05b7b1697f4fc", + "bcd9f4b4730fef84" + ], + "fc_content_hash_per_fold": [ + "4e64e3086100af48", + "2d08f55b78fd8649", + "2738d1dabbe4ed35", + "47a8f84c753f6c24", + "059d16958aeeb818" + ], + "edge_sigma_applicable": false, + "sharpe": -1.359377028141104, + "kelly_active_pct": 0.43333333333333335 + }, + { + "coin": "XRP-USD", + "horizon": 10, + "seed": 0, + "mse_logrv": 0.413516228975765, + "mse_har_raw": 0.3377507777170964, + "mse_har_debiased": 0.43661700781057844, + "mse_m12": 0.44159275743654286, + "bias_lj": 0.02555464377000879, + "bias_har": 0.02845918123272062, + "bias_m12": -0.0076975142352874405, + "var_lj": 0.412863189157553, + "var_har": 0.4358070828141416, + "var_m12": 0.4415335057111404, + "dm_vs_har": { + "dm_statistic": -0.7065099083703072, + "p_value": 0.4801730229694232, + "mean_loss_diff": -0.0231007788348135, + "hac_variance": 0.5635898502592361, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -0.7780686168278909, + "p_value": 0.4368662068882059, + "mean_loss_diff": -0.02807652846077785, + "hac_variance": 0.6864318906046932, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "3958ac1d94235291", + "fc_lj_hash": "117a301f1e586bf7", + "fc_har_hash": "e3892d97afe98147", + "fc_m12_hash": "39bf7ddb43e43cda", + "tgt_hash": "67eb795412cf327a", + "err_lj_hash": "f15c9a3480520bdd", + "err_har_hash": "699e44ac40ee9b2e", + "err_m12_hash": "a967816d552e048c", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + 0.13358367802065682, + -0.19671667556539232, + -0.27474423108006135, + -0.23445311734297938, + -0.38226791684700456 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "5fac68a6e2f119ef", + "8845212de218b72f", + "cd82751a6698421d", + "89b25cc237ca4ee3", + "6067a77c6725ca98" + ], + "fc_content_hash_per_fold": [ + "91fd8cc5486202bb", + "f3de1c905cd6b953", + "b9f19c3bd09c4b7e", + "fb31a63dad4e96e0", + "3fe600f6914516d7" + ], + "edge_sigma_applicable": false, + "sharpe": -1.7961364983331356, + "kelly_active_pct": 0.43772893772893773 + }, + { + "coin": "XRP-USD", + "horizon": 10, + "seed": 7, + "mse_logrv": 0.413516228975765, + "mse_har_raw": 0.3377507777170964, + "mse_har_debiased": 0.43661700781057844, + "mse_m12": 0.44159275743654286, + "bias_lj": 0.02555464377000879, + "bias_har": 0.02845918123272062, + "bias_m12": -0.0076975142352874405, + "var_lj": 0.412863189157553, + "var_har": 0.4358070828141416, + "var_m12": 0.4415335057111404, + "dm_vs_har": { + "dm_statistic": -0.7065099083703072, + "p_value": 0.4801730229694232, + "mean_loss_diff": -0.0231007788348135, + "hac_variance": 0.5635898502592361, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -0.7780686168278909, + "p_value": 0.4368662068882059, + "mean_loss_diff": -0.02807652846077785, + "hac_variance": 0.6864318906046932, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "3958ac1d94235291", + "fc_lj_hash": "117a301f1e586bf7", + "fc_har_hash": "e3892d97afe98147", + "fc_m12_hash": "39bf7ddb43e43cda", + "tgt_hash": "67eb795412cf327a", + "err_lj_hash": "f15c9a3480520bdd", + "err_har_hash": "699e44ac40ee9b2e", + "err_m12_hash": "a967816d552e048c", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + 0.13358367802065682, + -0.19671667556539232, + -0.27474423108006135, + -0.23445311734297938, + -0.38226791684700456 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "5fac68a6e2f119ef", + "8845212de218b72f", + "cd82751a6698421d", + "89b25cc237ca4ee3", + "6067a77c6725ca98" + ], + "fc_content_hash_per_fold": [ + "91fd8cc5486202bb", + "f3de1c905cd6b953", + "b9f19c3bd09c4b7e", + "fb31a63dad4e96e0", + "3fe600f6914516d7" + ], + "edge_sigma_applicable": false, + "sharpe": -1.7961364983331356, + "kelly_active_pct": 0.43772893772893773 + }, + { + "coin": "XRP-USD", + "horizon": 10, + "seed": 42, + "mse_logrv": 0.413516228975765, + "mse_har_raw": 0.3377507777170964, + "mse_har_debiased": 0.43661700781057844, + "mse_m12": 0.44159275743654286, + "bias_lj": 0.02555464377000879, + "bias_har": 0.02845918123272062, + "bias_m12": -0.0076975142352874405, + "var_lj": 0.412863189157553, + "var_har": 0.4358070828141416, + "var_m12": 0.4415335057111404, + "dm_vs_har": { + "dm_statistic": -0.7065099083703072, + "p_value": 0.4801730229694232, + "mean_loss_diff": -0.0231007788348135, + "hac_variance": 0.5635898502592361, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -0.7780686168278909, + "p_value": 0.4368662068882059, + "mean_loss_diff": -0.02807652846077785, + "hac_variance": 0.6864318906046932, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "3958ac1d94235291", + "fc_lj_hash": "117a301f1e586bf7", + "fc_har_hash": "e3892d97afe98147", + "fc_m12_hash": "39bf7ddb43e43cda", + "tgt_hash": "67eb795412cf327a", + "err_lj_hash": "f15c9a3480520bdd", + "err_har_hash": "699e44ac40ee9b2e", + "err_m12_hash": "a967816d552e048c", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + 0.13358367802065682, + -0.19671667556539232, + -0.27474423108006135, + -0.23445311734297938, + -0.38226791684700456 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "5fac68a6e2f119ef", + "8845212de218b72f", + "cd82751a6698421d", + "89b25cc237ca4ee3", + "6067a77c6725ca98" + ], + "fc_content_hash_per_fold": [ + "91fd8cc5486202bb", + "f3de1c905cd6b953", + "b9f19c3bd09c4b7e", + "fb31a63dad4e96e0", + "3fe600f6914516d7" + ], + "edge_sigma_applicable": false, + "sharpe": -1.7961364983331356, + "kelly_active_pct": 0.43772893772893773 + }, + { + "coin": "XRP-USD", + "horizon": 10, + "seed": 99, + "mse_logrv": 0.413516228975765, + "mse_har_raw": 0.3377507777170964, + "mse_har_debiased": 0.43661700781057844, + "mse_m12": 0.44159275743654286, + "bias_lj": 0.02555464377000879, + "bias_har": 0.02845918123272062, + "bias_m12": -0.0076975142352874405, + "var_lj": 0.412863189157553, + "var_har": 0.4358070828141416, + "var_m12": 0.4415335057111404, + "dm_vs_har": { + "dm_statistic": -0.7065099083703072, + "p_value": 0.4801730229694232, + "mean_loss_diff": -0.0231007788348135, + "hac_variance": 0.5635898502592361, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -0.7780686168278909, + "p_value": 0.4368662068882059, + "mean_loss_diff": -0.02807652846077785, + "hac_variance": 0.6864318906046932, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "3958ac1d94235291", + "fc_lj_hash": "117a301f1e586bf7", + "fc_har_hash": "e3892d97afe98147", + "fc_m12_hash": "39bf7ddb43e43cda", + "tgt_hash": "67eb795412cf327a", + "err_lj_hash": "f15c9a3480520bdd", + "err_har_hash": "699e44ac40ee9b2e", + "err_m12_hash": "a967816d552e048c", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + 0.13358367802065682, + -0.19671667556539232, + -0.27474423108006135, + -0.23445311734297938, + -0.38226791684700456 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "5fac68a6e2f119ef", + "8845212de218b72f", + "cd82751a6698421d", + "89b25cc237ca4ee3", + "6067a77c6725ca98" + ], + "fc_content_hash_per_fold": [ + "91fd8cc5486202bb", + "f3de1c905cd6b953", + "b9f19c3bd09c4b7e", + "fb31a63dad4e96e0", + "3fe600f6914516d7" + ], + "edge_sigma_applicable": false, + "sharpe": -1.7961364983331356, + "kelly_active_pct": 0.43772893772893773 + }, + { + "coin": "ADA-USD", + "horizon": 1, + "seed": 0, + "mse_logrv": 0.6442277273161972, + "mse_har_raw": 0.6554846173908518, + "mse_har_debiased": 0.6675021668017883, + "mse_m12": 0.8850142386767097, + "bias_lj": -0.009901667628596605, + "bias_har": 0.010916292093532617, + "bias_m12": -0.04266355728327864, + "var_lj": 0.6441296842943699, + "var_har": 0.667383001368717, + "var_m12": 0.8831940595566461, + "dm_vs_har": { + "dm_statistic": -2.1505889772641513, + "p_value": 0.031914903761443236, + "mean_loss_diff": -0.023274439485591294, + "hac_variance": 0.06898567613751388, + "n_obs": 590, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3016335552657852, + "p_value": 0.1935505406827298, + "mean_loss_diff": -0.2407865113605126, + "hac_variance": 20.155897073706175, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "82d7b0448acee3e8", + "fc_lj_hash": "bd8b078a7eb0c771", + "fc_har_hash": "5d5d1840450413bf", + "fc_m12_hash": "bfbe09d6f26559a0", + "tgt_hash": "d09275164f1e631c", + "err_lj_hash": "57aac8d8b4515302", + "err_har_hash": "9cc4da96d14e3eb9", + "err_m12_hash": "c209f9e7c0cf348d", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + -0.02123453177699619, + -0.08088658741946088, + -0.09886051580958548, + -0.08747362091772762, + -0.16078745505318193 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "96752222b517c596", + "bf1074ebfe8cc4a1", + "575ea2b4af3a65e7", + "e98510fab7e4ccf3", + "005083b4a234308e" + ], + "fc_content_hash_per_fold": [ + "c5a51126b9aea8da", + "4a97ba93f8da4f2d", + "726132574048ecf3", + "025009dbdc4782da", + "c4a32ec3ced4a31b" + ], + "edge_sigma_applicable": false, + "sharpe": -4.069908020127913, + "kelly_active_pct": 0.43559322033898307 + }, + { + "coin": "ADA-USD", + "horizon": 1, + "seed": 7, + "mse_logrv": 0.6442277273161972, + "mse_har_raw": 0.6554846173908518, + "mse_har_debiased": 0.6675021668017883, + "mse_m12": 0.8850142386767097, + "bias_lj": -0.009901667628596605, + "bias_har": 0.010916292093532617, + "bias_m12": -0.04266355728327864, + "var_lj": 0.6441296842943699, + "var_har": 0.667383001368717, + "var_m12": 0.8831940595566461, + "dm_vs_har": { + "dm_statistic": -2.1505889772641513, + "p_value": 0.031914903761443236, + "mean_loss_diff": -0.023274439485591294, + "hac_variance": 0.06898567613751388, + "n_obs": 590, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3016335552657852, + "p_value": 0.1935505406827298, + "mean_loss_diff": -0.2407865113605126, + "hac_variance": 20.155897073706175, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "82d7b0448acee3e8", + "fc_lj_hash": "bd8b078a7eb0c771", + "fc_har_hash": "5d5d1840450413bf", + "fc_m12_hash": "bfbe09d6f26559a0", + "tgt_hash": "d09275164f1e631c", + "err_lj_hash": "57aac8d8b4515302", + "err_har_hash": "9cc4da96d14e3eb9", + "err_m12_hash": "c209f9e7c0cf348d", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + -0.02123453177699619, + -0.08088658741946088, + -0.09886051580958548, + -0.08747362091772762, + -0.16078745505318193 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "96752222b517c596", + "bf1074ebfe8cc4a1", + "575ea2b4af3a65e7", + "e98510fab7e4ccf3", + "005083b4a234308e" + ], + "fc_content_hash_per_fold": [ + "c5a51126b9aea8da", + "4a97ba93f8da4f2d", + "726132574048ecf3", + "025009dbdc4782da", + "c4a32ec3ced4a31b" + ], + "edge_sigma_applicable": false, + "sharpe": -4.069908020127913, + "kelly_active_pct": 0.43559322033898307 + }, + { + "coin": "ADA-USD", + "horizon": 1, + "seed": 42, + "mse_logrv": 0.6442277273161972, + "mse_har_raw": 0.6554846173908518, + "mse_har_debiased": 0.6675021668017883, + "mse_m12": 0.8850142386767097, + "bias_lj": -0.009901667628596605, + "bias_har": 0.010916292093532617, + "bias_m12": -0.04266355728327864, + "var_lj": 0.6441296842943699, + "var_har": 0.667383001368717, + "var_m12": 0.8831940595566461, + "dm_vs_har": { + "dm_statistic": -2.1505889772641513, + "p_value": 0.031914903761443236, + "mean_loss_diff": -0.023274439485591294, + "hac_variance": 0.06898567613751388, + "n_obs": 590, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3016335552657852, + "p_value": 0.1935505406827298, + "mean_loss_diff": -0.2407865113605126, + "hac_variance": 20.155897073706175, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "82d7b0448acee3e8", + "fc_lj_hash": "bd8b078a7eb0c771", + "fc_har_hash": "5d5d1840450413bf", + "fc_m12_hash": "bfbe09d6f26559a0", + "tgt_hash": "d09275164f1e631c", + "err_lj_hash": "57aac8d8b4515302", + "err_har_hash": "9cc4da96d14e3eb9", + "err_m12_hash": "c209f9e7c0cf348d", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + -0.02123453177699619, + -0.08088658741946088, + -0.09886051580958548, + -0.08747362091772762, + -0.16078745505318193 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "96752222b517c596", + "bf1074ebfe8cc4a1", + "575ea2b4af3a65e7", + "e98510fab7e4ccf3", + "005083b4a234308e" + ], + "fc_content_hash_per_fold": [ + "c5a51126b9aea8da", + "4a97ba93f8da4f2d", + "726132574048ecf3", + "025009dbdc4782da", + "c4a32ec3ced4a31b" + ], + "edge_sigma_applicable": false, + "sharpe": -4.069908020127913, + "kelly_active_pct": 0.43559322033898307 + }, + { + "coin": "ADA-USD", + "horizon": 1, + "seed": 99, + "mse_logrv": 0.6442277273161972, + "mse_har_raw": 0.6554846173908518, + "mse_har_debiased": 0.6675021668017883, + "mse_m12": 0.8850142386767097, + "bias_lj": -0.009901667628596605, + "bias_har": 0.010916292093532617, + "bias_m12": -0.04266355728327864, + "var_lj": 0.6441296842943699, + "var_har": 0.667383001368717, + "var_m12": 0.8831940595566461, + "dm_vs_har": { + "dm_statistic": -2.1505889772641513, + "p_value": 0.031914903761443236, + "mean_loss_diff": -0.023274439485591294, + "hac_variance": 0.06898567613751388, + "n_obs": 590, + "lag": 8, + "verdict": "BEATS baseline", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3016335552657852, + "p_value": 0.1935505406827298, + "mean_loss_diff": -0.2407865113605126, + "hac_variance": 20.155897073706175, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "82d7b0448acee3e8", + "fc_lj_hash": "bd8b078a7eb0c771", + "fc_har_hash": "5d5d1840450413bf", + "fc_m12_hash": "bfbe09d6f26559a0", + "tgt_hash": "d09275164f1e631c", + "err_lj_hash": "57aac8d8b4515302", + "err_har_hash": "9cc4da96d14e3eb9", + "err_m12_hash": "c209f9e7c0cf348d", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + -0.02123453177699619, + -0.08088658741946088, + -0.09886051580958548, + -0.08747362091772762, + -0.16078745505318193 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "96752222b517c596", + "bf1074ebfe8cc4a1", + "575ea2b4af3a65e7", + "e98510fab7e4ccf3", + "005083b4a234308e" + ], + "fc_content_hash_per_fold": [ + "c5a51126b9aea8da", + "4a97ba93f8da4f2d", + "726132574048ecf3", + "025009dbdc4782da", + "c4a32ec3ced4a31b" + ], + "edge_sigma_applicable": false, + "sharpe": -4.069908020127913, + "kelly_active_pct": 0.43559322033898307 + }, + { + "coin": "ADA-USD", + "horizon": 5, + "seed": 0, + "mse_logrv": 0.3249397531171978, + "mse_har_raw": 0.3303943882650669, + "mse_har_debiased": 0.33910136111218436, + "mse_m12": 0.9469172996797474, + "bias_lj": -0.040227781565017995, + "bias_har": 0.016617085606818544, + "bias_m12": -0.09269055846879427, + "var_lj": 0.32332147870755495, + "var_har": 0.33882523357812, + "var_m12": 0.9383257600504904, + "dm_vs_har": { + "dm_statistic": -0.750886341808715, + "p_value": 0.4530314772043562, + "mean_loss_diff": -0.014161607994986525, + "hac_variance": 0.1995569009353979, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.2203981385309666, + "p_value": 0.22281950558578445, + "mean_loss_diff": -0.6219775465625497, + "hac_variance": 145.72577177945612, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "82d7b0448acee3e8", + "fc_lj_hash": "ffd069a0e4115409", + "fc_har_hash": "ef160daa5b7ff0ca", + "fc_m12_hash": "603d8e29940a1ca3", + "tgt_hash": "bcbe8416bbb18034", + "err_lj_hash": "94f12b50efc1a90c", + "err_har_hash": "918b48a248dda6e2", + "err_m12_hash": "37256de6d3e4c0b1", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + -0.02000997541341625, + -0.11639295814340608, + -0.19807232768092203, + -0.16062957855010473, + -0.2495242658450275 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "fe01cd2ceaf88d53", + "8278e93d7ebac558", + "d143110121d46888", + "d941bdc9005ceb29", + "8a3a53019887baac" + ], + "fc_content_hash_per_fold": [ + "916a932023bfda6c", + "72237300abb23d4c", + "79174c7dc4fd6518", + "e7add624db1b1724", + "ebdde8365cc52479" + ], + "edge_sigma_applicable": false, + "sharpe": -1.0725862084998727, + "kelly_active_pct": 0.41578947368421054 + }, + { + "coin": "ADA-USD", + "horizon": 5, + "seed": 7, + "mse_logrv": 0.3249397531171978, + "mse_har_raw": 0.3303943882650669, + "mse_har_debiased": 0.33910136111218436, + "mse_m12": 0.9469172996797474, + "bias_lj": -0.040227781565017995, + "bias_har": 0.016617085606818544, + "bias_m12": -0.09269055846879427, + "var_lj": 0.32332147870755495, + "var_har": 0.33882523357812, + "var_m12": 0.9383257600504904, + "dm_vs_har": { + "dm_statistic": -0.750886341808715, + "p_value": 0.4530314772043562, + "mean_loss_diff": -0.014161607994986525, + "hac_variance": 0.1995569009353979, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.2203981385309666, + "p_value": 0.22281950558578445, + "mean_loss_diff": -0.6219775465625497, + "hac_variance": 145.72577177945612, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "82d7b0448acee3e8", + "fc_lj_hash": "ffd069a0e4115409", + "fc_har_hash": "ef160daa5b7ff0ca", + "fc_m12_hash": "603d8e29940a1ca3", + "tgt_hash": "bcbe8416bbb18034", + "err_lj_hash": "94f12b50efc1a90c", + "err_har_hash": "918b48a248dda6e2", + "err_m12_hash": "37256de6d3e4c0b1", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + -0.02000997541341625, + -0.11639295814340608, + -0.19807232768092203, + -0.16062957855010473, + -0.2495242658450275 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "fe01cd2ceaf88d53", + "8278e93d7ebac558", + "d143110121d46888", + "d941bdc9005ceb29", + "8a3a53019887baac" + ], + "fc_content_hash_per_fold": [ + "916a932023bfda6c", + "72237300abb23d4c", + "79174c7dc4fd6518", + "e7add624db1b1724", + "ebdde8365cc52479" + ], + "edge_sigma_applicable": false, + "sharpe": -1.0725862084998727, + "kelly_active_pct": 0.41578947368421054 + }, + { + "coin": "ADA-USD", + "horizon": 5, + "seed": 42, + "mse_logrv": 0.3249397531171978, + "mse_har_raw": 0.3303943882650669, + "mse_har_debiased": 0.33910136111218436, + "mse_m12": 0.9469172996797474, + "bias_lj": -0.040227781565017995, + "bias_har": 0.016617085606818544, + "bias_m12": -0.09269055846879427, + "var_lj": 0.32332147870755495, + "var_har": 0.33882523357812, + "var_m12": 0.9383257600504904, + "dm_vs_har": { + "dm_statistic": -0.750886341808715, + "p_value": 0.4530314772043562, + "mean_loss_diff": -0.014161607994986525, + "hac_variance": 0.1995569009353979, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.2203981385309666, + "p_value": 0.22281950558578445, + "mean_loss_diff": -0.6219775465625497, + "hac_variance": 145.72577177945612, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "82d7b0448acee3e8", + "fc_lj_hash": "ffd069a0e4115409", + "fc_har_hash": "ef160daa5b7ff0ca", + "fc_m12_hash": "603d8e29940a1ca3", + "tgt_hash": "bcbe8416bbb18034", + "err_lj_hash": "94f12b50efc1a90c", + "err_har_hash": "918b48a248dda6e2", + "err_m12_hash": "37256de6d3e4c0b1", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + -0.02000997541341625, + -0.11639295814340608, + -0.19807232768092203, + -0.16062957855010473, + -0.2495242658450275 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "fe01cd2ceaf88d53", + "8278e93d7ebac558", + "d143110121d46888", + "d941bdc9005ceb29", + "8a3a53019887baac" + ], + "fc_content_hash_per_fold": [ + "916a932023bfda6c", + "72237300abb23d4c", + "79174c7dc4fd6518", + "e7add624db1b1724", + "ebdde8365cc52479" + ], + "edge_sigma_applicable": false, + "sharpe": -1.0725862084998727, + "kelly_active_pct": 0.41578947368421054 + }, + { + "coin": "ADA-USD", + "horizon": 5, + "seed": 99, + "mse_logrv": 0.3249397531171978, + "mse_har_raw": 0.3303943882650669, + "mse_har_debiased": 0.33910136111218436, + "mse_m12": 0.9469172996797474, + "bias_lj": -0.040227781565017995, + "bias_har": 0.016617085606818544, + "bias_m12": -0.09269055846879427, + "var_lj": 0.32332147870755495, + "var_har": 0.33882523357812, + "var_m12": 0.9383257600504904, + "dm_vs_har": { + "dm_statistic": -0.750886341808715, + "p_value": 0.4530314772043562, + "mean_loss_diff": -0.014161607994986525, + "hac_variance": 0.1995569009353979, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.2203981385309666, + "p_value": 0.22281950558578445, + "mean_loss_diff": -0.6219775465625497, + "hac_variance": 145.72577177945612, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "82d7b0448acee3e8", + "fc_lj_hash": "ffd069a0e4115409", + "fc_har_hash": "ef160daa5b7ff0ca", + "fc_m12_hash": "603d8e29940a1ca3", + "tgt_hash": "bcbe8416bbb18034", + "err_lj_hash": "94f12b50efc1a90c", + "err_har_hash": "918b48a248dda6e2", + "err_m12_hash": "37256de6d3e4c0b1", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + -0.02000997541341625, + -0.11639295814340608, + -0.19807232768092203, + -0.16062957855010473, + -0.2495242658450275 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "fe01cd2ceaf88d53", + "8278e93d7ebac558", + "d143110121d46888", + "d941bdc9005ceb29", + "8a3a53019887baac" + ], + "fc_content_hash_per_fold": [ + "916a932023bfda6c", + "72237300abb23d4c", + "79174c7dc4fd6518", + "e7add624db1b1724", + "ebdde8365cc52479" + ], + "edge_sigma_applicable": false, + "sharpe": -1.0725862084998727, + "kelly_active_pct": 0.41578947368421054 + }, + { + "coin": "ADA-USD", + "horizon": 10, + "seed": 0, + "mse_logrv": 0.294817122440836, + "mse_har_raw": 0.2799959694122335, + "mse_har_debiased": 0.29613849355890043, + "mse_m12": 1.4850730729949106, + "bias_lj": -0.012167043956506874, + "bias_har": 0.02051806878160765, + "bias_m12": -0.17084396028552493, + "var_lj": 0.29466908548219645, + "var_har": 0.29571750241237366, + "var_m12": 1.4558854142288686, + "dm_vs_har": { + "dm_statistic": -0.058839900026741845, + "p_value": 0.9531011956101567, + "mean_loss_diff": -0.001321371118064461, + "hac_variance": 0.2658595101953565, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.2587045139052273, + "p_value": 0.20867598167718393, + "mean_loss_diff": -1.1902559505540746, + "hac_variance": 471.3891434891478, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "82d7b0448acee3e8", + "fc_lj_hash": "fadfa136dca629bf", + "fc_har_hash": "f04263264a4d2718", + "fc_m12_hash": "3d22b9817f0b9918", + "tgt_hash": "510dcb822b4e9938", + "err_lj_hash": "436cf4c56310811a", + "err_har_hash": "318e6945e420323c", + "err_m12_hash": "e56c0ea7e382eb96", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + -0.009275904114298713, + -0.17324402750478937, + -0.23162042562541826, + -0.15711590933148922, + -0.3525683370936247 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "5f89984521b49b9a", + "abef9ff083e9e966", + "37f923735c418224", + "c8fe86d0898d4975", + "a3e69e6d5573a00f" + ], + "fc_content_hash_per_fold": [ + "a5cd8b8bb9f1836b", + "8ab90110f8f57917", + "f9f3736355d35d69", + "f8bae1dc992d55d5", + "1e309096c30aa4ac" + ], + "edge_sigma_applicable": false, + "sharpe": -1.5045301135411493, + "kelly_active_pct": 0.4139194139194139 + }, + { + "coin": "ADA-USD", + "horizon": 10, + "seed": 7, + "mse_logrv": 0.294817122440836, + "mse_har_raw": 0.2799959694122335, + "mse_har_debiased": 0.29613849355890043, + "mse_m12": 1.4850730729949106, + "bias_lj": -0.012167043956506874, + "bias_har": 0.02051806878160765, + "bias_m12": -0.17084396028552493, + "var_lj": 0.29466908548219645, + "var_har": 0.29571750241237366, + "var_m12": 1.4558854142288686, + "dm_vs_har": { + "dm_statistic": -0.058839900026741845, + "p_value": 0.9531011956101567, + "mean_loss_diff": -0.001321371118064461, + "hac_variance": 0.2658595101953565, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.2587045139052273, + "p_value": 0.20867598167718393, + "mean_loss_diff": -1.1902559505540746, + "hac_variance": 471.3891434891478, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "82d7b0448acee3e8", + "fc_lj_hash": "fadfa136dca629bf", + "fc_har_hash": "f04263264a4d2718", + "fc_m12_hash": "3d22b9817f0b9918", + "tgt_hash": "510dcb822b4e9938", + "err_lj_hash": "436cf4c56310811a", + "err_har_hash": "318e6945e420323c", + "err_m12_hash": "e56c0ea7e382eb96", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + -0.009275904114298713, + -0.17324402750478937, + -0.23162042562541826, + -0.15711590933148922, + -0.3525683370936247 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "5f89984521b49b9a", + "abef9ff083e9e966", + "37f923735c418224", + "c8fe86d0898d4975", + "a3e69e6d5573a00f" + ], + "fc_content_hash_per_fold": [ + "a5cd8b8bb9f1836b", + "8ab90110f8f57917", + "f9f3736355d35d69", + "f8bae1dc992d55d5", + "1e309096c30aa4ac" + ], + "edge_sigma_applicable": false, + "sharpe": -1.5045301135411493, + "kelly_active_pct": 0.4139194139194139 + }, + { + "coin": "ADA-USD", + "horizon": 10, + "seed": 42, + "mse_logrv": 0.294817122440836, + "mse_har_raw": 0.2799959694122335, + "mse_har_debiased": 0.29613849355890043, + "mse_m12": 1.4850730729949106, + "bias_lj": -0.012167043956506874, + "bias_har": 0.02051806878160765, + "bias_m12": -0.17084396028552493, + "var_lj": 0.29466908548219645, + "var_har": 0.29571750241237366, + "var_m12": 1.4558854142288686, + "dm_vs_har": { + "dm_statistic": -0.058839900026741845, + "p_value": 0.9531011956101567, + "mean_loss_diff": -0.001321371118064461, + "hac_variance": 0.2658595101953565, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.2587045139052273, + "p_value": 0.20867598167718393, + "mean_loss_diff": -1.1902559505540746, + "hac_variance": 471.3891434891478, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "82d7b0448acee3e8", + "fc_lj_hash": "fadfa136dca629bf", + "fc_har_hash": "f04263264a4d2718", + "fc_m12_hash": "3d22b9817f0b9918", + "tgt_hash": "510dcb822b4e9938", + "err_lj_hash": "436cf4c56310811a", + "err_har_hash": "318e6945e420323c", + "err_m12_hash": "e56c0ea7e382eb96", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + -0.009275904114298713, + -0.17324402750478937, + -0.23162042562541826, + -0.15711590933148922, + -0.3525683370936247 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "5f89984521b49b9a", + "abef9ff083e9e966", + "37f923735c418224", + "c8fe86d0898d4975", + "a3e69e6d5573a00f" + ], + "fc_content_hash_per_fold": [ + "a5cd8b8bb9f1836b", + "8ab90110f8f57917", + "f9f3736355d35d69", + "f8bae1dc992d55d5", + "1e309096c30aa4ac" + ], + "edge_sigma_applicable": false, + "sharpe": -1.5045301135411493, + "kelly_active_pct": 0.4139194139194139 + }, + { + "coin": "ADA-USD", + "horizon": 10, + "seed": 99, + "mse_logrv": 0.294817122440836, + "mse_har_raw": 0.2799959694122335, + "mse_har_debiased": 0.29613849355890043, + "mse_m12": 1.4850730729949106, + "bias_lj": -0.012167043956506874, + "bias_har": 0.02051806878160765, + "bias_m12": -0.17084396028552493, + "var_lj": 0.29466908548219645, + "var_har": 0.29571750241237366, + "var_m12": 1.4558854142288686, + "dm_vs_har": { + "dm_statistic": -0.058839900026741845, + "p_value": 0.9531011956101567, + "mean_loss_diff": -0.001321371118064461, + "hac_variance": 0.2658595101953565, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.2587045139052273, + "p_value": 0.20867598167718393, + "mean_loss_diff": -1.1902559505540746, + "hac_variance": 471.3891434891478, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "82d7b0448acee3e8", + "fc_lj_hash": "fadfa136dca629bf", + "fc_har_hash": "f04263264a4d2718", + "fc_m12_hash": "3d22b9817f0b9918", + "tgt_hash": "510dcb822b4e9938", + "err_lj_hash": "436cf4c56310811a", + "err_har_hash": "318e6945e420323c", + "err_m12_hash": "e56c0ea7e382eb96", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + -0.009275904114298713, + -0.17324402750478937, + -0.23162042562541826, + -0.15711590933148922, + -0.3525683370936247 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "5f89984521b49b9a", + "abef9ff083e9e966", + "37f923735c418224", + "c8fe86d0898d4975", + "a3e69e6d5573a00f" + ], + "fc_content_hash_per_fold": [ + "a5cd8b8bb9f1836b", + "8ab90110f8f57917", + "f9f3736355d35d69", + "f8bae1dc992d55d5", + "1e309096c30aa4ac" + ], + "edge_sigma_applicable": false, + "sharpe": -1.5045301135411493, + "kelly_active_pct": 0.4139194139194139 + }, + { + "coin": "DOT-USD", + "horizon": 1, + "seed": 0, + "mse_logrv": 0.5750696169173066, + "mse_har_raw": 0.5735400332136076, + "mse_har_debiased": 0.5861043746180574, + "mse_m12": 0.8220880003608506, + "bias_lj": -0.003986913420020894, + "bias_har": -0.0008555640645540591, + "bias_m12": -0.030705402828252758, + "var_lj": 0.5750537214386879, + "var_har": 0.5861036426281888, + "var_m12": 0.8211451785980053, + "dm_vs_har": { + "dm_statistic": -1.098352943801239, + "p_value": 0.27249917859077066, + "mean_loss_diff": -0.011034757700750731, + "hac_variance": 0.059450712098271095, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.5053681381532737, + "p_value": 0.1327655142218671, + "mean_loss_diff": -0.24701838344354396, + "hac_variance": 15.859460361210362, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0d2dcc6800a9bbbb", + "fc_lj_hash": "c3f21412d3c2efe8", + "fc_har_hash": "aed3bf90c4e69e18", + "fc_m12_hash": "2b79ba7c4ac8cce5", + "tgt_hash": "479cf387ccd0937e", + "err_lj_hash": "af834458a194a89e", + "err_har_hash": "02d7cb2360598c3e", + "err_m12_hash": "12710217cd9ef09b", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + -0.013390405148343672, + -0.03602313129505698, + -0.07953368431517369, + -0.10103812154592832, + -0.07931638200713202 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "9e14311507cb6a96", + "4847f16b252d719c", + "af63bc3b6b786b0b", + "b82f6b10f0a7869e", + "96df29d52d6310cd" + ], + "fc_content_hash_per_fold": [ + "70fb178a440ebc49", + "1fe789281288498c", + "73e54c3e9b0d8324", + "059d865be3972d48", + "71ebee60ed983160" + ], + "edge_sigma_applicable": false, + "sharpe": -3.753342170722107, + "kelly_active_pct": 0.4101694915254237 + }, + { + "coin": "DOT-USD", + "horizon": 1, + "seed": 7, + "mse_logrv": 0.5750696169173066, + "mse_har_raw": 0.5735400332136076, + "mse_har_debiased": 0.5861043746180574, + "mse_m12": 0.8220880003608506, + "bias_lj": -0.003986913420020894, + "bias_har": -0.0008555640645540591, + "bias_m12": -0.030705402828252758, + "var_lj": 0.5750537214386879, + "var_har": 0.5861036426281888, + "var_m12": 0.8211451785980053, + "dm_vs_har": { + "dm_statistic": -1.098352943801239, + "p_value": 0.27249917859077066, + "mean_loss_diff": -0.011034757700750731, + "hac_variance": 0.059450712098271095, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.5053681381532737, + "p_value": 0.1327655142218671, + "mean_loss_diff": -0.24701838344354396, + "hac_variance": 15.859460361210362, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0d2dcc6800a9bbbb", + "fc_lj_hash": "c3f21412d3c2efe8", + "fc_har_hash": "aed3bf90c4e69e18", + "fc_m12_hash": "2b79ba7c4ac8cce5", + "tgt_hash": "479cf387ccd0937e", + "err_lj_hash": "af834458a194a89e", + "err_har_hash": "02d7cb2360598c3e", + "err_m12_hash": "12710217cd9ef09b", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + -0.013390405148343672, + -0.03602313129505698, + -0.07953368431517369, + -0.10103812154592832, + -0.07931638200713202 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "9e14311507cb6a96", + "4847f16b252d719c", + "af63bc3b6b786b0b", + "b82f6b10f0a7869e", + "96df29d52d6310cd" + ], + "fc_content_hash_per_fold": [ + "70fb178a440ebc49", + "1fe789281288498c", + "73e54c3e9b0d8324", + "059d865be3972d48", + "71ebee60ed983160" + ], + "edge_sigma_applicable": false, + "sharpe": -3.753342170722107, + "kelly_active_pct": 0.4101694915254237 + }, + { + "coin": "DOT-USD", + "horizon": 1, + "seed": 42, + "mse_logrv": 0.5750696169173066, + "mse_har_raw": 0.5735400332136076, + "mse_har_debiased": 0.5861043746180574, + "mse_m12": 0.8220880003608506, + "bias_lj": -0.003986913420020894, + "bias_har": -0.0008555640645540591, + "bias_m12": -0.030705402828252758, + "var_lj": 0.5750537214386879, + "var_har": 0.5861036426281888, + "var_m12": 0.8211451785980053, + "dm_vs_har": { + "dm_statistic": -1.098352943801239, + "p_value": 0.27249917859077066, + "mean_loss_diff": -0.011034757700750731, + "hac_variance": 0.059450712098271095, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.5053681381532737, + "p_value": 0.1327655142218671, + "mean_loss_diff": -0.24701838344354396, + "hac_variance": 15.859460361210362, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0d2dcc6800a9bbbb", + "fc_lj_hash": "c3f21412d3c2efe8", + "fc_har_hash": "aed3bf90c4e69e18", + "fc_m12_hash": "2b79ba7c4ac8cce5", + "tgt_hash": "479cf387ccd0937e", + "err_lj_hash": "af834458a194a89e", + "err_har_hash": "02d7cb2360598c3e", + "err_m12_hash": "12710217cd9ef09b", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + -0.013390405148343672, + -0.03602313129505698, + -0.07953368431517369, + -0.10103812154592832, + -0.07931638200713202 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "9e14311507cb6a96", + "4847f16b252d719c", + "af63bc3b6b786b0b", + "b82f6b10f0a7869e", + "96df29d52d6310cd" + ], + "fc_content_hash_per_fold": [ + "70fb178a440ebc49", + "1fe789281288498c", + "73e54c3e9b0d8324", + "059d865be3972d48", + "71ebee60ed983160" + ], + "edge_sigma_applicable": false, + "sharpe": -3.753342170722107, + "kelly_active_pct": 0.4101694915254237 + }, + { + "coin": "DOT-USD", + "horizon": 1, + "seed": 99, + "mse_logrv": 0.5750696169173066, + "mse_har_raw": 0.5735400332136076, + "mse_har_debiased": 0.5861043746180574, + "mse_m12": 0.8220880003608506, + "bias_lj": -0.003986913420020894, + "bias_har": -0.0008555640645540591, + "bias_m12": -0.030705402828252758, + "var_lj": 0.5750537214386879, + "var_har": 0.5861036426281888, + "var_m12": 0.8211451785980053, + "dm_vs_har": { + "dm_statistic": -1.098352943801239, + "p_value": 0.27249917859077066, + "mean_loss_diff": -0.011034757700750731, + "hac_variance": 0.059450712098271095, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.5053681381532737, + "p_value": 0.1327655142218671, + "mean_loss_diff": -0.24701838344354396, + "hac_variance": 15.859460361210362, + "n_obs": 590, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0d2dcc6800a9bbbb", + "fc_lj_hash": "c3f21412d3c2efe8", + "fc_har_hash": "aed3bf90c4e69e18", + "fc_m12_hash": "2b79ba7c4ac8cce5", + "tgt_hash": "479cf387ccd0937e", + "err_lj_hash": "af834458a194a89e", + "err_har_hash": "02d7cb2360598c3e", + "err_m12_hash": "12710217cd9ef09b", + "n_obs": 590, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-22 00:00:00", + "aligned_dates_hash": "4aaaed927200d895", + "per_fold_bias": [ + -0.013390405148343672, + -0.03602313129505698, + -0.07953368431517369, + -0.10103812154592832, + -0.07931638200713202 + ], + "bounds_train_test": { + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 595, + "n_total": 718, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 118, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 118, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 237, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 237, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 356, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 356, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 475, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 475, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 594, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 594, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "9e14311507cb6a96", + "4847f16b252d719c", + "af63bc3b6b786b0b", + "b82f6b10f0a7869e", + "96df29d52d6310cd" + ], + "fc_content_hash_per_fold": [ + "70fb178a440ebc49", + "1fe789281288498c", + "73e54c3e9b0d8324", + "059d865be3972d48", + "71ebee60ed983160" + ], + "edge_sigma_applicable": false, + "sharpe": -3.753342170722107, + "kelly_active_pct": 0.4101694915254237 + }, + { + "coin": "DOT-USD", + "horizon": 5, + "seed": 0, + "mse_logrv": 0.2549315173153943, + "mse_har_raw": 0.24628570512080944, + "mse_har_debiased": 0.2729798662233388, + "mse_m12": 0.8652212288600375, + "bias_lj": -0.020535982955228634, + "bias_har": 0.0034139393336977066, + "bias_m12": -0.06340658979337661, + "var_lj": 0.2545097907194568, + "var_har": 0.2729682112415646, + "var_m12": 0.861200833230812, + "dm_vs_har": { + "dm_statistic": -1.5614440747683123, + "p_value": 0.11897499279190904, + "mean_loss_diff": -0.01804834890794453, + "hac_variance": 0.07495698533816478, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3678582042703384, + "p_value": 0.17189643066395233, + "mean_loss_diff": -0.6102897115446431, + "hac_variance": 111.68117156760819, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0d2dcc6800a9bbbb", + "fc_lj_hash": "d123782e4eea747b", + "fc_har_hash": "8f9512ddbe0fc6fe", + "fc_m12_hash": "4e484f082ba7a369", + "tgt_hash": "4b0dbb98b7fc1f03", + "err_lj_hash": "407bad41d3372fae", + "err_har_hash": "1e79c97cdac8162a", + "err_m12_hash": "a36b0d356f96fd0e", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + -0.013127925401418569, + -0.07420362271675396, + -0.1495052144649677, + -0.10649498665569242, + -0.14671765875082335 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "bfea2b14bb39452b", + "bc977e526300ef4e", + "e3b1225ee09e66c0", + "69e31122b31689b6", + "39ddd5cb754fc376" + ], + "fc_content_hash_per_fold": [ + "94854b00092ff069", + "eaca17abe6413d67", + "16c154d267c3b24a", + "5723336120e22ed2", + "cbb73ec762ca283e" + ], + "edge_sigma_applicable": false, + "sharpe": -1.1051344322187127, + "kelly_active_pct": 0.41228070175438597 + }, + { + "coin": "DOT-USD", + "horizon": 5, + "seed": 7, + "mse_logrv": 0.2549315173153943, + "mse_har_raw": 0.24628570512080944, + "mse_har_debiased": 0.2729798662233388, + "mse_m12": 0.8652212288600375, + "bias_lj": -0.020535982955228634, + "bias_har": 0.0034139393336977066, + "bias_m12": -0.06340658979337661, + "var_lj": 0.2545097907194568, + "var_har": 0.2729682112415646, + "var_m12": 0.861200833230812, + "dm_vs_har": { + "dm_statistic": -1.5614440747683123, + "p_value": 0.11897499279190904, + "mean_loss_diff": -0.01804834890794453, + "hac_variance": 0.07495698533816478, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3678582042703384, + "p_value": 0.17189643066395233, + "mean_loss_diff": -0.6102897115446431, + "hac_variance": 111.68117156760819, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0d2dcc6800a9bbbb", + "fc_lj_hash": "d123782e4eea747b", + "fc_har_hash": "8f9512ddbe0fc6fe", + "fc_m12_hash": "4e484f082ba7a369", + "tgt_hash": "4b0dbb98b7fc1f03", + "err_lj_hash": "407bad41d3372fae", + "err_har_hash": "1e79c97cdac8162a", + "err_m12_hash": "a36b0d356f96fd0e", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + -0.013127925401418569, + -0.07420362271675396, + -0.1495052144649677, + -0.10649498665569242, + -0.14671765875082335 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "bfea2b14bb39452b", + "bc977e526300ef4e", + "e3b1225ee09e66c0", + "69e31122b31689b6", + "39ddd5cb754fc376" + ], + "fc_content_hash_per_fold": [ + "94854b00092ff069", + "eaca17abe6413d67", + "16c154d267c3b24a", + "5723336120e22ed2", + "cbb73ec762ca283e" + ], + "edge_sigma_applicable": false, + "sharpe": -1.1051344322187127, + "kelly_active_pct": 0.41228070175438597 + }, + { + "coin": "DOT-USD", + "horizon": 5, + "seed": 42, + "mse_logrv": 0.2549315173153943, + "mse_har_raw": 0.24628570512080944, + "mse_har_debiased": 0.2729798662233388, + "mse_m12": 0.8652212288600375, + "bias_lj": -0.020535982955228634, + "bias_har": 0.0034139393336977066, + "bias_m12": -0.06340658979337661, + "var_lj": 0.2545097907194568, + "var_har": 0.2729682112415646, + "var_m12": 0.861200833230812, + "dm_vs_har": { + "dm_statistic": -1.5614440747683123, + "p_value": 0.11897499279190904, + "mean_loss_diff": -0.01804834890794453, + "hac_variance": 0.07495698533816478, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3678582042703384, + "p_value": 0.17189643066395233, + "mean_loss_diff": -0.6102897115446431, + "hac_variance": 111.68117156760819, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0d2dcc6800a9bbbb", + "fc_lj_hash": "d123782e4eea747b", + "fc_har_hash": "8f9512ddbe0fc6fe", + "fc_m12_hash": "4e484f082ba7a369", + "tgt_hash": "4b0dbb98b7fc1f03", + "err_lj_hash": "407bad41d3372fae", + "err_har_hash": "1e79c97cdac8162a", + "err_m12_hash": "a36b0d356f96fd0e", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + -0.013127925401418569, + -0.07420362271675396, + -0.1495052144649677, + -0.10649498665569242, + -0.14671765875082335 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "bfea2b14bb39452b", + "bc977e526300ef4e", + "e3b1225ee09e66c0", + "69e31122b31689b6", + "39ddd5cb754fc376" + ], + "fc_content_hash_per_fold": [ + "94854b00092ff069", + "eaca17abe6413d67", + "16c154d267c3b24a", + "5723336120e22ed2", + "cbb73ec762ca283e" + ], + "edge_sigma_applicable": false, + "sharpe": -1.1051344322187127, + "kelly_active_pct": 0.41228070175438597 + }, + { + "coin": "DOT-USD", + "horizon": 5, + "seed": 99, + "mse_logrv": 0.2549315173153943, + "mse_har_raw": 0.24628570512080944, + "mse_har_debiased": 0.2729798662233388, + "mse_m12": 0.8652212288600375, + "bias_lj": -0.020535982955228634, + "bias_har": 0.0034139393336977066, + "bias_m12": -0.06340658979337661, + "var_lj": 0.2545097907194568, + "var_har": 0.2729682112415646, + "var_m12": 0.861200833230812, + "dm_vs_har": { + "dm_statistic": -1.5614440747683123, + "p_value": 0.11897499279190904, + "mean_loss_diff": -0.01804834890794453, + "hac_variance": 0.07495698533816478, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.3678582042703384, + "p_value": 0.17189643066395233, + "mean_loss_diff": -0.6102897115446431, + "hac_variance": 111.68117156760819, + "n_obs": 570, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0d2dcc6800a9bbbb", + "fc_lj_hash": "d123782e4eea747b", + "fc_har_hash": "8f9512ddbe0fc6fe", + "fc_m12_hash": "4e484f082ba7a369", + "tgt_hash": "4b0dbb98b7fc1f03", + "err_lj_hash": "407bad41d3372fae", + "err_har_hash": "1e79c97cdac8162a", + "err_m12_hash": "a36b0d356f96fd0e", + "n_obs": 570, + "aligned_origin_first": "2025-01-31 00:00:00", + "aligned_origin_last": "2026-09-18 00:00:00", + "aligned_dates_hash": "feb2870a47d1d492", + "per_fold_bias": [ + -0.013127925401418569, + -0.07420362271675396, + -0.1495052144649677, + -0.10649498665569242, + -0.14671765875082335 + ], + "bounds_train_test": { + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 595, + "n_total": 714, + "fold_size": 119, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 114, + "oos_start_idx": 119, + "oos_end_idx": 238, + "n_train": 114, + "n_oos": 119 + }, + { + "fold_idx": 1, + "train_end_idx": 233, + "oos_start_idx": 238, + "oos_end_idx": 357, + "n_train": 233, + "n_oos": 119 + }, + { + "fold_idx": 2, + "train_end_idx": 352, + "oos_start_idx": 357, + "oos_end_idx": 476, + "n_train": 352, + "n_oos": 119 + }, + { + "fold_idx": 3, + "train_end_idx": 471, + "oos_start_idx": 476, + "oos_end_idx": 595, + "n_train": 471, + "n_oos": 119 + }, + { + "fold_idx": 4, + "train_end_idx": 590, + "oos_start_idx": 595, + "oos_end_idx": 714, + "n_train": 590, + "n_oos": 119 + } + ], + "fc_lj_hash_per_fold": [ + "bfea2b14bb39452b", + "bc977e526300ef4e", + "e3b1225ee09e66c0", + "69e31122b31689b6", + "39ddd5cb754fc376" + ], + "fc_content_hash_per_fold": [ + "94854b00092ff069", + "eaca17abe6413d67", + "16c154d267c3b24a", + "5723336120e22ed2", + "cbb73ec762ca283e" + ], + "edge_sigma_applicable": false, + "sharpe": -1.1051344322187127, + "kelly_active_pct": 0.41228070175438597 + }, + { + "coin": "DOT-USD", + "horizon": 10, + "seed": 0, + "mse_logrv": 0.22443507918390573, + "mse_har_raw": 0.19358486372785746, + "mse_har_debiased": 0.24672148748892855, + "mse_m12": 2.352871408470442, + "bias_lj": -0.0035229023626416564, + "bias_har": 0.015495113446477325, + "bias_m12": -0.16014061510171249, + "var_lj": 0.22442266834284905, + "var_har": 0.24648138894820934, + "var_m12": 2.327226391865287, + "dm_vs_har": { + "dm_statistic": -1.2186943827166326, + "p_value": 0.22348746201075032, + "mean_loss_diff": -0.02228640830502278, + "hac_variance": 0.1762937759198882, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.2356102772342648, + "p_value": 0.21713579721893295, + "mean_loss_diff": -2.128436329286536, + "hac_variance": 1564.2448544498147, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0d2dcc6800a9bbbb", + "fc_lj_hash": "18bff6843abb314d", + "fc_har_hash": "48cfc299d4598748", + "fc_m12_hash": "b397b640f87f111d", + "tgt_hash": "f2033865c2372d6a", + "err_lj_hash": "2c4cd465a5d5e3c7", + "err_har_hash": "d562db87ec2f00fc", + "err_m12_hash": "15b1e4b9b8ba7ddb", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + -0.005718620566302975, + -0.10290938454589232, + -0.17913987352084265, + -0.08927893782952051, + -0.24409467786073596 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "9bdaf996a8979b1f", + "275cbe427ce4aebd", + "ebceb0988c65d98c", + "1ec7e4e34ff2c95d", + "7e9689a10aa4df72" + ], + "fc_content_hash_per_fold": [ + "76150994ed3f9953", + "8daa4d1ec6618f9a", + "195fdbd822f860e5", + "227e59c6cb799834", + "166c20e4750dc8c9" + ], + "edge_sigma_applicable": false, + "sharpe": -1.1701955249707952, + "kelly_active_pct": 0.4175824175824176 + }, + { + "coin": "DOT-USD", + "horizon": 10, + "seed": 7, + "mse_logrv": 0.22443507918390573, + "mse_har_raw": 0.19358486372785746, + "mse_har_debiased": 0.24672148748892855, + "mse_m12": 2.352871408470442, + "bias_lj": -0.0035229023626416564, + "bias_har": 0.015495113446477325, + "bias_m12": -0.16014061510171249, + "var_lj": 0.22442266834284905, + "var_har": 0.24648138894820934, + "var_m12": 2.327226391865287, + "dm_vs_har": { + "dm_statistic": -1.2186943827166326, + "p_value": 0.22348746201075032, + "mean_loss_diff": -0.02228640830502278, + "hac_variance": 0.1762937759198882, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.2356102772342648, + "p_value": 0.21713579721893295, + "mean_loss_diff": -2.128436329286536, + "hac_variance": 1564.2448544498147, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0d2dcc6800a9bbbb", + "fc_lj_hash": "18bff6843abb314d", + "fc_har_hash": "48cfc299d4598748", + "fc_m12_hash": "b397b640f87f111d", + "tgt_hash": "f2033865c2372d6a", + "err_lj_hash": "2c4cd465a5d5e3c7", + "err_har_hash": "d562db87ec2f00fc", + "err_m12_hash": "15b1e4b9b8ba7ddb", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + -0.005718620566302975, + -0.10290938454589232, + -0.17913987352084265, + -0.08927893782952051, + -0.24409467786073596 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "9bdaf996a8979b1f", + "275cbe427ce4aebd", + "ebceb0988c65d98c", + "1ec7e4e34ff2c95d", + "7e9689a10aa4df72" + ], + "fc_content_hash_per_fold": [ + "76150994ed3f9953", + "8daa4d1ec6618f9a", + "195fdbd822f860e5", + "227e59c6cb799834", + "166c20e4750dc8c9" + ], + "edge_sigma_applicable": false, + "sharpe": -1.1701955249707952, + "kelly_active_pct": 0.4175824175824176 + }, + { + "coin": "DOT-USD", + "horizon": 10, + "seed": 42, + "mse_logrv": 0.22443507918390573, + "mse_har_raw": 0.19358486372785746, + "mse_har_debiased": 0.24672148748892855, + "mse_m12": 2.352871408470442, + "bias_lj": -0.0035229023626416564, + "bias_har": 0.015495113446477325, + "bias_m12": -0.16014061510171249, + "var_lj": 0.22442266834284905, + "var_har": 0.24648138894820934, + "var_m12": 2.327226391865287, + "dm_vs_har": { + "dm_statistic": -1.2186943827166326, + "p_value": 0.22348746201075032, + "mean_loss_diff": -0.02228640830502278, + "hac_variance": 0.1762937759198882, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.2356102772342648, + "p_value": 0.21713579721893295, + "mean_loss_diff": -2.128436329286536, + "hac_variance": 1564.2448544498147, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0d2dcc6800a9bbbb", + "fc_lj_hash": "18bff6843abb314d", + "fc_har_hash": "48cfc299d4598748", + "fc_m12_hash": "b397b640f87f111d", + "tgt_hash": "f2033865c2372d6a", + "err_lj_hash": "2c4cd465a5d5e3c7", + "err_har_hash": "d562db87ec2f00fc", + "err_m12_hash": "15b1e4b9b8ba7ddb", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + -0.005718620566302975, + -0.10290938454589232, + -0.17913987352084265, + -0.08927893782952051, + -0.24409467786073596 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "9bdaf996a8979b1f", + "275cbe427ce4aebd", + "ebceb0988c65d98c", + "1ec7e4e34ff2c95d", + "7e9689a10aa4df72" + ], + "fc_content_hash_per_fold": [ + "76150994ed3f9953", + "8daa4d1ec6618f9a", + "195fdbd822f860e5", + "227e59c6cb799834", + "166c20e4750dc8c9" + ], + "edge_sigma_applicable": false, + "sharpe": -1.1701955249707952, + "kelly_active_pct": 0.4175824175824176 + }, + { + "coin": "DOT-USD", + "horizon": 10, + "seed": 99, + "mse_logrv": 0.22443507918390573, + "mse_har_raw": 0.19358486372785746, + "mse_har_debiased": 0.24672148748892855, + "mse_m12": 2.352871408470442, + "bias_lj": -0.0035229023626416564, + "bias_har": 0.015495113446477325, + "bias_m12": -0.16014061510171249, + "var_lj": 0.22442266834284905, + "var_har": 0.24648138894820934, + "var_m12": 2.327226391865287, + "dm_vs_har": { + "dm_statistic": -1.2186943827166326, + "p_value": 0.22348746201075032, + "mean_loss_diff": -0.02228640830502278, + "hac_variance": 0.1762937759198882, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "dm_vs_m12": { + "dm_statistic": -1.2356102772342648, + "p_value": 0.21713579721893295, + "mean_loss_diff": -2.128436329286536, + "hac_variance": 1564.2448544498147, + "n_obs": 546, + "lag": 8, + "verdict": "INCONCLUSIVE", + "significant_at": 0.05 + }, + "panel_hash": "0d2dcc6800a9bbbb", + "fc_lj_hash": "18bff6843abb314d", + "fc_har_hash": "48cfc299d4598748", + "fc_m12_hash": "b397b640f87f111d", + "tgt_hash": "f2033865c2372d6a", + "err_lj_hash": "2c4cd465a5d5e3c7", + "err_har_hash": "d562db87ec2f00fc", + "err_m12_hash": "15b1e4b9b8ba7ddb", + "n_obs": 546, + "aligned_origin_first": "2025-01-30 00:00:00", + "aligned_origin_last": "2026-09-13 00:00:00", + "aligned_dates_hash": "a9c398af09d07681", + "per_fold_bias": [ + -0.005718620566302975, + -0.10290938454589232, + -0.17913987352084265, + -0.08927893782952051, + -0.24409467786073596 + ], + "bounds_train_test": { + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 590, + "n_total": 709, + "fold_size": 118, + "n_folds": 5 + }, + "per_fold_bounds": [ + { + "fold_idx": 0, + "train_end_idx": 108, + "oos_start_idx": 118, + "oos_end_idx": 236, + "n_train": 108, + "n_oos": 118 + }, + { + "fold_idx": 1, + "train_end_idx": 226, + "oos_start_idx": 236, + "oos_end_idx": 354, + "n_train": 226, + "n_oos": 118 + }, + { + "fold_idx": 2, + "train_end_idx": 344, + "oos_start_idx": 354, + "oos_end_idx": 472, + "n_train": 344, + "n_oos": 118 + }, + { + "fold_idx": 3, + "train_end_idx": 462, + "oos_start_idx": 472, + "oos_end_idx": 590, + "n_train": 462, + "n_oos": 118 + }, + { + "fold_idx": 4, + "train_end_idx": 580, + "oos_start_idx": 590, + "oos_end_idx": 708, + "n_train": 580, + "n_oos": 118 + } + ], + "fc_lj_hash_per_fold": [ + "9bdaf996a8979b1f", + "275cbe427ce4aebd", + "ebceb0988c65d98c", + "1ec7e4e34ff2c95d", + "7e9689a10aa4df72" + ], + "fc_content_hash_per_fold": [ + "76150994ed3f9953", + "8daa4d1ec6618f9a", + "195fdbd822f860e5", + "227e59c6cb799834", + "166c20e4750dc8c9" + ], + "edge_sigma_applicable": false, + "sharpe": -1.1701955249707952, + "kelly_active_pct": 0.4175824175824176 + } + ] +} diff --git a/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/tests/test_har_lj_asym.py b/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/tests/test_har_lj_asym.py index 4156ef7cdb..8d53419c38 100644 --- a/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/tests/test_har_lj_asym.py +++ b/MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/tests/test_har_lj_asym.py @@ -98,6 +98,14 @@ def synthetic_lj_components() -> dict[str, dict[str, pd.Series]]: } +def _baseline_targets(rv: pd.Series, horizon: int, index: pd.DatetimeIndex) -> pd.Series: + """Baseline dates label the first target day, not the forecast origin.""" + from realized_variance import realized_variance_to_log + + target = realized_variance_to_log(rv).rolling(horizon).mean().shift(-horizon) + return target.shift(1).reindex(index) + + # --------------------------------------------------------------------------- # Concern #1 — anti-leak test for the per-fold train-tail bias estimator # --------------------------------------------------------------------------- @@ -171,6 +179,7 @@ def spy_walk_forward_har(rv, horizon, *args, **kwargs): return { "forecasts": pd.Series(np.zeros(n), index=idx, name="fc"), "aggregate_mse_logrv": 0.0, + "targets": _baseline_targets(rv, horizon, idx), } monkeypatch.setattr("har_lj_asym.walk_forward_har", spy_walk_forward_har) @@ -201,6 +210,7 @@ def spy_walk_forward_har(rv, horizon, *args, **kwargs): return { "forecasts": pd.Series(np.zeros(n), index=idx, name="fc"), "aggregate_mse_logrv": 0.0, + "targets": _baseline_targets(rv, horizon, idx), } monkeypatch.setattr("har_lj_asym.walk_forward_har", spy_walk_forward_har) @@ -348,6 +358,7 @@ def fake_walk_forward_har(rv, horizon, *args, **kwargs): index=idx, name="fc_har", ), "aggregate_mse_logrv": 0.9, + "targets": _baseline_targets(rv, horizon, idx), } monkeypatch.setattr("har_lj_asym.walk_forward_har", fake_walk_forward_har) @@ -393,6 +404,7 @@ def fake_walk_forward_har(rv, horizon, *args, **kwargs): index=idx, name="fc_har", ), "aggregate_mse_logrv": 0.9, + "targets": _baseline_targets(rv, horizon, idx), } monkeypatch.setattr("har_lj_asym.walk_forward_har", fake_walk_forward_har) @@ -484,6 +496,7 @@ def fake_walk_forward_har(rv, horizon, *args, **kwargs): return { "forecasts": pd.Series(np.zeros(n), index=idx, name="fc_har"), "aggregate_mse_logrv": 0.0, + "targets": _baseline_targets(rv, horizon, idx), } monkeypatch.setattr("har_lj_asym.walk_forward_har", fake_walk_forward_har) @@ -522,6 +535,7 @@ def fake_walk_forward_har(rv, horizon, *args, **kwargs): return { "forecasts": pd.Series(np.zeros(n), index=idx, name="fc"), "aggregate_mse_logrv": 0.0, + "targets": _baseline_targets(rv, horizon, idx), } monkeypatch.setattr("har_lj_asym.walk_forward_har", fake_walk_forward_har) @@ -727,6 +741,7 @@ def spy_walk_forward_har_rv_j(rv, jumps, horizon, *args, **kwargs): return { "forecasts": pd.Series(np.zeros(n), index=idx, name="fc"), "aggregate_mse_logrv": 0.0, + "targets": _baseline_targets(rv, horizon, idx), } monkeypatch.setattr( @@ -759,6 +774,7 @@ def spy_walk_forward_har_rv_j(rv, jumps, horizon, *args, **kwargs): return { "forecasts": pd.Series(np.zeros(n), index=idx, name="fc"), "aggregate_mse_logrv": 0.0, + "targets": _baseline_targets(rv, horizon, idx), } monkeypatch.setattr( @@ -798,6 +814,7 @@ def fake_walk_forward_har(rv, horizon, *args, **kwargs): index=idx, name="fc_har", ), "aggregate_mse_logrv": 0.9, + "targets": _baseline_targets(rv, horizon, idx), } monkeypatch.setattr( @@ -1060,10 +1077,10 @@ def test_per_fold_bounds_aligned_with_per_fold_bias( for k, (b, bd) in enumerate(zip(biases, bounds)): assert bd["fold_idx"] == k expected_split = (k + 1) * fold_size - assert bd["train_end_idx"] == expected_split + assert bd["train_end_idx"] == expected_split - 1 assert bd["oos_start_idx"] == expected_split assert bd["oos_end_idx"] == expected_split + fold_size - assert bd["n_train"] == expected_split + assert bd["n_train"] == expected_split - 1 assert bd["n_oos"] == fold_size @@ -1237,8 +1254,8 @@ def patched(series): # --- Per-fold train-tail sensitivity --- for k in range(n_splits): - lo = cutoffs[k] - calibration_size - hi = cutoffs[k] + lo = cutoffs[k] - calibration_size - horizon + hi = cutoffs[k] - horizon monkeypatch.setattr( module, "realized_variance_to_log", shift_from(lo, hi), ) @@ -1286,6 +1303,7 @@ def fake_walk_forward_har(rv, horizon, *args, **kwargs): return { "forecasts": pd.Series(np.zeros(n), index=idx, name="fc_har"), "aggregate_mse_logrv": 0.9, + "targets": _baseline_targets(rv, horizon, idx), } monkeypatch.setattr("har_lj_asym.walk_forward_har", fake_walk_forward_har) @@ -1312,15 +1330,16 @@ def fake_walk_forward_har(rv, horizon, *args, **kwargs): merged["log_rv"].rolling(horizon).mean().shift(-horizon).notna().sum() ) fold_size = n_total // (N_SPLITS + 1) - expected_train_end = N_SPLITS * fold_size + expected_split = N_SPLITS * fold_size + expected_train_end = expected_split - horizon b = row["bounds_train_test"] assert b is not None, "bounds_train_test missing from the result row" - assert b["train_end_idx"] == expected_train_end == N_SPLITS * (n_total // (N_SPLITS + 1)) - assert b["oos_start_idx"] == expected_train_end + horizon - assert b["oos_end_idx"] == n_total + assert b["train_end_idx"] == expected_train_end + assert b["oos_start_idx"] == expected_split + assert b["oos_end_idx"] == (N_SPLITS + 1) * fold_size assert b["n_train"] == expected_train_end - assert b["n_oos"] == n_total - expected_train_end + assert b["n_oos"] == N_SPLITS * fold_size # Manifest write path: the bounds must be JSON-serializable as-is. json.dumps(b) @@ -1331,6 +1350,24 @@ def fake_walk_forward_har(rv, horizon, *args, **kwargs): for h16 in row["fc_lj_hash_per_fold"]: assert isinstance(h16, str) and len(h16) == 16 int(h16, 16) # hex parseable + assert len(row["fc_content_hash_per_fold"]) == N_SPLITS + for h16 in row["fc_content_hash_per_fold"]: + assert isinstance(h16, str) and len(h16) == 16 + int(h16, 16) + + shifted = { + "BTC-USD": { + name: pd.Series(series.to_numpy(), index=series.index + pd.Timedelta(days=1)) + for name, series in comp.items() + } + } + shifted_row = _eval_one_coin( + "BTC-USD", horizon=horizon, seed=0, + components=shifted, debias=True, calibration_size=60, + ) + assert shifted_row is not None + assert shifted_row["fc_lj_hash"] == row["fc_lj_hash"] + assert shifted_row["fc_content_hash_per_fold"] != row["fc_content_hash_per_fold"] # aggregate_verdicts relays the bounds per (coin, horizon) with the # cross-seed consistency flag (deterministic OLS -> identical bounds). @@ -1346,3 +1383,153 @@ def fake_walk_forward_har(rv, horizon, *args, **kwargs): agg = aggregate_verdicts(rows)[0] assert agg["bounds_train_test"] == rows[0]["bounds_train_test"] assert agg["bounds_consistent_across_seeds"] is True + assert rows[0]["fc_content_hash_per_fold"] == rows[1]["fc_content_hash_per_fold"] + + +@pytest.mark.parametrize("horizon", [1, 5, 10]) +def test_eval_joins_forecasts_on_origin_and_shared_target( + synthetic_lj_components, horizon, +): + """The DM input uses common origins, never positional truncation.""" + from har_lj_asym import _eval_one_coin, walk_forward_lj_asym + from har_model import walk_forward_har + from m12_har_rv_j import walk_forward_har_rv_j + from realized_variance import realized_variance_to_log + + comp = synthetic_lj_components["BTC-USD"] + rv = comp["rv"] + lj = walk_forward_lj_asym( + rv, comp["rv_neg"], comp["rv_pos"], comp["rv_c"], comp["rv_j"], + horizon, 0, debias=True, + ) + har = walk_forward_har(rv, horizon, calibrate_bias=True) + m12 = walk_forward_har_rv_j(rv, comp["rv_j"], horizon, calibrate_bias=True) + lj_dates = pd.DatetimeIndex([ + lj["index_all"][i] for bound in lj["per_fold_bounds"] + for i in range(bound["oos_start_idx"], bound["oos_end_idx"]) + ]) + rv_index = rv.dropna().index + har_origins = rv_index[rv_index.get_indexer(har["forecasts"].index) - 1] + m12_origins = rv_index[rv_index.get_indexer(m12["forecasts"].index) - 1] + common = lj_dates.intersection(har_origins).intersection(m12_origins).sort_values() + expected = realized_variance_to_log(rv).rolling(horizon).mean().shift(-horizon) + np.testing.assert_allclose( + pd.Series(lj["targets"], index=lj_dates).loc[common], + expected.loc[common], rtol=1e-12, atol=1e-12, + ) + + row = _eval_one_coin("BTC-USD", horizon, 0, synthetic_lj_components, debias=True) + assert row is not None + assert row["n_obs"] == len(common) + assert row["aligned_origin_first"] == str(common[0]) + assert row["aligned_origin_last"] == str(common[-1]) + assert row["aligned_dates_hash"] == hashlib.sha256( + common.asi8.astype(np.int64).tobytes() + ).hexdigest()[:16] + aligned_target = expected.loc[common].to_numpy(dtype=np.float64) + assert row["tgt_hash"] == hashlib.sha256(aligned_target.tobytes()).hexdigest()[:16] + for result, field in ((har, "fc_har_hash"), (m12, "fc_m12_hash")): + forecast_by_origin = pd.Series( + result["forecasts"].to_numpy(), + index=rv_index[rv_index.get_indexer(result["forecasts"].index) - 1], + ) + aligned_forecast = forecast_by_origin.loc[common].to_numpy(dtype=np.float64) + assert row[field] == hashlib.sha256(aligned_forecast.tobytes()).hexdigest()[:16] + assert row["fc_lj_hash"] == hashlib.sha256( + pd.Series(lj["forecasts_debiased"], index=lj_dates) + .loc[common].to_numpy(dtype=np.float64).tobytes() + ).hexdigest()[:16] + + +def test_eval_rejects_baseline_target_mismatch(synthetic_lj_components, monkeypatch): + """Matching dates without matching outcomes cannot feed a paired DM test.""" + import har_lj_asym + + original = har_lj_asym.walk_forward_har + + def wrong_target(rv, horizon, *args, **kwargs): + result = original(rv, horizon, *args, **kwargs) + result["targets"] = result["targets"] + 1.0 + return result + + monkeypatch.setattr(har_lj_asym, "walk_forward_har", wrong_target) + with pytest.raises(ValueError, match="HAR raw target differs"): + har_lj_asym._eval_one_coin( + "BTC-USD", 5, 0, synthetic_lj_components, debias=True, + ) + + +def test_purged_train_does_not_read_first_oos_target_day( + synthetic_lj_components, monkeypatch, +): + """An h-step label crossing the train/test boundary must be excluded.""" + import har_lj_asym + + comp = synthetic_lj_components["BTC-USD"] + rv = comp["rv"] + kwargs = dict(horizon=5, seed=0, debias=True) + base = har_lj_asym.walk_forward_lj_asym( + rv, comp["rv_neg"], comp["rv_pos"], comp["rv_c"], comp["rv_j"], **kwargs, + ) + first_bound = base["per_fold_bounds"][0] + split_date = base["index_all"][first_bound["oos_start_idx"]] + first_target_date = rv.index[rv.index.get_loc(split_date) + 1] + assert first_bound["train_end_idx"] == first_bound["oos_start_idx"] - 5 + original = har_lj_asym.realized_variance_to_log + + def changed_target(series): + target = original(series).copy() + target.loc[first_target_date] += 100.0 + return target + + monkeypatch.setattr(har_lj_asym, "realized_variance_to_log", changed_target) + changed = har_lj_asym.walk_forward_lj_asym( + rv, comp["rv_neg"], comp["rv_pos"], comp["rv_c"], comp["rv_j"], **kwargs, + ) + np.testing.assert_allclose( + changed["forecasts"][:first_bound["n_oos"]], + base["forecasts"][:first_bound["n_oos"]], rtol=1e-12, atol=1e-12, + ) + np.testing.assert_allclose(changed["per_fold_bias"][0], base["per_fold_bias"][0]) + assert not np.allclose( + changed["targets"][:first_bound["n_oos"]], + base["targets"][:first_bound["n_oos"]], + ) + + +def test_main_rejects_incomplete_panel(monkeypatch, capsys): + """A failed requested asset must not produce a partial-cluster verdict.""" + import har_lj_asym + + monkeypatch.setattr( + har_lj_asym, "_load_panel", + lambda skip_remote: ({"BTC-USD": object()}, {"ETH-USD": "fetch failed"}), + ) + monkeypatch.setattr( + sys, "argv", ["har_lj_asym.py", "--coins", "BTC-USD", "ETH-USD"], + ) + + with pytest.raises(SystemExit) as exc: + har_lj_asym.main() + + assert exc.value.code == 2 + assert "ETH-USD (fetch failed)" in capsys.readouterr().err + + +def test_main_rejects_skipped_combinations(monkeypatch, tmp_path): + """An incomplete run must fail before writing a cluster result.""" + import har_lj_asym + + panel = {"BTC-USD": pd.Series([0.0])} + monkeypatch.setattr(har_lj_asym, "_load_panel", lambda skip_remote: (panel, {})) + monkeypatch.setattr(har_lj_asym, "compute_daily_components", lambda panel: {}) + monkeypatch.setattr(har_lj_asym, "_eval_one_coin", lambda *args, **kwargs: None) + monkeypatch.setattr(har_lj_asym, "RESULTS_DIR", tmp_path) + monkeypatch.setattr( + sys, "argv", ["har_lj_asym.py", "--coins", "BTC-USD", "--horizons", "1", "--seeds", "0"], + ) + + with pytest.raises(RuntimeError, match="1/1 combinations skipped"): + har_lj_asym.main() + + assert list(tmp_path.iterdir()) == []