{
  "metadata": {
    "study": "divergence_zone_structure",
    "generated": "2026-03-21T16:56:18.923154",
    "total_days": 749,
    "is_days": 464,
    "oos_days": 310,
    "tp_pts": 3.0,
    "sl_pts": 5.0,
    "cluster_gap": 3.0,
    "fomc_excluded": true
  },
  "zone_structure_summary": {
    "avg_zones_per_day": 2.05,
    "avg_zone_width": 11.67,
    "pct_single_point": 6.3,
    "most_common_texture": "ALTERNATING",
    "texture_distribution": {
      "ALTERNATING": 747,
      "BALANCED": 213,
      "ONE_SIDED": 573
    },
    "total_approach_events": 1030
  },
  "entry_levels": {
    "IS": {
      "A": {
        "total_approaches": 565,
        "n_filled": 279,
        "fill_rate": 0.4938,
        "n_wins": 217,
        "n_losses": 61,
        "wr": 0.7778,
        "pf": 2.1344,
        "avg_win": 3.0,
        "avg_loss": 5.0,
        "total_pnl": 346.0
      },
      "B": {
        "total_approaches": 565,
        "n_filled": 400,
        "fill_rate": 0.708,
        "n_wins": 313,
        "n_losses": 84,
        "wr": 0.7825,
        "pf": 2.2357,
        "avg_win": 3.0,
        "avg_loss": 5.0,
        "total_pnl": 519.0
      },
      "C": {
        "total_approaches": 565,
        "n_filled": 403,
        "fill_rate": 0.7133,
        "n_wins": 314,
        "n_losses": 85,
        "wr": 0.7792,
        "pf": 2.2165,
        "avg_win": 3.0,
        "avg_loss": 5.0,
        "total_pnl": 517.0
      },
      "D": {
        "total_approaches": 565,
        "n_filled": 390,
        "fill_rate": 0.6903,
        "n_wins": 307,
        "n_losses": 80,
        "wr": 0.7872,
        "pf": 2.3025,
        "avg_win": 3.0,
        "avg_loss": 5.0,
        "total_pnl": 521.0
      },
      "E": {
        "total_approaches": 565,
        "n_filled": 279,
        "fill_rate": 0.4938,
        "n_wins": 217,
        "n_losses": 61,
        "wr": 0.7778,
        "pf": 2.1344,
        "avg_win": 3.0,
        "avg_loss": 5.0,
        "total_pnl": 346.0
      }
    },
    "OOS": {
      "A": {
        "total_approaches": 465,
        "n_filled": 263,
        "fill_rate": 0.5656,
        "n_wins": 225,
        "n_losses": 38,
        "wr": 0.8555,
        "pf": 3.5526,
        "avg_win": 3.0,
        "avg_loss": 5.0,
        "total_pnl": 485.0
      },
      "B": {
        "total_approaches": 465,
        "n_filled": 337,
        "fill_rate": 0.7247,
        "n_wins": 281,
        "n_losses": 56,
        "wr": 0.8338,
        "pf": 3.0107,
        "avg_win": 3.0,
        "avg_loss": 5.0,
        "total_pnl": 563.0
      },
      "C": {
        "total_approaches": 465,
        "n_filled": 354,
        "fill_rate": 0.7613,
        "n_wins": 300,
        "n_losses": 54,
        "wr": 0.8475,
        "pf": 3.3333,
        "avg_win": 3.0,
        "avg_loss": 5.0,
        "total_pnl": 630.0
      },
      "D": {
        "total_approaches": 465,
        "n_filled": 338,
        "fill_rate": 0.7269,
        "n_wins": 293,
        "n_losses": 44,
        "wr": 0.8669,
        "pf": 3.9955,
        "avg_win": 3.0,
        "avg_loss": 5.0,
        "total_pnl": 659.0
      },
      "E": {
        "total_approaches": 465,
        "n_filled": 263,
        "fill_rate": 0.5656,
        "n_wins": 225,
        "n_losses": 38,
        "wr": 0.8555,
        "pf": 3.5526,
        "avg_win": 3.0,
        "avg_loss": 5.0,
        "total_pnl": 485.0
      }
    }
  },
  "by_strength": {
    "IS": {
      "WEAK": {
        "n": 43,
        "bounce_rate": 1.0,
        "fwd30_positive_rate": 0.5116,
        "avg_fwd30": 0.8081,
        "avg_penetration": 0.9826,
        "n_filled_A": 43,
        "wr_edge": 0.8605
      },
      "MODERATE": {
        "n": 77,
        "bounce_rate": 1.0,
        "fwd30_positive_rate": 0.5195,
        "avg_fwd30": 1.0325,
        "avg_penetration": 1.0065,
        "n_filled_A": 68,
        "wr_edge": 0.75
      },
      "STRONG": {
        "n": 132,
        "bounce_rate": 1.0,
        "fwd30_positive_rate": 0.447,
        "avg_fwd30": -0.0095,
        "avg_penetration": 1.0284,
        "n_filled_A": 89,
        "wr_edge": 0.7528
      },
      "MAJOR": {
        "n": 313,
        "bounce_rate": 1.0,
        "fwd30_positive_rate": 0.4345,
        "avg_fwd30": -0.0823,
        "avg_penetration": 1.119,
        "n_filled_A": 79,
        "wr_edge": 0.7848
      }
    },
    "OOS": {
      "WEAK": {
        "n": 37,
        "bounce_rate": 1.0,
        "fwd30_positive_rate": 0.5676,
        "avg_fwd30": 3.0203,
        "avg_penetration": 2.8243,
        "n_filled_A": 37,
        "wr_edge": 0.8919
      },
      "MODERATE": {
        "n": 55,
        "bounce_rate": 1.0,
        "fwd30_positive_rate": 0.5273,
        "avg_fwd30": 5.4545,
        "avg_penetration": 1.7818,
        "n_filled_A": 50,
        "wr_edge": 0.88
      },
      "STRONG": {
        "n": 81,
        "bounce_rate": 1.0,
        "fwd30_positive_rate": 0.4938,
        "avg_fwd30": 0.2315,
        "avg_penetration": 1.6636,
        "n_filled_A": 58,
        "wr_edge": 0.8793
      },
      "MAJOR": {
        "n": 292,
        "bounce_rate": 1.0,
        "fwd30_positive_rate": 0.4966,
        "avg_fwd30": 0.7526,
        "avg_penetration": 25.5861,
        "n_filled_A": 118,
        "wr_edge": 0.822
      }
    }
  },
  "by_texture": {
    "IS": {
      "ALTERNATING": {
        "n": 289,
        "avg_fwd30": -0.0865,
        "fill_rate_A": 0.3391,
        "wr_edge": 0.7857,
        "pnl_edge": 126.0
      },
      "BALANCED": {
        "n": 59,
        "avg_fwd30": 1.839,
        "fill_rate_A": 0.7627,
        "wr_edge": 0.8444,
        "pnl_edge": 79.0
      },
      "ONE_SIDED": {
        "n": 217,
        "avg_fwd30": 0.0173,
        "fill_rate_A": 0.6267,
        "wr_edge": 0.75,
        "pnl_edge": 141.0
      }
    },
    "OOS": {
      "ALTERNATING": {
        "n": 230,
        "avg_fwd30": -0.0435,
        "fill_rate_A": 0.413,
        "wr_edge": 0.8211,
        "pnl_edge": 149.0
      },
      "BALANCED": {
        "n": 58,
        "avg_fwd30": 1.6379,
        "fill_rate_A": 0.7414,
        "wr_edge": 0.8605,
        "pnl_edge": 81.0
      },
      "ONE_SIDED": {
        "n": 177,
        "avg_fwd30": 3.1935,
        "fill_rate_A": 0.7062,
        "wr_edge": 0.88,
        "pnl_edge": 255.0
      }
    }
  },
  "by_volume": {
    "IS": {
      "HIGH_VOL": {
        "n": 143,
        "vol_threshold": 534235.09,
        "wr_edge": 0.7857,
        "avg_fwd30": 1.4703
      },
      "MED_VOL": {
        "n": 282,
        "vol_threshold": 109364.1,
        "wr_edge": 0.728,
        "avg_fwd30": -0.8848
      },
      "LOW_VOL": {
        "n": 140,
        "vol_threshold": 109364.1,
        "wr_edge": 0.8254,
        "avg_fwd30": 0.9036
      }
    },
    "OOS": {
      "HIGH_VOL": {
        "n": 117,
        "vol_threshold": 515874.72,
        "wr_edge": 0.92,
        "avg_fwd30": 1.2201
      },
      "MED_VOL": {
        "n": 232,
        "vol_threshold": 81048.02,
        "wr_edge": 0.8092,
        "avg_fwd30": 0.18
      },
      "LOW_VOL": {
        "n": 116,
        "vol_threshold": 81048.02,
        "wr_edge": 0.8972,
        "avg_fwd30": 4.0151
      }
    }
  },
  "by_width": {
    "IS": {
      "NARROW_0-2": {
        "n": 114,
        "wr_edge": 0.8,
        "avg_fwd30": 0.5833,
        "avg_penetration": 1.0241
      },
      "MED_3-7": {
        "n": 154,
        "wr_edge": 0.7549,
        "avg_fwd30": 0.7175,
        "avg_penetration": 1.0162
      },
      "WIDE_8plus": {
        "n": 297,
        "wr_edge": 0.7778,
        "avg_fwd30": -0.3022,
        "avg_penetration": 1.1195
      }
    },
    "OOS": {
      "NARROW_0-2": {
        "n": 89,
        "wr_edge": 0.8824,
        "avg_fwd30": 3.0646,
        "avg_penetration": 2.0674
      },
      "MED_3-7": {
        "n": 95,
        "wr_edge": 0.8696,
        "avg_fwd30": 1.9026,
        "avg_penetration": 1.7868
      },
      "WIDE_8plus": {
        "n": 281,
        "wr_edge": 0.8257,
        "avg_fwd30": 0.7002,
        "avg_penetration": 26.529
      }
    }
  },
  "net_delta_direction": {
    "IS": {
      "NET_BUYING": {
        "n_total": 258,
        "n_from_above": 139,
        "n_from_below": 119,
        "avg_fwd30_long": 0.268,
        "avg_fwd30_short": -0.1933
      },
      "BALANCED": {
        "n_total": 65,
        "n_from_above": 28,
        "n_from_below": 37,
        "avg_fwd30_long": 0.0089,
        "avg_fwd30_short": 0.7838
      },
      "NET_SELLING": {
        "n_total": 242,
        "n_from_above": 119,
        "n_from_below": 123,
        "avg_fwd30_long": 0.042,
        "avg_fwd30_short": 0.315
      }
    },
    "OOS": {
      "NET_BUYING": {
        "n_total": 206,
        "n_from_above": 109,
        "n_from_below": 97,
        "avg_fwd30_long": 1.4197,
        "avg_fwd30_short": -3.0593
      },
      "BALANCED": {
        "n_total": 89,
        "n_from_above": 43,
        "n_from_below": 46,
        "avg_fwd30_long": 3.3372,
        "avg_fwd30_short": 5.962
      },
      "NET_SELLING": {
        "n_total": 170,
        "n_from_above": 84,
        "n_from_below": 86,
        "avg_fwd30_long": 2.9405,
        "avg_fwd30_short": 1.4826
      }
    }
  },
  "delta_gradient": {
    "IS": {
      "POS_GRADIENT": {
        "n": 313,
        "avg_fwd30": -0.1885,
        "wr_edge": 0.7589
      },
      "NEG_GRADIENT": {
        "n": 140,
        "avg_fwd30": 0.5518,
        "wr_edge": 0.7273
      },
      "FLAT_GRADIENT": {
        "n": 112,
        "avg_fwd30": 0.6161,
        "wr_edge": 0.8434
      }
    },
    "OOS": {
      "POS_GRADIENT": {
        "n": 206,
        "avg_fwd30": 1.0971,
        "wr_edge": 0.8214
      },
      "NEG_GRADIENT": {
        "n": 128,
        "avg_fwd30": 2.4023,
        "wr_edge": 0.8545
      },
      "FLAT_GRADIENT": {
        "n": 131,
        "avg_fwd30": 0.8912,
        "wr_edge": 0.8958
      }
    }
  },
  "combined_signals": {
    "IS": [
      {
        "filter": "buy_pct_aligned_long",
        "n_approaches": 10,
        "n_filled": 3,
        "fill_rate": 0.3,
        "wr": 1.0,
        "pf": "inf",
        "total_pnl": 9.0
      },
      {
        "filter": "STRONG+_BAL_delta",
        "n_approaches": 30,
        "n_filled": 14,
        "fill_rate": 0.4667,
        "wr": 0.9286,
        "pf": 7.8,
        "total_pnl": 34.0
      },
      {
        "filter": "NEG_GEX_STRONG",
        "n_approaches": 128,
        "n_filled": 59,
        "fill_rate": 0.4609,
        "wr": 0.8644,
        "pf": 3.825,
        "total_pnl": 113.0
      },
      {
        "filter": "MAJOR_ALT_POSGEX",
        "n_approaches": 232,
        "n_filled": 59,
        "fill_rate": 0.2543,
        "wr": 0.8136,
        "pf": 2.6182,
        "total_pnl": 89.0
      },
      {
        "filter": "narrow_zones",
        "n_approaches": 114,
        "n_filled": 105,
        "fill_rate": 0.9211,
        "wr": 0.8,
        "pf": 2.52,
        "total_pnl": 152.0
      },
      {
        "filter": "STRONG+_ALT",
        "n_approaches": 278,
        "n_filled": 88,
        "fill_rate": 0.3165,
        "wr": 0.7955,
        "pf": 2.3333,
        "total_pnl": 120.0
      },
      {
        "filter": "wide_zones",
        "n_approaches": 382,
        "n_filled": 120,
        "fill_rate": 0.3141,
        "wr": 0.7917,
        "pf": 2.28,
        "total_pnl": 160.0
      },
      {
        "filter": "ALT_texture",
        "n_approaches": 289,
        "n_filled": 98,
        "fill_rate": 0.3391,
        "wr": 0.7857,
        "pf": 2.2,
        "total_pnl": 126.0
      },
      {
        "filter": "MAJOR_only",
        "n_approaches": 313,
        "n_filled": 79,
        "fill_rate": 0.2524,
        "wr": 0.7848,
        "pf": 2.1882,
        "total_pnl": 101.0
      },
      {
        "filter": "all",
        "n_approaches": 565,
        "n_filled": 279,
        "fill_rate": 0.4938,
        "wr": 0.7778,
        "pf": 2.1344,
        "total_pnl": 346.0
      },
      {
        "filter": "STRONG+",
        "n_approaches": 445,
        "n_filled": 168,
        "fill_rate": 0.3775,
        "wr": 0.7679,
        "pf": 1.9846,
        "total_pnl": 192.0
      },
      {
        "filter": "POS_GEX_STRONG",
        "n_approaches": 316,
        "n_filled": 109,
        "fill_rate": 0.3449,
        "wr": 0.7156,
        "pf": 1.5097,
        "total_pnl": 79.0
      }
    ],
    "OOS": [
      {
        "filter": "buy_pct_aligned_short",
        "n_approaches": 15,
        "n_filled": 5,
        "fill_rate": 0.3333,
        "wr": 1.0,
        "pf": "inf",
        "total_pnl": 15.0
      },
      {
        "filter": "POS_GEX_STRONG",
        "n_approaches": 49,
        "n_filled": 18,
        "fill_rate": 0.3673,
        "wr": 0.9444,
        "pf": 10.2,
        "total_pnl": 46.0
      },
      {
        "filter": "STRONG+_BAL_delta",
        "n_approaches": 41,
        "n_filled": 23,
        "fill_rate": 0.561,
        "wr": 0.913,
        "pf": 6.3,
        "total_pnl": 53.0
      },
      {
        "filter": "narrow_zones",
        "n_approaches": 89,
        "n_filled": 85,
        "fill_rate": 0.9551,
        "wr": 0.8824,
        "pf": 4.5,
        "total_pnl": 175.0
      },
      {
        "filter": "NEG_GEX_STRONG",
        "n_approaches": 11,
        "n_filled": 7,
        "fill_rate": 0.6364,
        "wr": 0.8571,
        "pf": 3.6,
        "total_pnl": 13.0
      },
      {
        "filter": "all",
        "n_approaches": 465,
        "n_filled": 263,
        "fill_rate": 0.5656,
        "wr": 0.8555,
        "pf": 3.5526,
        "total_pnl": 485.0
      },
      {
        "filter": "STRONG+",
        "n_approaches": 373,
        "n_filled": 176,
        "fill_rate": 0.4718,
        "wr": 0.8409,
        "pf": 3.1714,
        "total_pnl": 304.0
      },
      {
        "filter": "wide_zones",
        "n_approaches": 337,
        "n_filled": 148,
        "fill_rate": 0.4392,
        "wr": 0.8243,
        "pf": 2.8154,
        "total_pnl": 236.0
      },
      {
        "filter": "MAJOR_only",
        "n_approaches": 292,
        "n_filled": 118,
        "fill_rate": 0.4041,
        "wr": 0.822,
        "pf": 2.7714,
        "total_pnl": 186.0
      },
      {
        "filter": "ALT_texture",
        "n_approaches": 230,
        "n_filled": 95,
        "fill_rate": 0.413,
        "wr": 0.8211,
        "pf": 2.7529,
        "total_pnl": 149.0
      },
      {
        "filter": "STRONG+_ALT",
        "n_approaches": 230,
        "n_filled": 95,
        "fill_rate": 0.413,
        "wr": 0.8211,
        "pf": 2.7529,
        "total_pnl": 149.0
      },
      {
        "filter": "MAJOR_ALT_POSGEX",
        "n_approaches": 212,
        "n_filled": 80,
        "fill_rate": 0.3774,
        "wr": 0.8,
        "pf": 2.4,
        "total_pnl": 112.0
      }
    ]
  }
}