{ "artifact_schema_version": 2, "score_version": "accumulation-score-v2", "weights": { "pct_above_200w_sma": 0.5075, "drawdown": 0.1716, "pct_above_lth_rp": 0.0934, "rhodl_ratio": 0.08, "fear_greed": 0.0459, "puell_multiple": 0.0384, "reserve_risk": 0.0335, "mvrv_zscore": 0.018, "nupl": 0.0116 }, "feature_importances": { "raw_pct_above_200w_sma": 0.448165, "days_since_ath": 0.138053, "raw_pct_above_lth_rp": 0.093426, "raw_rhodl_ratio": 0.080038, "score_pct_above_200w_sma": 0.059336, "raw_fear_greed": 0.04573, "puell_x_reserve": 0.034997, "raw_drawdown": 0.033552, "raw_puell_multiple": 0.02023, "raw_reserve_risk": 0.012477, "raw_mvrv_zscore": 0.011366, "mvrv_x_nupl": 0.008204, "raw_nupl": 0.003843, "delta_30d_nupl": 0.003624, "delta_30d_reserve_risk": 0.003541, "delta_30d_mvrv_zscore": 0.002548, "delta_30d_puell_multiple": 0.000677, "score_fear_greed": 0.000182, "score_rhodl_ratio": 1.1e-05, "score_puell_multiple": 0.0, "score_mvrv_zscore": 0.0, "score_reserve_risk": 0.0, "score_nupl": 0.0, "score_drawdown": 0.0, "score_pct_above_lth_rp": 0.0 }, "cv_results": { "mean_auc": 0.7667, "std_auc": 0.1734, "mean_f1": 0.4085, "mean_precision": 0.3708, "mean_recall": 0.4898, "validation_method": "purged_expanding_window", "label_horizon_days": 365, "folds": [ { "fold": 1, "weights": { "pct_above_lth_rp": 0.7418, "drawdown": 0.1523, "reserve_risk": 0.0339, "mvrv_zscore": 0.0211, "puell_multiple": 0.0164, "rhodl_ratio": 0.0141, "nupl": 0.0128, "pct_above_200w_sma": 0.0043, "fear_greed": 0.0033 }, "metrics": { "auc": 0.7583, "f1": 0.0, "precision": 0.0, "recall": 0.0 }, "date_ranges": { "train": "2018-02-01 to 2019-08-05", "validation": "2020-08-04 to 2021-10-31" }, "n_train": 548, "n_validation": 454 }, { "fold": 2, "weights": { "reserve_risk": 0.4125, "puell_multiple": 0.3942, "drawdown": 0.085, "pct_above_lth_rp": 0.0429, "pct_above_200w_sma": 0.0324, "rhodl_ratio": 0.0135, "nupl": 0.0131, "mvrv_zscore": 0.0053, "fear_greed": 0.001 }, "metrics": { "auc": 0.8346, "f1": 0.6582, "precision": 0.4906, "recall": 1.0 }, "date_ranges": { "train": "2018-02-01 to 2020-11-01", "validation": "2021-11-01 to 2023-01-28" }, "n_train": 1002, "n_validation": 454 }, { "fold": 3, "weights": { "reserve_risk": 0.2919, "puell_multiple": 0.2495, "drawdown": 0.1619, "pct_above_lth_rp": 0.1028, "pct_above_200w_sma": 0.089, "fear_greed": 0.0754, "nupl": 0.0103, "mvrv_zscore": 0.0099, "rhodl_ratio": 0.0091 }, "metrics": { "auc": 0.9755, "f1": 0.9757, "precision": 0.9926, "recall": 0.9593 }, "date_ranges": { "train": "2018-02-01 to 2022-01-29", "validation": "2023-01-29 to 2024-04-26" }, "n_train": 1456, "n_validation": 454 }, { "fold": 4, "weights": { "drawdown": 0.6216, "reserve_risk": 0.1302, "puell_multiple": 0.1161, "fear_greed": 0.0554, "rhodl_ratio": 0.0322, "pct_above_lth_rp": 0.0163, "mvrv_zscore": 0.0117, "pct_above_200w_sma": 0.0094, "nupl": 0.0071 }, "metrics": { "auc": 0.4983, "f1": 0.0, "precision": 0.0, "recall": 0.0 }, "date_ranges": { "train": "2018-02-01 to 2023-04-28", "validation": "2024-04-27 to 2025-07-26" }, "n_train": 1910, "n_validation": 454 } ] }, "training_info": { "n_samples": 2728, "n_positive": 1554, "positive_rate": 0.5696, "n_features": 25, "target_threshold": 30.0, "date_range": "2018-02-01 to 2025-07-26", "model": "GradientBoostingClassifier" }, "provenance": { "validation_method": "purged_expanding_window", "label_horizon_days": 365, "weight_scope": "full_history_fit", "training_date_range": { "start": "2018-02-01", "end": "2025-07-26" }, "trained_at": "2026-07-26T23:19:01.231759+00:00" }, "comparison": { "equal_weight": [ { "range": "0-20", "label": "EXTREME CAUTION", "days": 286, "avg_365d": -7.25, "median_365d": -13.89, "win_rate_365d": 34.3 }, { "range": "20-35", "label": "CAUTION \u2014 OVERHEATED", "days": 537, "avg_365d": 8.85, "median_365d": -21.49, "win_rate_365d": 35.6 }, { "range": "35-50", "label": "NEUTRAL", "days": 660, "avg_365d": 85.33, "median_365d": 16.54, "win_rate_365d": 60.8 }, { "range": "50-65", "label": "MODERATE OPPORTUNITY", "days": 575, "avg_365d": 113.54, "median_365d": 88.64, "win_rate_365d": 88.5 }, { "range": "65-80", "label": "STRONG ACCUMULATION ZONE", "days": 339, "avg_365d": 183.9, "median_365d": 128.5, "win_rate_365d": 89.7 }, { "range": "80-100", "label": "EXTREME ACCUMULATION ZONE", "days": 331, "avg_365d": 120.82, "median_365d": 91.85, "win_rate_365d": 99.7 } ], "ml_weighted": [ { "range": "0-20", "label": "EXTREME CAUTION", "days": 642, "avg_365d": -7.11, "median_365d": -26.48, "win_rate_365d": 25.1 }, { "range": "20-35", "label": "CAUTION \u2014 OVERHEATED", "days": 679, "avg_365d": 18.61, "median_365d": 4.67, "win_rate_365d": 53.2 }, { "range": "35-50", "label": "NEUTRAL", "days": 462, "avg_365d": 138.2, "median_365d": 95.1, "win_rate_365d": 87.0 }, { "range": "50-65", "label": "MODERATE OPPORTUNITY", "days": 277, "avg_365d": 206.31, "median_365d": 163.37, "win_rate_365d": 87.7 }, { "range": "65-80", "label": "STRONG ACCUMULATION ZONE", "days": 285, "avg_365d": 182.42, "median_365d": 123.75, "win_rate_365d": 99.3 }, { "range": "80-100", "label": "EXTREME ACCUMULATION ZONE", "days": 383, "avg_365d": 118.93, "median_365d": 119.03, "win_rate_365d": 100.0 } ] }, "out_of_sample_comparison": { "folds": 4, "validation_days": 1816, "equal_weight": [ { "range": "0-20", "label": "EXTREME CAUTION", "days": 281, "avg_365d": -6.2, "median_365d": -13.66, "win_rate_365d": 34.9 }, { "range": "20-35", "label": "CAUTION \u2014 OVERHEATED", "days": 432, "avg_365d": 20.09, "median_365d": -14.6, "win_rate_365d": 43.1 }, { "range": "35-50", "label": "NEUTRAL", "days": 419, "avg_365d": 71.09, "median_365d": -9.19, "win_rate_365d": 48.9 }, { "range": "50-65", "label": "MODERATE OPPORTUNITY", "days": 255, "avg_365d": 101.47, "median_365d": 103.63, "win_rate_365d": 76.9 }, { "range": "65-80", "label": "STRONG ACCUMULATION ZONE", "days": 237, "avg_365d": 100.95, "median_365d": 122.53, "win_rate_365d": 85.2 }, { "range": "80-100", "label": "EXTREME ACCUMULATION ZONE", "days": 192, "avg_365d": 76.91, "median_365d": 51.03, "win_rate_365d": 99.5 } ], "ml_weighted": [ { "range": "0-20", "label": "EXTREME CAUTION", "days": 371, "avg_365d": 9.72, "median_365d": -19.7, "win_rate_365d": 31.3 }, { "range": "20-35", "label": "CAUTION \u2014 OVERHEATED", "days": 372, "avg_365d": 13.85, "median_365d": -10.98, "win_rate_365d": 42.2 }, { "range": "35-50", "label": "NEUTRAL", "days": 263, "avg_365d": 107.81, "median_365d": 76.78, "win_rate_365d": 59.7 }, { "range": "50-65", "label": "MODERATE OPPORTUNITY", "days": 348, "avg_365d": 64.05, "median_365d": 99.55, "win_rate_365d": 64.9 }, { "range": "65-80", "label": "STRONG ACCUMULATION ZONE", "days": 223, "avg_365d": 121.71, "median_365d": 126.27, "win_rate_365d": 93.7 }, { "range": "80-100", "label": "EXTREME ACCUMULATION ZONE", "days": 239, "avg_365d": 61.69, "median_365d": 42.02, "win_rate_365d": 89.1 } ] }, "trained_at": "2026-07-26T23:19:01.231759+00:00" }