{
  "request": {
    "provider": "yahoo",
    "symbol": "BTC-USD",
    "timeframe": "1d",
    "start": "2018-01-01",
    "end": "2026-11-01"
  },
  "provenance": {
    "provider": "Yahoo Finance",
    "adapter": "YFData",
    "symbol": "BTC-USD",
    "timeframe": "1d",
    "start": "2018-01-01",
    "end": "2026-11-01",
    "downloaded_utc": "2026-11-03T14:44:46.362794+00:00",
    "excluded_partial_bars": 0,
    "adjustment": "split and dividend adjusted",
    "sha256": "66ea936bf3c492c891ffa78a69721b7095ea951b85379af0697dff145052aa4f"
  },
  "selection": {
    "training": {
      "start": "2018-01-01T00:00:00+00:00",
      "end_exclusive": "2024-01-01T00:00:00+00:00",
      "bars": 2191,
      "sha256": "258ec771dc0af9a23607df946ffaf08127bacf58120aa8e755ea2e61ec27c3a0"
    },
    "configurations": 165,
    "eligible_centers": 39,
    "objective": "Highest median training Calmar in a complete 3x3 neighborhood. Center has positive return and >=10 closed trades. Ties: center Calmar, lower lookback, lower KC.",
    "settings": {
      "dataset": "history",
      "period": "all",
      "lookback": 15,
      "bb_mult": 2,
      "kc_mult": 3.25,
      "fees": 5,
      "slippage": 2,
      "allocation": 95,
      "rsi_filter": false,
      "rsi_threshold": 55,
      "split": "2024-01-01"
    },
    "score": 1.175183682354652,
    "selected_training": {
      "lookback": 15,
      "kc_mult": 3.25,
      "return_": 5.910190802440755,
      "drawdown": 0.29657180890777946,
      "closed_trades": 25,
      "calmar": 1.28203558848619
    },
    "neighbors": [
      {
        "lookback": 10,
        "kc_mult": 3.0,
        "return_": 6.295620529675426,
        "drawdown": 0.2772349923564318,
        "closed_trades": 27,
        "calmar": 1.4167071339663084
      },
      {
        "lookback": 15,
        "kc_mult": 3.0,
        "return_": 5.0556388943138995,
        "drawdown": 0.3403356438458911,
        "closed_trades": 29,
        "calmar": 1.0289078343724134
      },
      {
        "lookback": 20,
        "kc_mult": 3.0,
        "return_": 3.970120368502619,
        "drawdown": 0.3783168587033967,
        "closed_trades": 25,
        "calmar": 0.8099942736051416
      },
      {
        "lookback": 10,
        "kc_mult": 3.25,
        "return_": 4.638461562015519,
        "drawdown": 0.24636336558324756,
        "closed_trades": 26,
        "calmar": 1.3565462111503646
      },
      {
        "lookback": 15,
        "kc_mult": 3.25,
        "return_": 5.910190802440755,
        "drawdown": 0.29657180890777946,
        "closed_trades": 25,
        "calmar": 1.28203558848619
      },
      {
        "lookback": 20,
        "kc_mult": 3.25,
        "return_": 3.2160800724008967,
        "drawdown": 0.38775095142359706,
        "closed_trades": 22,
        "calmar": 0.699126332908849
      },
      {
        "lookback": 10,
        "kc_mult": 3.5,
        "return_": 2.593762215791922,
        "drawdown": 0.20019281845911108,
        "closed_trades": 20,
        "calmar": 1.1873167780337062
      },
      {
        "lookback": 15,
        "kc_mult": 3.5,
        "return_": 5.40470258199948,
        "drawdown": 0.308757868849432,
        "closed_trades": 21,
        "calmar": 1.175183682354652
      },
      {
        "lookback": 20,
        "kc_mult": 3.5,
        "return_": 4.164909460801017,
        "drawdown": 0.33005218462098085,
        "closed_trades": 20,
        "calmar": 0.9538914015324538
      }
    ],
    "grid": [
      {
        "lookback": 10,
        "kc_mult": 1.0,
        "return_": -0.018905250763972647,
        "drawdown": 0.5526781376718761,
        "closed_trades": 30,
        "calmar": -0.005747847112118713
      },
      {
        "lookback": 15,
        "kc_mult": 1.0,
        "return_": 0.40556632553997507,
        "drawdown": 0.3028845508347163,
        "closed_trades": 10,
        "calmar": 0.1927940957360735
      },
      {
        "lookback": 20,
        "kc_mult": 1.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 25,
        "kc_mult": 1.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 30,
        "kc_mult": 1.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 35,
        "kc_mult": 1.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 40,
        "kc_mult": 1.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 45,
        "kc_mult": 1.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 50,
        "kc_mult": 1.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 55,
        "kc_mult": 1.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 60,
        "kc_mult": 1.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 65,
        "kc_mult": 1.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 70,
        "kc_mult": 1.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 75,
        "kc_mult": 1.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 80,
        "kc_mult": 1.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 10,
        "kc_mult": 1.25,
        "return_": 3.4007048587884663,
        "drawdown": 0.49153799126837183,
        "closed_trades": 54,
        "calmar": 0.5700496541378796
      },
      {
        "lookback": 15,
        "kc_mult": 1.25,
        "return_": 0.28174174511517935,
        "drawdown": 0.6978024835850607,
        "closed_trades": 22,
        "calmar": 0.060543612217463426
      },
      {
        "lookback": 20,
        "kc_mult": 1.25,
        "return_": 0.2229338326549708,
        "drawdown": 0.39920758077360563,
        "closed_trades": 6,
        "calmar": 0.08546661564162522
      },
      {
        "lookback": 25,
        "kc_mult": 1.25,
        "return_": 1.8159999844613446,
        "drawdown": 0.384231647526732,
        "closed_trades": 3,
        "calmar": 0.4902810175108392
      },
      {
        "lookback": 30,
        "kc_mult": 1.25,
        "return_": -0.17194475798864894,
        "drawdown": 0.24140718285043672,
        "closed_trades": 1,
        "calmar": -0.1282628580112533
      },
      {
        "lookback": 35,
        "kc_mult": 1.25,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 40,
        "kc_mult": 1.25,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 45,
        "kc_mult": 1.25,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 50,
        "kc_mult": 1.25,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 55,
        "kc_mult": 1.25,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 60,
        "kc_mult": 1.25,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 65,
        "kc_mult": 1.25,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 70,
        "kc_mult": 1.25,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 75,
        "kc_mult": 1.25,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 80,
        "kc_mult": 1.25,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 10,
        "kc_mult": 1.5,
        "return_": 1.424880307089758,
        "drawdown": 0.601771784971888,
        "closed_trades": 61,
        "calmar": 0.2644248677477311
      },
      {
        "lookback": 15,
        "kc_mult": 1.5,
        "return_": 1.830670711288954,
        "drawdown": 0.6572241721362102,
        "closed_trades": 29,
        "calmar": 0.28819900443011004
      },
      {
        "lookback": 20,
        "kc_mult": 1.5,
        "return_": 2.3253137623208677,
        "drawdown": 0.6367751235394438,
        "closed_trades": 14,
        "calmar": 0.3482815396983414
      },
      {
        "lookback": 25,
        "kc_mult": 1.5,
        "return_": 1.2748069151170913,
        "drawdown": 0.48320376576775725,
        "closed_trades": 8,
        "calmar": 0.30389656167181023
      },
      {
        "lookback": 30,
        "kc_mult": 1.5,
        "return_": 0.07083193343060978,
        "drawdown": 0.2416829882269672,
        "closed_trades": 4,
        "calmar": 0.04747501977891154
      },
      {
        "lookback": 35,
        "kc_mult": 1.5,
        "return_": -0.09739744240945825,
        "drawdown": 0.31557877729945116,
        "closed_trades": 2,
        "calmar": -0.05367167449679594
      },
      {
        "lookback": 40,
        "kc_mult": 1.5,
        "return_": -0.1827752432865669,
        "drawdown": 0.24140718285043672,
        "closed_trades": 1,
        "calmar": -0.13706332309586733
      },
      {
        "lookback": 45,
        "kc_mult": 1.5,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 50,
        "kc_mult": 1.5,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 55,
        "kc_mult": 1.5,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 60,
        "kc_mult": 1.5,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 65,
        "kc_mult": 1.5,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 70,
        "kc_mult": 1.5,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 75,
        "kc_mult": 1.5,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 80,
        "kc_mult": 1.5,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 10,
        "kc_mult": 1.75,
        "return_": 1.9096579334281087,
        "drawdown": 0.6219172832173034,
        "closed_trades": 62,
        "calmar": 0.3133550691616964
      },
      {
        "lookback": 15,
        "kc_mult": 1.75,
        "return_": 7.032217726722763,
        "drawdown": 0.4107351131336987,
        "closed_trades": 35,
        "calmar": 1.0110490443546336
      },
      {
        "lookback": 20,
        "kc_mult": 1.75,
        "return_": 2.9446835986029836,
        "drawdown": 0.5697012108833137,
        "closed_trades": 18,
        "calmar": 0.4512292652164393
      },
      {
        "lookback": 25,
        "kc_mult": 1.75,
        "return_": 5.210873001108816,
        "drawdown": 0.4683788439926645,
        "closed_trades": 12,
        "calmar": 0.7598190881709682
      },
      {
        "lookback": 30,
        "kc_mult": 1.75,
        "return_": 1.7122442053026035,
        "drawdown": 0.42725726813367026,
        "closed_trades": 10,
        "calmar": 0.42355628413884033
      },
      {
        "lookback": 35,
        "kc_mult": 1.75,
        "return_": -0.09750600323822489,
        "drawdown": 0.34698820738767044,
        "closed_trades": 5,
        "calmar": -0.04887011401826978
      },
      {
        "lookback": 40,
        "kc_mult": 1.75,
        "return_": 0.1411525440240431,
        "drawdown": 0.2808394435734144,
        "closed_trades": 4,
        "calmar": 0.07924642228186615
      },
      {
        "lookback": 45,
        "kc_mult": 1.75,
        "return_": -0.18444029295603692,
        "drawdown": 0.24138151436020072,
        "closed_trades": 1,
        "calmar": -0.13843961085544804
      },
      {
        "lookback": 50,
        "kc_mult": 1.75,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 55,
        "kc_mult": 1.75,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 60,
        "kc_mult": 1.75,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 65,
        "kc_mult": 1.75,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 70,
        "kc_mult": 1.75,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 75,
        "kc_mult": 1.75,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 80,
        "kc_mult": 1.75,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 10,
        "kc_mult": 2.0,
        "return_": 2.557881429355764,
        "drawdown": 0.5161914890672955,
        "closed_trades": 52,
        "calmar": 0.45646556932316756
      },
      {
        "lookback": 15,
        "kc_mult": 2.0,
        "return_": 6.855440070586237,
        "drawdown": 0.3883836217943073,
        "closed_trades": 36,
        "calmar": 1.0557410578648805
      },
      {
        "lookback": 20,
        "kc_mult": 2.0,
        "return_": 4.684801309240869,
        "drawdown": 0.42011125683719,
        "closed_trades": 22,
        "calmar": 0.7998476609782458
      },
      {
        "lookback": 25,
        "kc_mult": 2.0,
        "return_": 8.689518944432633,
        "drawdown": 0.4504242209180094,
        "closed_trades": 16,
        "calmar": 1.021769719813237
      },
      {
        "lookback": 30,
        "kc_mult": 2.0,
        "return_": 8.627648803513695,
        "drawdown": 0.4424210026362475,
        "closed_trades": 10,
        "calmar": 1.0367304647985744
      },
      {
        "lookback": 35,
        "kc_mult": 2.0,
        "return_": -0.2204746524450365,
        "drawdown": 0.4233592630910775,
        "closed_trades": 8,
        "calmar": -0.0960672418267869
      },
      {
        "lookback": 40,
        "kc_mult": 2.0,
        "return_": 1.6219893346893963,
        "drawdown": 0.30954329228443644,
        "closed_trades": 6,
        "calmar": 0.5631634703072582
      },
      {
        "lookback": 45,
        "kc_mult": 2.0,
        "return_": -0.05483281266682749,
        "drawdown": 0.24156519217346184,
        "closed_trades": 2,
        "calmar": -0.038734890896435836
      },
      {
        "lookback": 50,
        "kc_mult": 2.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 55,
        "kc_mult": 2.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 60,
        "kc_mult": 2.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 65,
        "kc_mult": 2.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 70,
        "kc_mult": 2.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 75,
        "kc_mult": 2.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 80,
        "kc_mult": 2.0,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 10,
        "kc_mult": 2.25,
        "return_": 3.664568179005969,
        "drawdown": 0.4217904359610163,
        "closed_trades": 45,
        "calmar": 0.6939201376175391
      },
      {
        "lookback": 15,
        "kc_mult": 2.25,
        "return_": 5.5456752494956065,
        "drawdown": 0.3768131487184805,
        "closed_trades": 38,
        "calmar": 0.9760876435269046
      },
      {
        "lookback": 20,
        "kc_mult": 2.25,
        "return_": 3.1201177479941853,
        "drawdown": 0.5506170419455259,
        "closed_trades": 24,
        "calmar": 0.4834894693184009
      },
      {
        "lookback": 25,
        "kc_mult": 2.25,
        "return_": 4.823880375369969,
        "drawdown": 0.5007341496036788,
        "closed_trades": 18,
        "calmar": 0.6818372208282544
      },
      {
        "lookback": 30,
        "kc_mult": 2.25,
        "return_": 10.10606637565939,
        "drawdown": 0.39797319523785857,
        "closed_trades": 11,
        "calmar": 1.240850662089459
      },
      {
        "lookback": 35,
        "kc_mult": 2.25,
        "return_": 11.272541038769413,
        "drawdown": 0.3443962174310854,
        "closed_trades": 9,
        "calmar": 1.5067082037360795
      },
      {
        "lookback": 40,
        "kc_mult": 2.25,
        "return_": 2.3502340031669235,
        "drawdown": 0.37760911493873095,
        "closed_trades": 10,
        "calmar": 0.5913486617461632
      },
      {
        "lookback": 45,
        "kc_mult": 2.25,
        "return_": -0.07555663412538416,
        "drawdown": 0.4463345487128625,
        "closed_trades": 5,
        "calmar": -0.02915192602029368
      },
      {
        "lookback": 50,
        "kc_mult": 2.25,
        "return_": -0.11570573767631753,
        "drawdown": 0.37777116422164536,
        "closed_trades": 3,
        "calmar": -0.053710386393116746
      },
      {
        "lookback": 55,
        "kc_mult": 2.25,
        "return_": 0.4656275663229734,
        "drawdown": 0.18003479183445392,
        "closed_trades": 1,
        "calmar": 0.36550130796319447
      },
      {
        "lookback": 60,
        "kc_mult": 2.25,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 65,
        "kc_mult": 2.25,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 70,
        "kc_mult": 2.25,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 75,
        "kc_mult": 2.25,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 80,
        "kc_mult": 2.25,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 10,
        "kc_mult": 2.5,
        "return_": 5.77019425054359,
        "drawdown": 0.43208653436652555,
        "closed_trades": 37,
        "calmar": 0.8690720042006977
      },
      {
        "lookback": 15,
        "kc_mult": 2.5,
        "return_": 4.198396242381318,
        "drawdown": 0.45290723589342985,
        "closed_trades": 33,
        "calmar": 0.6982693316979347
      },
      {
        "lookback": 20,
        "kc_mult": 2.5,
        "return_": 5.952195209222489,
        "drawdown": 0.3736224767162134,
        "closed_trades": 23,
        "calmar": 1.0213804784469775
      },
      {
        "lookback": 25,
        "kc_mult": 2.5,
        "return_": 3.62087902762622,
        "drawdown": 0.3902949784429649,
        "closed_trades": 20,
        "calmar": 0.7447253652872529
      },
      {
        "lookback": 30,
        "kc_mult": 2.5,
        "return_": 8.562339933820573,
        "drawdown": 0.4306062759509587,
        "closed_trades": 17,
        "calmar": 1.0613341168533679
      },
      {
        "lookback": 35,
        "kc_mult": 2.5,
        "return_": 7.96483886629011,
        "drawdown": 0.40417509188443523,
        "closed_trades": 11,
        "calmar": 1.0921731510869659
      },
      {
        "lookback": 40,
        "kc_mult": 2.5,
        "return_": 2.568569106937939,
        "drawdown": 0.3039069374072023,
        "closed_trades": 9,
        "calmar": 0.7773486061318436
      },
      {
        "lookback": 45,
        "kc_mult": 2.5,
        "return_": 1.5229095032262472,
        "drawdown": 0.369376022988007,
        "closed_trades": 8,
        "calmar": 0.4515903753269124
      },
      {
        "lookback": 50,
        "kc_mult": 2.5,
        "return_": -0.3004231605290473,
        "drawdown": 0.4545917542721106,
        "closed_trades": 4,
        "calmar": -0.12719364759428953
      },
      {
        "lookback": 55,
        "kc_mult": 2.5,
        "return_": 0.4064478242657783,
        "drawdown": 0.24239648179793116,
        "closed_trades": 3,
        "calmar": 0.24136067237565476
      },
      {
        "lookback": 60,
        "kc_mult": 2.5,
        "return_": -0.20123955302432217,
        "drawdown": 0.24170090189578475,
        "closed_trades": 1,
        "calmar": -0.15210833285327122
      },
      {
        "lookback": 65,
        "kc_mult": 2.5,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 70,
        "kc_mult": 2.5,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 75,
        "kc_mult": 2.5,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 80,
        "kc_mult": 2.5,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 10,
        "kc_mult": 2.75,
        "return_": 4.72765798953941,
        "drawdown": 0.4309737810847153,
        "closed_trades": 33,
        "calmar": 0.7835715977248551
      },
      {
        "lookback": 15,
        "kc_mult": 2.75,
        "return_": 6.290690758667889,
        "drawdown": 0.3677860314143394,
        "closed_trades": 31,
        "calmar": 1.0674789851632411
      },
      {
        "lookback": 20,
        "kc_mult": 2.75,
        "return_": 3.2834106946931554,
        "drawdown": 0.5178430621845389,
        "closed_trades": 26,
        "calmar": 0.5299840713951132
      },
      {
        "lookback": 25,
        "kc_mult": 2.75,
        "return_": 2.6045656579056353,
        "drawdown": 0.42711702324718137,
        "closed_trades": 24,
        "calmar": 0.5579542915755104
      },
      {
        "lookback": 30,
        "kc_mult": 2.75,
        "return_": 5.861675378923919,
        "drawdown": 0.43563094543620007,
        "closed_trades": 18,
        "calmar": 0.8690738226734215
      },
      {
        "lookback": 35,
        "kc_mult": 2.75,
        "return_": 7.302405804442673,
        "drawdown": 0.36958163609831807,
        "closed_trades": 13,
        "calmar": 1.1448097557985009
      },
      {
        "lookback": 40,
        "kc_mult": 2.75,
        "return_": 9.61044774582702,
        "drawdown": 0.2706990624569856,
        "closed_trades": 9,
        "calmar": 1.7824212440547813
      },
      {
        "lookback": 45,
        "kc_mult": 2.75,
        "return_": 1.6095080984285195,
        "drawdown": 0.3571777078041044,
        "closed_trades": 7,
        "calmar": 0.48544389074630256
      },
      {
        "lookback": 50,
        "kc_mult": 2.75,
        "return_": -0.0726737367408119,
        "drawdown": 0.3264699564025014,
        "closed_trades": 9,
        "calmar": -0.038285511114015576
      },
      {
        "lookback": 55,
        "kc_mult": 2.75,
        "return_": 0.10434377560336583,
        "drawdown": 0.35161593870130836,
        "closed_trades": 4,
        "calmar": 0.04744749107454417
      },
      {
        "lookback": 60,
        "kc_mult": 2.75,
        "return_": 0.5313028683443841,
        "drawdown": 0.2178122312229358,
        "closed_trades": 2,
        "calmar": 0.3379971107262741
      },
      {
        "lookback": 65,
        "kc_mult": 2.75,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 70,
        "kc_mult": 2.75,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 75,
        "kc_mult": 2.75,
        "return_": -0.12934793863719407,
        "drawdown": 0.1356306374052293,
        "closed_trades": 1,
        "calmar": -0.1682967283830687
      },
      {
        "lookback": 80,
        "kc_mult": 2.75,
        "return_": 0.0,
        "drawdown": -0.0,
        "closed_trades": 0,
        "calmar": 0.0
      },
      {
        "lookback": 10,
        "kc_mult": 3.0,
        "return_": 6.295620529675426,
        "drawdown": 0.2772349923564318,
        "closed_trades": 27,
        "calmar": 1.4167071339663084
      },
      {
        "lookback": 15,
        "kc_mult": 3.0,
        "return_": 5.0556388943138995,
        "drawdown": 0.3403356438458911,
        "closed_trades": 29,
        "calmar": 1.0289078343724134
      },
      {
        "lookback": 20,
        "kc_mult": 3.0,
        "return_": 3.970120368502619,
        "drawdown": 0.3783168587033967,
        "closed_trades": 25,
        "calmar": 0.8099942736051416
      },
      {
        "lookback": 25,
        "kc_mult": 3.0,
        "return_": 2.87854764117132,
        "drawdown": 0.350136494329814,
        "closed_trades": 22,
        "calmar": 0.7240822797860914
      },
      {
        "lookback": 30,
        "kc_mult": 3.0,
        "return_": 4.2143373024847595,
        "drawdown": 0.4717894653761151,
        "closed_trades": 17,
        "calmar": 0.671747194852314
      },
      {
        "lookback": 35,
        "kc_mult": 3.0,
        "return_": 7.470824549516497,
        "drawdown": 0.35938256580353056,
        "closed_trades": 14,
        "calmar": 1.1905779986675364
      },
      {
        "lookback": 40,
        "kc_mult": 3.0,
        "return_": 9.556817512820189,
        "drawdown": 0.3654047202485524,
        "closed_trades": 12,
        "calmar": 1.3170272114567168
      },
      {
        "lookback": 45,
        "kc_mult": 3.0,
        "return_": 0.9284980709604373,
        "drawdown": 0.3912737674529735,
        "closed_trades": 9,
        "calmar": 0.2957005575217519
      },
      {
        "lookback": 50,
        "kc_mult": 3.0,
        "return_": 1.1559532877028462,
        "drawdown": 0.3046383277524155,
        "closed_trades": 8,
        "calmar": 0.4485001910017101
      },
      {
        "lookback": 55,
        "kc_mult": 3.0,
        "return_": 2.2237844986244477,
        "drawdown": 0.3430007584486644,
        "closed_trades": 5,
        "calmar": 0.6282135377559126
      },
      {
        "lookback": 60,
        "kc_mult": 3.0,
        "return_": 1.8121903626289364,
        "drawdown": 0.3929414774968536,
        "closed_trades": 7,
        "calmar": 0.4787311380712422
      },
      {
        "lookback": 65,
        "kc_mult": 3.0,
        "return_": 0.15778299673492535,
        "drawdown": 0.3300757085657138,
        "closed_trades": 3,
        "calmar": 0.07490431341580576
      },
      {
        "lookback": 70,
        "kc_mult": 3.0,
        "return_": 0.07284710615739765,
        "drawdown": 0.36844755870694035,
        "closed_trades": 2,
        "calmar": 0.03200176785950078
      },
      {
        "lookback": 75,
        "kc_mult": 3.0,
        "return_": -0.17227162229503123,
        "drawdown": 0.22997508498324593,
        "closed_trades": 1,
        "calmar": -0.13491614855279435
      },
      {
        "lookback": 80,
        "kc_mult": 3.0,
        "return_": -0.1593504890428229,
        "drawdown": 0.23443846192884032,
        "closed_trades": 2,
        "calmar": -0.12166101826408295
      },
      {
        "lookback": 10,
        "kc_mult": 3.25,
        "return_": 4.638461562015519,
        "drawdown": 0.24636336558324756,
        "closed_trades": 26,
        "calmar": 1.3565462111503646
      },
      {
        "lookback": 15,
        "kc_mult": 3.25,
        "return_": 5.910190802440755,
        "drawdown": 0.29657180890777946,
        "closed_trades": 25,
        "calmar": 1.28203558848619
      },
      {
        "lookback": 20,
        "kc_mult": 3.25,
        "return_": 3.2160800724008967,
        "drawdown": 0.38775095142359706,
        "closed_trades": 22,
        "calmar": 0.699126332908849
      },
      {
        "lookback": 25,
        "kc_mult": 3.25,
        "return_": 2.9106895749575075,
        "drawdown": 0.4014626236925539,
        "closed_trades": 22,
        "calmar": 0.6358087016068777
      },
      {
        "lookback": 30,
        "kc_mult": 3.25,
        "return_": 5.137834640490786,
        "drawdown": 0.43183459418430403,
        "closed_trades": 16,
        "calmar": 0.8179335099331573
      },
      {
        "lookback": 35,
        "kc_mult": 3.25,
        "return_": 6.00022256648637,
        "drawdown": 0.4201042143667576,
        "closed_trades": 16,
        "calmar": 0.9121480830328293
      },
      {
        "lookback": 40,
        "kc_mult": 3.25,
        "return_": 7.055083672113383,
        "drawdown": 0.3774611416389446,
        "closed_trades": 12,
        "calmar": 1.1019523619372296
      },
      {
        "lookback": 45,
        "kc_mult": 3.25,
        "return_": 4.83615781952783,
        "drawdown": 0.4489888555281152,
        "closed_trades": 12,
        "calmar": 0.7614669786583513
      },
      {
        "lookback": 50,
        "kc_mult": 3.25,
        "return_": 0.6239018296679477,
        "drawdown": 0.4434280006143274,
        "closed_trades": 9,
        "calmar": 0.18983866740489003
      },
      {
        "lookback": 55,
        "kc_mult": 3.25,
        "return_": 1.5825291580478864,
        "drawdown": 0.44679590895124865,
        "closed_trades": 9,
        "calmar": 0.38352772613015546
      },
      {
        "lookback": 60,
        "kc_mult": 3.25,
        "return_": 2.713673161476855,
        "drawdown": 0.39209608196018086,
        "closed_trades": 5,
        "calmar": 0.6235281712448074
      },
      {
        "lookback": 65,
        "kc_mult": 3.25,
        "return_": 1.961619140227051,
        "drawdown": 0.36469585627611323,
        "closed_trades": 4,
        "calmar": 0.5440477582180019
      },
      {
        "lookback": 70,
        "kc_mult": 3.25,
        "return_": -0.09107254188075442,
        "drawdown": 0.41787625732002387,
        "closed_trades": 2,
        "calmar": -0.037792524789022695
      },
      {
        "lookback": 75,
        "kc_mult": 3.25,
        "return_": -0.14138442706574406,
        "drawdown": 0.4233693087737782,
        "closed_trades": 2,
        "calmar": -0.05926577079622481
      },
      {
        "lookback": 80,
        "kc_mult": 3.25,
        "return_": -0.3616344244516658,
        "drawdown": 0.3680250012569426,
        "closed_trades": 3,
        "calmar": -0.19589325776238373
      },
      {
        "lookback": 10,
        "kc_mult": 3.5,
        "return_": 2.593762215791922,
        "drawdown": 0.20019281845911108,
        "closed_trades": 20,
        "calmar": 1.1873167780337062
      },
      {
        "lookback": 15,
        "kc_mult": 3.5,
        "return_": 5.40470258199948,
        "drawdown": 0.308757868849432,
        "closed_trades": 21,
        "calmar": 1.175183682354652
      },
      {
        "lookback": 20,
        "kc_mult": 3.5,
        "return_": 4.164909460801017,
        "drawdown": 0.33005218462098085,
        "closed_trades": 20,
        "calmar": 0.9538914015324538
      },
      {
        "lookback": 25,
        "kc_mult": 3.5,
        "return_": 2.4219538369844913,
        "drawdown": 0.42386708480097546,
        "closed_trades": 21,
        "calmar": 0.537021679079432
      },
      {
        "lookback": 30,
        "kc_mult": 3.5,
        "return_": 4.044866862901337,
        "drawdown": 0.4728396446738725,
        "closed_trades": 18,
        "calmar": 0.6549567458996032
      },
      {
        "lookback": 35,
        "kc_mult": 3.5,
        "return_": 5.0091999454173655,
        "drawdown": 0.34915557011011733,
        "closed_trades": 16,
        "calmar": 0.9979574226655674
      },
      {
        "lookback": 40,
        "kc_mult": 3.5,
        "return_": 4.513670208623439,
        "drawdown": 0.4204827568456909,
        "closed_trades": 12,
        "calmar": 0.7829921147331281
      },
      {
        "lookback": 45,
        "kc_mult": 3.5,
        "return_": 3.8170591193648544,
        "drawdown": 0.4576641911628847,
        "closed_trades": 12,
        "calmar": 0.6547151686315721
      },
      {
        "lookback": 50,
        "kc_mult": 3.5,
        "return_": 4.009490332960455,
        "drawdown": 0.4858183390062345,
        "closed_trades": 12,
        "calmar": 0.6342988207908808
      },
      {
        "lookback": 55,
        "kc_mult": 3.5,
        "return_": 7.294787144851902,
        "drawdown": 0.42250017053410094,
        "closed_trades": 10,
        "calmar": 1.0009058195851732
      },
      {
        "lookback": 60,
        "kc_mult": 3.5,
        "return_": 2.1930262632150237,
        "drawdown": 0.3724976490974602,
        "closed_trades": 7,
        "calmar": 0.573256583337442
      },
      {
        "lookback": 65,
        "kc_mult": 3.5,
        "return_": 2.132898518568551,
        "drawdown": 0.39697985519133205,
        "closed_trades": 5,
        "calmar": 0.528230698068334
      },
      {
        "lookback": 70,
        "kc_mult": 3.5,
        "return_": 0.680378749190476,
        "drawdown": 0.4248930727047652,
        "closed_trades": 5,
        "calmar": 0.21270382982004682
      },
      {
        "lookback": 75,
        "kc_mult": 3.5,
        "return_": 0.7865777050003715,
        "drawdown": 0.4303329004818469,
        "closed_trades": 4,
        "calmar": 0.23603327690554268
      },
      {
        "lookback": 80,
        "kc_mult": 3.5,
        "return_": 0.7075403887660392,
        "drawdown": 0.46088896411144264,
        "closed_trades": 3,
        "calmar": 0.20242388275474987
      }
    ]
  },
  "rows": [
    {
      "period": "2024-2025",
      "configuration": "Original",
      "settings": {
        "lookback": 20,
        "bb_mult": 2,
        "kc_mult": 1.5,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2024-01-01"
      },
      "bars": 731,
      "first_bar": "2024-01-01T00:00:00+00:00",
      "last_bar": "2025-12-31T00:00:00+00:00",
      "metrics": {
        "return": 0.05045573908921641,
        "profit": 504.55739089216513,
        "benchmark_return": 1.0148714578158056,
        "drawdown": 0.16167747685722145,
        "trades": 5,
        "win_rate": 0.4,
        "profit_factor": 1.2812916906478213,
        "fees": 43.88511286991147,
        "open_position": false
      }
    },
    {
      "period": "2024-2025",
      "configuration": "RSI above 55",
      "settings": {
        "lookback": 20,
        "bb_mult": 2,
        "kc_mult": 1.5,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": true,
        "split": "2024-01-01"
      },
      "bars": 731,
      "first_bar": "2024-01-01T00:00:00+00:00",
      "last_bar": "2025-12-31T00:00:00+00:00",
      "metrics": {
        "return": -0.17644704037803316,
        "profit": -1764.4704037803313,
        "benchmark_return": 1.0148714578158056,
        "drawdown": 0.18535697206842994,
        "trades": 3,
        "win_rate": 0.0,
        "profit_factor": 0.0,
        "fees": 25.43056493098133,
        "open_position": false
      }
    },
    {
      "period": "2024-2025",
      "configuration": "Selected region",
      "settings": {
        "lookback": 15,
        "bb_mult": 2,
        "kc_mult": 3.25,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2024-01-01"
      },
      "bars": 731,
      "first_bar": "2024-01-01T00:00:00+00:00",
      "last_bar": "2025-12-31T00:00:00+00:00",
      "metrics": {
        "return": 0.837014386631926,
        "profit": 8370.14386631926,
        "benchmark_return": 1.0148714578158056,
        "drawdown": 0.1592104213204838,
        "trades": 6,
        "win_rate": 0.6666666666666666,
        "profit_factor": 7.476900666359658,
        "fees": 92.08635633398299,
        "open_position": false
      }
    },
    {
      "period": "2024-2025",
      "configuration": "Neighbor 10 / 3.0",
      "settings": {
        "lookback": 10,
        "bb_mult": 2,
        "kc_mult": 3.0,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2024-01-01"
      },
      "bars": 731,
      "first_bar": "2024-01-01T00:00:00+00:00",
      "last_bar": "2025-12-31T00:00:00+00:00",
      "metrics": {
        "return": 0.37053282822496447,
        "profit": 3705.328282249644,
        "benchmark_return": 1.0148714578158056,
        "drawdown": 0.11073180913787539,
        "trades": 9,
        "win_rate": 0.6666666666666666,
        "profit_factor": 4.526676256981803,
        "fees": 109.61474067453945,
        "open_position": false
      }
    },
    {
      "period": "2024-2025",
      "configuration": "Neighbor 15 / 3.0",
      "settings": {
        "lookback": 15,
        "bb_mult": 2,
        "kc_mult": 3.0,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2024-01-01"
      },
      "bars": 731,
      "first_bar": "2024-01-01T00:00:00+00:00",
      "last_bar": "2025-12-31T00:00:00+00:00",
      "metrics": {
        "return": 0.7249600330708637,
        "profit": 7249.600330708636,
        "benchmark_return": 1.0148714578158056,
        "drawdown": 0.21053988570535465,
        "trades": 8,
        "win_rate": 0.625,
        "profit_factor": 4.988897031182449,
        "fees": 110.8990119245719,
        "open_position": false
      }
    },
    {
      "period": "2024-2025",
      "configuration": "Neighbor 20 / 3.0",
      "settings": {
        "lookback": 20,
        "bb_mult": 2,
        "kc_mult": 3.0,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2024-01-01"
      },
      "bars": 731,
      "first_bar": "2024-01-01T00:00:00+00:00",
      "last_bar": "2025-12-31T00:00:00+00:00",
      "metrics": {
        "return": 0.6623944001779485,
        "profit": 6623.944001779484,
        "benchmark_return": 1.0148714578158056,
        "drawdown": 0.219518000957161,
        "trades": 8,
        "win_rate": 0.375,
        "profit_factor": 2.791121534209315,
        "fees": 113.82344967621309,
        "open_position": false
      }
    },
    {
      "period": "2024-2025",
      "configuration": "Neighbor 10 / 3.25",
      "settings": {
        "lookback": 10,
        "bb_mult": 2,
        "kc_mult": 3.25,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2024-01-01"
      },
      "bars": 731,
      "first_bar": "2024-01-01T00:00:00+00:00",
      "last_bar": "2025-12-31T00:00:00+00:00",
      "metrics": {
        "return": 0.279627878939523,
        "profit": 2796.27878939523,
        "benchmark_return": 1.0148714578158056,
        "drawdown": 0.12267082680085906,
        "trades": 8,
        "win_rate": 0.5,
        "profit_factor": 3.0968207418637608,
        "fees": 94.19844043855741,
        "open_position": false
      }
    },
    {
      "period": "2024-2025",
      "configuration": "Neighbor 15 / 3.25",
      "settings": {
        "lookback": 15,
        "bb_mult": 2,
        "kc_mult": 3.25,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2024-01-01"
      },
      "bars": 731,
      "first_bar": "2024-01-01T00:00:00+00:00",
      "last_bar": "2025-12-31T00:00:00+00:00",
      "metrics": {
        "return": 0.837014386631926,
        "profit": 8370.14386631926,
        "benchmark_return": 1.0148714578158056,
        "drawdown": 0.1592104213204838,
        "trades": 6,
        "win_rate": 0.6666666666666666,
        "profit_factor": 7.476900666359658,
        "fees": 92.08635633398299,
        "open_position": false
      }
    },
    {
      "period": "2024-2025",
      "configuration": "Neighbor 20 / 3.25",
      "settings": {
        "lookback": 20,
        "bb_mult": 2,
        "kc_mult": 3.25,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2024-01-01"
      },
      "bars": 731,
      "first_bar": "2024-01-01T00:00:00+00:00",
      "last_bar": "2025-12-31T00:00:00+00:00",
      "metrics": {
        "return": 0.5931880115319128,
        "profit": 5931.880115319129,
        "benchmark_return": 1.0148714578158056,
        "drawdown": 0.23620636621383373,
        "trades": 7,
        "win_rate": 0.42857142857142855,
        "profit_factor": 2.4865606209952382,
        "fees": 98.32806676701796,
        "open_position": false
      }
    },
    {
      "period": "2024-2025",
      "configuration": "Neighbor 10 / 3.5",
      "settings": {
        "lookback": 10,
        "bb_mult": 2,
        "kc_mult": 3.5,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2024-01-01"
      },
      "bars": 731,
      "first_bar": "2024-01-01T00:00:00+00:00",
      "last_bar": "2025-12-31T00:00:00+00:00",
      "metrics": {
        "return": 0.240904330106952,
        "profit": 2409.0433010695197,
        "benchmark_return": 1.0148714578158056,
        "drawdown": 0.10505040181483516,
        "trades": 5,
        "win_rate": 0.6,
        "profit_factor": 3.412651666153579,
        "fees": 56.73738789648679,
        "open_position": false
      }
    },
    {
      "period": "2024-2025",
      "configuration": "Neighbor 15 / 3.5",
      "settings": {
        "lookback": 15,
        "bb_mult": 2,
        "kc_mult": 3.5,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2024-01-01"
      },
      "bars": 731,
      "first_bar": "2024-01-01T00:00:00+00:00",
      "last_bar": "2025-12-31T00:00:00+00:00",
      "metrics": {
        "return": 0.7392623311577262,
        "profit": 7392.623311577263,
        "benchmark_return": 1.0148714578158056,
        "drawdown": 0.16284247337346913,
        "trades": 6,
        "win_rate": 0.6666666666666666,
        "profit_factor": 6.935534075672748,
        "fees": 88.21054850863979,
        "open_position": false
      }
    },
    {
      "period": "2024-2025",
      "configuration": "Neighbor 20 / 3.5",
      "settings": {
        "lookback": 20,
        "bb_mult": 2,
        "kc_mult": 3.5,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2024-01-01"
      },
      "bars": 731,
      "first_bar": "2024-01-01T00:00:00+00:00",
      "last_bar": "2025-12-31T00:00:00+00:00",
      "metrics": {
        "return": 0.5326803199358725,
        "profit": 5326.803199358725,
        "benchmark_return": 1.0148714578158056,
        "drawdown": 0.2512995199762741,
        "trades": 7,
        "win_rate": 0.42857142857142855,
        "profit_factor": 2.272998253028361,
        "fees": 96.1544909756248,
        "open_position": false
      }
    },
    {
      "period": "2024-2025",
      "configuration": "Selected / higher costs",
      "settings": {
        "lookback": 15,
        "bb_mult": 2,
        "kc_mult": 3.25,
        "fees": 10,
        "slippage": 5,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2024-01-01"
      },
      "bars": 731,
      "first_bar": "2024-01-01T00:00:00+00:00",
      "last_bar": "2025-12-31T00:00:00+00:00",
      "metrics": {
        "return": 0.8202605913819268,
        "profit": 8202.605913819269,
        "benchmark_return": 1.0133011309763926,
        "drawdown": 0.16175951087343898,
        "trades": 6,
        "win_rate": 0.6666666666666666,
        "profit_factor": 7.1225887749320345,
        "fees": 183.23216531077378,
        "open_position": false
      }
    },
    {
      "period": "2026",
      "configuration": "Original",
      "settings": {
        "lookback": 20,
        "bb_mult": 2,
        "kc_mult": 1.5,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2026-01-01"
      },
      "bars": 304,
      "first_bar": "2026-01-01T00:00:00+00:00",
      "last_bar": "2026-10-31T00:00:00+00:00",
      "metrics": {
        "return": -0.04733453693605183,
        "profit": -473.3453693605188,
        "benchmark_return": -0.10994528856407904,
        "drawdown": 0.16559829645352797,
        "trades": 4,
        "win_rate": 0.25,
        "profit_factor": 0.6628523960038977,
        "fees": 35.07037049072339,
        "open_position": false
      }
    },
    {
      "period": "2026",
      "configuration": "RSI above 55",
      "settings": {
        "lookback": 20,
        "bb_mult": 2,
        "kc_mult": 1.5,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": true,
        "split": "2026-01-01"
      },
      "bars": 304,
      "first_bar": "2026-01-01T00:00:00+00:00",
      "last_bar": "2026-10-31T00:00:00+00:00",
      "metrics": {
        "return": 0.006660116464609844,
        "profit": 66.60116464609746,
        "benchmark_return": -0.10994528856407904,
        "drawdown": 0.11830653189746465,
        "trades": 3,
        "win_rate": 0.3333333333333333,
        "profit_factor": 1.072647652149065,
        "fees": 27.225927636303414,
        "open_position": false
      }
    },
    {
      "period": "2026",
      "configuration": "Selected region",
      "settings": {
        "lookback": 15,
        "bb_mult": 2,
        "kc_mult": 3.25,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2026-01-01"
      },
      "bars": 304,
      "first_bar": "2026-01-01T00:00:00+00:00",
      "last_bar": "2026-10-31T00:00:00+00:00",
      "metrics": {
        "return": 0.014561474635703897,
        "profit": 145.61474635703962,
        "benchmark_return": -0.10994528856407904,
        "drawdown": 0.08305315141199832,
        "trades": 2,
        "win_rate": 0.5,
        "profit_factor": 1.2677782708238807,
        "fees": 19.7277818004169,
        "open_position": false
      }
    },
    {
      "period": "2026",
      "configuration": "Neighbor 10 / 3.0",
      "settings": {
        "lookback": 10,
        "bb_mult": 2,
        "kc_mult": 3.0,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2026-01-01"
      },
      "bars": 304,
      "first_bar": "2026-01-01T00:00:00+00:00",
      "last_bar": "2026-10-31T00:00:00+00:00",
      "metrics": {
        "return": 0.024357547253696543,
        "profit": 243.57547253696612,
        "benchmark_return": -0.10994528856407904,
        "drawdown": 0.06367633402735373,
        "trades": 2,
        "win_rate": 0.5,
        "profit_factor": 1.7833718707012165,
        "fees": 19.64863575039216,
        "open_position": false
      }
    },
    {
      "period": "2026",
      "configuration": "Neighbor 15 / 3.0",
      "settings": {
        "lookback": 15,
        "bb_mult": 2,
        "kc_mult": 3.0,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2026-01-01"
      },
      "bars": 304,
      "first_bar": "2026-01-01T00:00:00+00:00",
      "last_bar": "2026-10-31T00:00:00+00:00",
      "metrics": {
        "return": 0.014561474635703897,
        "profit": 145.61474635703962,
        "benchmark_return": -0.10994528856407904,
        "drawdown": 0.08305315141199832,
        "trades": 2,
        "win_rate": 0.5,
        "profit_factor": 1.2677782708238807,
        "fees": 19.7277818004169,
        "open_position": false
      }
    },
    {
      "period": "2026",
      "configuration": "Neighbor 20 / 3.0",
      "settings": {
        "lookback": 20,
        "bb_mult": 2,
        "kc_mult": 3.0,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2026-01-01"
      },
      "bars": 304,
      "first_bar": "2026-01-01T00:00:00+00:00",
      "last_bar": "2026-10-31T00:00:00+00:00",
      "metrics": {
        "return": 0.03126986860290493,
        "profit": 312.698686029049,
        "benchmark_return": -0.10994528856407904,
        "drawdown": 0.07724396724324234,
        "trades": 3,
        "win_rate": 0.3333333333333333,
        "profit_factor": 2.403779407859348,
        "fees": 29.09749883553247,
        "open_position": false
      }
    },
    {
      "period": "2026",
      "configuration": "Neighbor 10 / 3.25",
      "settings": {
        "lookback": 10,
        "bb_mult": 2,
        "kc_mult": 3.25,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2026-01-01"
      },
      "bars": 304,
      "first_bar": "2026-01-01T00:00:00+00:00",
      "last_bar": "2026-10-31T00:00:00+00:00",
      "metrics": {
        "return": 0.024357547253696543,
        "profit": 243.57547253696612,
        "benchmark_return": -0.10994528856407904,
        "drawdown": 0.06367633402735373,
        "trades": 2,
        "win_rate": 0.5,
        "profit_factor": 1.7833718707012165,
        "fees": 19.64863575039216,
        "open_position": false
      }
    },
    {
      "period": "2026",
      "configuration": "Neighbor 15 / 3.25",
      "settings": {
        "lookback": 15,
        "bb_mult": 2,
        "kc_mult": 3.25,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2026-01-01"
      },
      "bars": 304,
      "first_bar": "2026-01-01T00:00:00+00:00",
      "last_bar": "2026-10-31T00:00:00+00:00",
      "metrics": {
        "return": 0.014561474635703897,
        "profit": 145.61474635703962,
        "benchmark_return": -0.10994528856407904,
        "drawdown": 0.08305315141199832,
        "trades": 2,
        "win_rate": 0.5,
        "profit_factor": 1.2677782708238807,
        "fees": 19.7277818004169,
        "open_position": false
      }
    },
    {
      "period": "2026",
      "configuration": "Neighbor 20 / 3.25",
      "settings": {
        "lookback": 20,
        "bb_mult": 2,
        "kc_mult": 3.25,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2026-01-01"
      },
      "bars": 304,
      "first_bar": "2026-01-01T00:00:00+00:00",
      "last_bar": "2026-10-31T00:00:00+00:00",
      "metrics": {
        "return": -0.03212937509181468,
        "profit": -321.29375091814654,
        "benchmark_return": -0.10994528856407904,
        "drawdown": 0.07743730444713204,
        "trades": 2,
        "win_rate": 0.0,
        "profit_factor": 0.0,
        "fees": 18.70442217851528,
        "open_position": false
      }
    },
    {
      "period": "2026",
      "configuration": "Neighbor 10 / 3.5",
      "settings": {
        "lookback": 10,
        "bb_mult": 2,
        "kc_mult": 3.5,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2026-01-01"
      },
      "bars": 304,
      "first_bar": "2026-01-01T00:00:00+00:00",
      "last_bar": "2026-10-31T00:00:00+00:00",
      "metrics": {
        "return": 0.024357547253696543,
        "profit": 243.57547253696612,
        "benchmark_return": -0.10994528856407904,
        "drawdown": 0.06367633402735373,
        "trades": 2,
        "win_rate": 0.5,
        "profit_factor": 1.7833718707012165,
        "fees": 19.64863575039216,
        "open_position": false
      }
    },
    {
      "period": "2026",
      "configuration": "Neighbor 15 / 3.5",
      "settings": {
        "lookback": 15,
        "bb_mult": 2,
        "kc_mult": 3.5,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2026-01-01"
      },
      "bars": 304,
      "first_bar": "2026-01-01T00:00:00+00:00",
      "last_bar": "2026-10-31T00:00:00+00:00",
      "metrics": {
        "return": -0.03174054627595235,
        "profit": -317.4054627595233,
        "benchmark_return": -0.10994528856407904,
        "drawdown": 0.064444074842398,
        "trades": 2,
        "win_rate": 0.0,
        "profit_factor": 0.0,
        "fees": 18.8410275544361,
        "open_position": false
      }
    },
    {
      "period": "2026",
      "configuration": "Neighbor 20 / 3.5",
      "settings": {
        "lookback": 20,
        "bb_mult": 2,
        "kc_mult": 3.5,
        "fees": 5,
        "slippage": 2,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2026-01-01"
      },
      "bars": 304,
      "first_bar": "2026-01-01T00:00:00+00:00",
      "last_bar": "2026-10-31T00:00:00+00:00",
      "metrics": {
        "return": -0.03212937509181468,
        "profit": -321.29375091814654,
        "benchmark_return": -0.10994528856407904,
        "drawdown": 0.07743730444713204,
        "trades": 2,
        "win_rate": 0.0,
        "profit_factor": 0.0,
        "fees": 18.70442217851528,
        "open_position": false
      }
    },
    {
      "period": "2026",
      "configuration": "Selected / higher costs",
      "settings": {
        "lookback": 15,
        "bb_mult": 2,
        "kc_mult": 3.25,
        "fees": 10,
        "slippage": 5,
        "allocation": 95,
        "rsi_threshold": 55,
        "dataset": "history",
        "period": "holdout",
        "rsi_filter": false,
        "split": "2026-01-01"
      },
      "bars": 304,
      "first_bar": "2026-01-01T00:00:00+00:00",
      "last_bar": "2026-10-31T00:00:00+00:00",
      "metrics": {
        "return": 0.011481130553436802,
        "profit": 114.81130553436742,
        "benchmark_return": -0.11061666096083078,
        "drawdown": 0.08513900733730806,
        "trades": 2,
        "win_rate": 0.5,
        "profit_factor": 1.2056437545429792,
        "fees": 39.39388066267358,
        "open_position": false
      }
    }
  ],
  "method": "Training-only region selection frozen before this study's later evaluation. 2024-2025 was previously inspected for other configurations. 2026 was downloaded after freezing. Retrospective research, not a prospective performance claim."
}
