{
 "coverage": {
  "nifty_days": 3174,
  "nifty_first": "2014-01-01",
  "nifty_last": "2026-10-30",
  "fii_days": 3156,
  "fii_first": "2014-01-01",
  "fii_last": "2026-10-30",
  "analysed_pairs": 3154,
  "first_T": "2014-01-01",
  "last_T": "2026-10-29",
  "nifty_days_without_fii": 19,
  "fii_days_without_nifty": 1
 },
 "tests": {
  "FII buy vs sell": {
   "n_a": 1315,
   "n_b": 1838,
   "p_up_a": 69.0,
   "p_up_b": 65.1,
   "diff_pp": 3.9,
   "z_test_p": 0.0211,
   "perm_p_prob": 0.0225,
   "mean_gap_a_pct": 0.12,
   "mean_gap_b_pct": 0.102,
   "diff_mean_gap_pct": 0.018,
   "perm_p_mean": 0.402,
   "welch_t_p": 0.392
  },
  "FII>+2000 vs FII<-2000": {
   "n_a": 213,
   "n_b": 500,
   "p_up_a": 70.9,
   "p_up_b": 58.0,
   "diff_pp": 12.9,
   "z_test_p": 0.00118,
   "perm_p_prob": 0.0015,
   "mean_gap_a_pct": 0.158,
   "mean_gap_b_pct": 0.002,
   "diff_mean_gap_pct": 0.157,
   "perm_p_mean": 0.0244,
   "welch_t_p": 0.00336
  },
  "FII>+5000 vs rest": {
   "n_a": 47,
   "n_b": 3107,
   "p_up_a": 80.9,
   "p_up_b": 66.6,
   "diff_pp": 14.3,
   "z_test_p": 0.039,
   "perm_p_prob": 0.0445,
   "mean_gap_a_pct": 0.292,
   "mean_gap_b_pct": 0.107,
   "diff_mean_gap_pct": 0.186,
   "perm_p_mean": 0.0446,
   "welch_t_p": 0.00555
  },
  "DII buy vs sell": {
   "n_a": 2127,
   "n_b": 1026,
   "p_up_a": 65.6,
   "p_up_b": 69.2,
   "diff_pp": -3.6,
   "z_test_p": 0.0435,
   "perm_p_prob": 0.0459,
   "mean_gap_a_pct": 0.093,
   "mean_gap_b_pct": 0.144,
   "diff_mean_gap_pct": -0.051,
   "perm_p_mean": 0.0292,
   "welch_t_p": 0.0183
  },
  "Combined>0 vs <0": {
   "n_a": 1869,
   "n_b": 1285,
   "p_up_a": 67.4,
   "p_up_b": 65.9,
   "diff_pp": 1.4,
   "z_test_p": 0.396,
   "perm_p_prob": 0.403,
   "mean_gap_a_pct": 0.108,
   "mean_gap_b_pct": 0.112,
   "diff_mean_gap_pct": -0.004,
   "perm_p_mean": 0.856,
   "welch_t_p": 0.863
  },
  "FII5>0 vs <0": {
   "n_a": 1240,
   "n_b": 1843,
   "p_up_a": 69.4,
   "p_up_b": 64.8,
   "diff_pp": 4.6,
   "z_test_p": 0.00794,
   "perm_p_prob": 0.0097,
   "mean_gap_a_pct": 0.131,
   "mean_gap_b_pct": 0.093,
   "diff_mean_gap_pct": 0.037,
   "perm_p_mean": 0.104,
   "welch_t_p": 0.0774
  }
 },
 "corr": {
  "spearman_fii_vs_retT": 0.334,
  "spearman_fii_vs_gap": 0.018,
  "spearman_retT_vs_gap": 0.085,
  "spearman_spx_vs_gap": 0.506,
  "p_retT_up_given_fii_buy": 68.5,
  "p_retT_up_given_fii_sell": 43.2
 },
 "ols": {
  "gap_bps ~ fii_z": {
   "n": 3034,
   "r2": 0.003,
   "coef": {
    "const": 11.447,
    "fii_z": 2.9
   },
   "t": {
    "const": 11.03,
    "fii_z": 1.85
   },
   "p": {
    "const": 2.77e-28,
    "fii_z": 0.0645
   }
  },
  "gap_bps ~ fii_z + retT": {
   "n": 3034,
   "r2": 0.003,
   "coef": {
    "const": 11.478,
    "fii_z": 2.991,
    "retT_pct": -0.361
   },
   "t": {
    "const": 10.61,
    "fii_z": 1.66,
    "retT_pct": -0.11
   },
   "p": {
    "const": 2.58e-26,
    "fii_z": 0.0976,
    "retT_pct": 0.914
   }
  },
  "gap_bps ~ fii_z + retT + spx": {
   "n": 3034,
   "r2": 0.2573,
   "coef": {
    "const": 10.403,
    "fii_z": 3.401,
    "retT_pct": -8.609,
    "spx_pct": 30.117
   },
   "t": {
    "const": 11.79,
    "fii_z": 1.85,
    "retT_pct": -2.63,
    "spx_pct": 13.35
   },
   "p": {
    "const": 4.23e-32,
    "fii_z": 0.0638,
    "retT_pct": 0.00852,
    "spx_pct": 1.19e-40
   }
  },
  "gap_bps ~ fii_z + dii_z + retT + spx": {
   "n": 3034,
   "r2": 0.2573,
   "coef": {
    "const": 10.499,
    "fii_z": 3.271,
    "dii_z": -0.218,
    "retT_pct": -8.594,
    "spx_pct": 30.115
   },
   "t": {
    "const": 10.69,
    "fii_z": 1.91,
    "dii_z": -0.17,
    "retT_pct": -2.63,
    "spx_pct": 13.33
   },
   "p": {
    "const": 1.12e-26,
    "fii_z": 0.0559,
    "dii_z": 0.866,
    "retT_pct": 0.00848,
    "spx_pct": 1.53e-40
   }
  },
  "gap_bps ~ fii_k(1000cr) + retT + spx": {
   "n": 3153,
   "r2": 0.257,
   "coef": {
    "const": 10.596,
    "fii_k": 1.629,
    "retT_pct": -8.319,
    "spx_pct": 30.117
   },
   "t": {
    "const": 12.08,
    "fii_k": 2.19,
    "retT_pct": -2.62,
    "spx_pct": 13.5
   },
   "p": {
    "const": 1.36e-33,
    "fii_k": 0.0285,
    "retT_pct": 0.00881,
    "spx_pct": 1.54e-41
   }
  },
  "gap_bps ~ fii_buy + retT + spx": {
   "n": 3153,
   "r2": 0.2539,
   "coef": {
    "const": 8.509,
    "fii_buy": 3.162,
    "retT_pct": -7.526,
    "spx_pct": 30.078
   },
   "t": {
    "const": 5.23,
    "fii_buy": 1.22,
    "retT_pct": -2.44,
    "spx_pct": 13.32
   },
   "p": {
    "const": 1.65e-07,
    "fii_buy": 0.221,
    "retT_pct": 0.0147,
    "spx_pct": 1.73e-40
   }
  }
 },
 "logit": {
  "up ~ fii_buy": {
   "n": 3154,
   "pseudo_r2": 0.0013,
   "coef": {
    "const": 0.6254,
    "fii_buy": 0.1771
   },
   "p": {
    "const": 2.14e-37,
    "fii_buy": 0.0217
   },
   "ame_pp": {
    "fii_buy": 3.92
   },
   "ame_p": {
    "fii_buy": 0.0214
   }
  },
  "up ~ fii_buy + retT": {
   "n": 3153,
   "pseudo_r2": 0.0031,
   "coef": {
    "const": 0.645,
    "fii_buy": 0.1248,
    "retT_pct": 0.1031
   },
   "p": {
    "const": 1.42e-38,
    "fii_buy": 0.119,
    "retT_pct": 0.00874
   },
   "ame_pp": {
    "fii_buy": 2.76,
    "retT_pct": 2.28
   },
   "ame_p": {
    "fii_buy": 0.118,
    "retT_pct": 0.00849
   }
  },
  "up ~ fii_buy + retT + spx": {
   "n": 3153,
   "pseudo_r2": 0.1446,
   "coef": {
    "const": 0.7049,
    "fii_buy": 0.1663,
    "retT_pct": -0.1371,
    "spx_pct": 1.1684
   },
   "p": {
    "const": 4.12e-37,
    "fii_buy": 0.0575,
    "retT_pct": 0.00415,
    "spx_pct": 2.82e-85
   },
   "ame_pp": {
    "fii_buy": 3.05,
    "retT_pct": -2.51,
    "spx_pct": 21.4
   },
   "ame_p": {
    "fii_buy": 0.057,
    "retT_pct": 0.00399,
    "spx_pct": 1.05e-141
   }
  },
  "up ~ fii_z + retT + spx": {
   "n": 3034,
   "pseudo_r2": 0.1429,
   "coef": {
    "const": 0.7806,
    "fii_z": 0.0886,
    "retT_pct": -0.1552,
    "spx_pct": 1.1442
   },
   "p": {
    "const": 1.27e-71,
    "fii_z": 0.0343,
    "retT_pct": 0.00153,
    "spx_pct": 2.83e-81
   },
   "ame_pp": {
    "fii_z": 1.63,
    "retT_pct": -2.85,
    "spx_pct": 21.05
   },
   "ame_p": {
    "fii_z": 0.0338,
    "retT_pct": 0.00144,
    "spx_pct": 3.83e-134
   }
  },
  "up ~ fii_z + retT": {
   "n": 3034,
   "pseudo_r2": 0.0035,
   "coef": {
    "const": 0.7065,
    "fii_z": 0.0834,
    "retT_pct": 0.0811
   },
   "p": {
    "const": 1.07e-71,
    "fii_z": 0.0249,
    "retT_pct": 0.0443
   },
   "ame_pp": {
    "fii_z": 1.85,
    "retT_pct": 1.79
   },
   "ame_p": {
    "fii_z": 0.0245,
    "retT_pct": 0.0438
   }
  }
 },
 "stratified_weighted_diff_pp": 2.0,
 "train_test": {
  "train \u22642023": {
   "n": 2453,
   "first": "2014-01-01",
   "last": "2023-12-29",
   "base_p_up": 69.1,
   "p_up_buy": 70.0,
   "p_up_sell": 68.5,
   "diff_pp": 1.5,
   "rule_accuracy_pct": 48.5,
   "always_up_accuracy_pct": 69.1,
   "fii_z_coef_bps_raw": 3.167,
   "fii_z_t_raw": 1.6,
   "fii_z_coef_bps_ctrl": 3.553,
   "fii_z_t_ctrl": 1.59,
   "mean_gap_buy_pct": 0.133,
   "mean_gap_sell_pct": 0.123
  },
  "test 2024\u20132026": {
   "n": 701,
   "first": "2024-01-01",
   "last": "2026-10-29",
   "base_p_up": 58.5,
   "p_up_buy": 64.8,
   "p_up_sell": 55.4,
   "diff_pp": 9.4,
   "rule_accuracy_pct": 51.2,
   "always_up_accuracy_pct": 58.5,
   "fii_z_coef_bps_raw": 0.228,
   "fii_z_t_raw": 0.12,
   "fii_z_coef_bps_ctrl": -0.807,
   "fii_z_t_ctrl": -0.52,
   "mean_gap_buy_pct": 0.061,
   "mean_gap_sell_pct": 0.041
  },
  "oos_logit_accuracy_test": {
   "fii_z only": 58.5,
   "retT+spx (no FII)": 64.3,
   "fii_z+retT+spx": 64.3,
   "always majority": 58.5
  }
 },
 "robust_1m": {
  "n": 1178,
  "sign_agreement_pct": 94.65,
  "p_up_buy_nse": 67.6,
  "p_up_buy_1m": 67.1,
  "p_up_sell_nse": 57.6,
  "p_up_sell_1m": 55.9
 },
 "zero_gap_share_pct": 0.03,
 "current": {
  "date": "2026-10-30",
  "fii": 3598.54,
  "dii": -817.51,
  "fii5": 6304.67,
  "retT_pct": 0.507,
  "fii_z": 1.01,
  "fii_pct_rank": 97.1,
  "fii5_pct_rank": 90.6,
  "last5": [
   {
    "date": "2026-10-26",
    "fii_net": -1462.49,
    "dii_net": 2609.57
   },
   {
    "date": "2026-10-27",
    "fii_net": 4240.39,
    "dii_net": -1250.03
   },
   {
    "date": "2026-10-28",
    "fii_net": 871.83,
    "dii_net": 643.35
   },
   {
    "date": "2026-10-29",
    "fii_net": -943.6,
    "dii_net": 1924.41
   },
   {
    "date": "2026-10-30",
    "fii_net": 3598.54,
    "dii_net": -817.51
   }
  ],
  "close": 23053.1
 },
 "current_analogs": {
  "FII > +2,000 (like 30 Oct)": {
   "group": "FII > +2,000 (like 30 Oct)",
   "n": 213,
   "p_gap_up": 70.9,
   "mean_gap_pct": 0.158,
   "median_gap_pct": 0.182,
   "mean_gap_pts": 23.4,
   "median_gap_pts": 31.3,
   "p_gap_gt_025": 42.3,
   "p_gap_lt_m025": 14.1,
   "mean_intra_pct": 0.023,
   "p_next_close_gt_open": 53.1
  },
  "FII > +2,000 & 5d sum > +5,000": {
   "group": "FII > +2,000 & 5d sum > +5,000",
   "n": 126,
   "p_gap_up": 78.6,
   "mean_gap_pct": 0.213,
   "median_gap_pct": 0.214,
   "mean_gap_pts": 31.7,
   "median_gap_pts": 37.2,
   "p_gap_gt_025": 45.2,
   "p_gap_lt_m025": 11.1,
   "mean_intra_pct": 0.019,
   "p_next_close_gt_open": 53.2
  },
  "FII > +2,000 & DII < 0": {
   "group": "FII > +2,000 & DII < 0",
   "n": 144,
   "p_gap_up": 70.1,
   "mean_gap_pct": 0.168,
   "median_gap_pct": 0.188,
   "mean_gap_pts": 23.5,
   "median_gap_pts": 32.4,
   "p_gap_gt_025": 43.8,
   "p_gap_lt_m025": 13.9,
   "mean_intra_pct": 0.022,
   "p_next_close_gt_open": 54.2
  },
  "FII > +2,000, Friday/pre-holiday": {
   "group": "FII > +2,000, Friday/pre-holiday",
   "n": 45,
   "p_gap_up": 75.6,
   "mean_gap_pct": 0.207,
   "median_gap_pct": 0.246,
   "mean_gap_pts": 35.1,
   "median_gap_pts": 47.0,
   "p_gap_gt_025": 48.9,
   "p_gap_lt_m025": 8.9,
   "mean_intra_pct": 0.099,
   "p_next_close_gt_open": 60.0
  },
  "FII buy & same-sign T return as 30 Oct": {
   "group": "FII buy & same-sign T return as 30 Oct",
   "n": 901,
   "p_gap_up": 72.8,
   "mean_gap_pct": 0.162,
   "median_gap_pct": 0.176,
   "mean_gap_pts": 22.1,
   "median_gap_pts": 21.0,
   "p_gap_gt_025": 40.5,
   "p_gap_lt_m025": 10.2,
   "mean_intra_pct": -0.041,
   "p_next_close_gt_open": 47.6
  },
  "FII z within \u00b10.5 of 30 Oct": {
   "group": "FII z within \u00b10.5 of 30 Oct",
   "n": 417,
   "p_gap_up": 68.8,
   "mean_gap_pct": 0.134,
   "median_gap_pct": 0.151,
   "mean_gap_pts": 19.1,
   "median_gap_pts": 18.3,
   "p_gap_gt_025": 35.0,
   "p_gap_lt_m025": 11.8,
   "mean_intra_pct": -0.007,
   "p_next_close_gt_open": 52.0
  }
 },
 "current_logit_p_up_no_us": 69.7,
 "last30": {
  "n": 30,
  "p_up_buy": 14.3,
  "n_buy": 7,
  "p_up_sell": 56.5,
  "n_sell": 23
 },
 "cond_table": [
  {
   "group": "ALL days (baseline)",
   "n": 3154,
   "p_gap_up": 66.8,
   "mean_gap_pct": 0.11,
   "median_gap_pct": 0.141,
   "mean_gap_pts": 14.0,
   "median_gap_pts": 17.4,
   "p_gap_gt_025": 37.2,
   "p_gap_lt_m025": 15.7,
   "mean_intra_pct": -0.067,
   "p_next_close_gt_open": 46.5,
   "binom_p_vs_base": 1.0
  },
  {
   "group": "FII net buy (>0)",
   "n": 1315,
   "p_gap_up": 69.0,
   "mean_gap_pct": 0.12,
   "median_gap_pct": 0.14,
   "mean_gap_pts": 16.0,
   "median_gap_pts": 16.9,
   "p_gap_gt_025": 36.0,
   "p_gap_lt_m025": 12.4,
   "mean_intra_pct": -0.032,
   "p_next_close_gt_open": 49.0,
   "binom_p_vs_base": 0.0841
  },
  {
   "group": "FII net sell (<0)",
   "n": 1838,
   "p_gap_up": 65.1,
   "mean_gap_pct": 0.102,
   "median_gap_pct": 0.141,
   "mean_gap_pts": 12.6,
   "median_gap_pts": 17.7,
   "p_gap_gt_025": 38.1,
   "p_gap_lt_m025": 18.1,
   "mean_intra_pct": -0.092,
   "p_next_close_gt_open": 44.7,
   "binom_p_vs_base": 0.1374
  },
  {
   "group": "FII > +2,000 cr",
   "n": 213,
   "p_gap_up": 70.9,
   "mean_gap_pct": 0.158,
   "median_gap_pct": 0.182,
   "mean_gap_pts": 23.4,
   "median_gap_pts": 31.3,
   "p_gap_gt_025": 42.3,
   "p_gap_lt_m025": 14.1,
   "mean_intra_pct": 0.023,
   "p_next_close_gt_open": 53.1,
   "binom_p_vs_base": 0.2165
  },
  {
   "group": "FII > +5,000 cr",
   "n": 47,
   "p_gap_up": 80.9,
   "mean_gap_pct": 0.292,
   "median_gap_pct": 0.298,
   "mean_gap_pts": 46.4,
   "median_gap_pts": 45.8,
   "p_gap_gt_025": 53.2,
   "p_gap_lt_m025": 8.5,
   "mean_intra_pct": -0.123,
   "p_next_close_gt_open": 48.9,
   "binom_p_vs_base": 0.0437
  },
  {
   "group": "FII < -2,000 cr",
   "n": 500,
   "p_gap_up": 58.0,
   "mean_gap_pct": 0.002,
   "median_gap_pct": 0.094,
   "mean_gap_pts": 1.0,
   "median_gap_pts": 19.8,
   "p_gap_gt_025": 37.6,
   "p_gap_lt_m025": 25.8,
   "mean_intra_pct": -0.059,
   "p_next_close_gt_open": 48.2,
   "binom_p_vs_base": 0.0
  },
  {
   "group": "FII < -5,000 cr",
   "n": 115,
   "p_gap_up": 57.4,
   "mean_gap_pct": 0.009,
   "median_gap_pct": 0.118,
   "mean_gap_pts": 7.1,
   "median_gap_pts": 29.3,
   "p_gap_gt_025": 43.5,
   "p_gap_lt_m025": 27.0,
   "mean_intra_pct": 0.123,
   "p_next_close_gt_open": 56.5,
   "binom_p_vs_base": 0.0374
  },
  {
   "group": "DII net buy",
   "n": 2127,
   "p_gap_up": 65.6,
   "mean_gap_pct": 0.093,
   "median_gap_pct": 0.137,
   "mean_gap_pts": 13.0,
   "median_gap_pts": 18.0,
   "p_gap_gt_025": 36.9,
   "p_gap_lt_m025": 17.3,
   "mean_intra_pct": -0.054,
   "p_next_close_gt_open": 46.4,
   "binom_p_vs_base": 0.2498
  },
  {
   "group": "DII net sell",
   "n": 1026,
   "p_gap_up": 69.2,
   "mean_gap_pct": 0.144,
   "median_gap_pct": 0.145,
   "mean_gap_pts": 16.1,
   "median_gap_pts": 16.9,
   "p_gap_gt_025": 37.8,
   "p_gap_lt_m025": 12.4,
   "mean_intra_pct": -0.093,
   "p_next_close_gt_open": 46.7,
   "binom_p_vs_base": 0.1044
  },
  {
   "group": "FII+DII combined > 0",
   "n": 1869,
   "p_gap_up": 67.4,
   "mean_gap_pct": 0.108,
   "median_gap_pct": 0.137,
   "mean_gap_pts": 14.8,
   "median_gap_pts": 17.1,
   "p_gap_gt_025": 35.6,
   "p_gap_lt_m025": 14.5,
   "mean_intra_pct": -0.029,
   "p_next_close_gt_open": 48.1,
   "binom_p_vs_base": 0.6061
  },
  {
   "group": "FII+DII combined < 0",
   "n": 1285,
   "p_gap_up": 65.9,
   "mean_gap_pct": 0.112,
   "median_gap_pct": 0.145,
   "mean_gap_pts": 12.9,
   "median_gap_pts": 17.6,
   "p_gap_gt_025": 39.5,
   "p_gap_lt_m025": 17.5,
   "mean_intra_pct": -0.121,
   "p_next_close_gt_open": 44.1,
   "binom_p_vs_base": 0.5148
  },
  {
   "group": "FII buy & DII buy",
   "n": 516,
   "p_gap_up": 67.8,
   "mean_gap_pct": 0.087,
   "median_gap_pct": 0.13,
   "mean_gap_pts": 13.9,
   "median_gap_pts": 16.9,
   "p_gap_gt_025": 33.5,
   "p_gap_lt_m025": 13.4,
   "mean_intra_pct": -0.004,
   "p_next_close_gt_open": 49.2,
   "binom_p_vs_base": 0.6404
  },
  {
   "group": "FII buy & DII sell",
   "n": 798,
   "p_gap_up": 69.8,
   "mean_gap_pct": 0.141,
   "median_gap_pct": 0.146,
   "mean_gap_pts": 17.3,
   "median_gap_pts": 16.9,
   "p_gap_gt_025": 37.5,
   "p_gap_lt_m025": 11.8,
   "mean_intra_pct": -0.049,
   "p_next_close_gt_open": 48.9,
   "binom_p_vs_base": 0.0713
  },
  {
   "group": "FII 5-day sum > 0",
   "n": 1240,
   "p_gap_up": 69.4,
   "mean_gap_pct": 0.131,
   "median_gap_pct": 0.149,
   "mean_gap_pts": 16.6,
   "median_gap_pts": 18.0,
   "p_gap_gt_025": 37.1,
   "p_gap_lt_m025": 12.5,
   "mean_intra_pct": -0.072,
   "p_next_close_gt_open": 46.4,
   "binom_p_vs_base": 0.0467
  },
  {
   "group": "FII 5-day sum < 0",
   "n": 1843,
   "p_gap_up": 64.8,
   "mean_gap_pct": 0.093,
   "median_gap_pct": 0.131,
   "mean_gap_pts": 12.2,
   "median_gap_pts": 17.2,
   "p_gap_gt_025": 37.2,
   "p_gap_lt_m025": 18.0,
   "mean_intra_pct": -0.066,
   "p_next_close_gt_open": 46.4,
   "binom_p_vs_base": 0.0792
  },
  {
   "group": "FII 5-day sum > +5,000",
   "n": 391,
   "p_gap_up": 71.6,
   "mean_gap_pct": 0.182,
   "median_gap_pct": 0.182,
   "mean_gap_pts": 24.2,
   "median_gap_pts": 27.2,
   "p_gap_gt_025": 40.9,
   "p_gap_lt_m025": 12.5,
   "mean_intra_pct": -0.067,
   "p_next_close_gt_open": 47.1,
   "binom_p_vs_base": 0.0468
  },
  {
   "group": "FII 5-day sum < -5,000",
   "n": 802,
   "p_gap_up": 62.3,
   "mean_gap_pct": 0.072,
   "median_gap_pct": 0.122,
   "mean_gap_pts": 11.3,
   "median_gap_pts": 23.2,
   "p_gap_gt_025": 37.7,
   "p_gap_lt_m025": 21.2,
   "mean_intra_pct": -0.038,
   "p_next_close_gt_open": 49.5,
   "binom_p_vs_base": 0.0087
  },
  {
   "group": "FII buy & 5d sum > 0",
   "n": 893,
   "p_gap_up": 70.1,
   "mean_gap_pct": 0.13,
   "median_gap_pct": 0.146,
   "mean_gap_pts": 17.1,
   "median_gap_pts": 17.0,
   "p_gap_gt_025": 36.8,
   "p_gap_lt_m025": 11.8,
   "mean_intra_pct": -0.046,
   "p_next_close_gt_open": 48.6,
   "binom_p_vs_base": 0.036
  },
  {
   "group": "FII buy & Nifty up on T",
   "n": 901,
   "p_gap_up": 72.8,
   "mean_gap_pct": 0.162,
   "median_gap_pct": 0.176,
   "mean_gap_pts": 22.1,
   "median_gap_pts": 21.0,
   "p_gap_gt_025": 40.5,
   "p_gap_lt_m025": 10.2,
   "mean_intra_pct": -0.041,
   "p_next_close_gt_open": 47.6,
   "binom_p_vs_base": 0.0001
  },
  {
   "group": "FII buy & Nifty down on T",
   "n": 412,
   "p_gap_up": 60.9,
   "mean_gap_pct": 0.029,
   "median_gap_pct": 0.069,
   "mean_gap_pts": 2.6,
   "median_gap_pts": 7.8,
   "p_gap_gt_025": 26.2,
   "p_gap_lt_m025": 17.2,
   "mean_intra_pct": -0.01,
   "p_next_close_gt_open": 51.9,
   "binom_p_vs_base": 0.0139
  },
  {
   "group": "FII sell & Nifty up on T",
   "n": 794,
   "p_gap_up": 68.9,
   "mean_gap_pct": 0.136,
   "median_gap_pct": 0.165,
   "mean_gap_pts": 20.2,
   "median_gap_pts": 22.1,
   "p_gap_gt_025": 40.7,
   "p_gap_lt_m025": 14.7,
   "mean_intra_pct": -0.08,
   "p_next_close_gt_open": 44.6,
   "binom_p_vs_base": 0.2138
  },
  {
   "group": "FII sell & Nifty down on T",
   "n": 1041,
   "p_gap_up": 62.2,
   "mean_gap_pct": 0.076,
   "median_gap_pct": 0.116,
   "mean_gap_pts": 6.8,
   "median_gap_pts": 14.8,
   "p_gap_gt_025": 36.1,
   "p_gap_lt_m025": 20.7,
   "mean_intra_pct": -0.101,
   "p_next_close_gt_open": 44.7,
   "binom_p_vs_base": 0.0022
  },
  {
   "group": "Nifty up on T (any FII)",
   "n": 1695,
   "p_gap_up": 71.0,
   "mean_gap_pct": 0.15,
   "median_gap_pct": 0.17,
   "mean_gap_pts": 21.2,
   "median_gap_pts": 21.5,
   "p_gap_gt_025": 40.6,
   "p_gap_lt_m025": 12.3,
   "mean_intra_pct": -0.059,
   "p_next_close_gt_open": 46.2,
   "binom_p_vs_base": 0.0002
  },
  {
   "group": "Nifty down on T (any FII)",
   "n": 1454,
   "p_gap_up": 61.9,
   "mean_gap_pct": 0.063,
   "median_gap_pct": 0.104,
   "mean_gap_pts": 5.6,
   "median_gap_pts": 11.7,
   "p_gap_gt_025": 33.4,
   "p_gap_lt_m025": 19.7,
   "mean_intra_pct": -0.075,
   "p_next_close_gt_open": 46.8,
   "binom_p_vs_base": 0.0001
  },
  {
   "group": "FII buy, T = Friday/pre-holiday (gap spans \u22653 days)",
   "n": 289,
   "p_gap_up": 71.6,
   "mean_gap_pct": 0.15,
   "median_gap_pct": 0.195,
   "mean_gap_pts": 22.6,
   "median_gap_pts": 21.8,
   "p_gap_gt_025": 42.9,
   "p_gap_lt_m025": 12.8,
   "mean_intra_pct": -0.042,
   "p_next_close_gt_open": 50.9,
   "binom_p_vs_base": 0.0807
  },
  {
   "group": "FII sell, T = Friday/pre-holiday",
   "n": 370,
   "p_gap_up": 63.5,
   "mean_gap_pct": 0.026,
   "median_gap_pct": 0.129,
   "mean_gap_pts": 0.3,
   "median_gap_pts": 15.8,
   "p_gap_gt_025": 38.9,
   "p_gap_lt_m025": 22.2,
   "mean_intra_pct": -0.112,
   "p_next_close_gt_open": 47.6,
   "binom_p_vs_base": 0.1856
  }
 ],
 "quintiles": [
  {
   "group": "FII net quintile (all years): Q1 (biggest sell)",
   "n": 631,
   "p_gap_up": 60.9,
   "mean_gap_pct": 0.069,
   "median_gap_pct": 0.125,
   "mean_gap_pts": 11.2,
   "median_gap_pts": 25.1,
   "p_gap_gt_025": 38.8,
   "p_gap_lt_m025": 22.8,
   "mean_intra_pct": -0.056,
   "p_next_close_gt_open": 48.3,
   "fii_range": "-21106 .. -1614"
  },
  {
   "group": "FII net quintile (all years): Q2",
   "n": 631,
   "p_gap_up": 67.5,
   "mean_gap_pct": 0.127,
   "median_gap_pct": 0.144,
   "mean_gap_pts": 14.6,
   "median_gap_pts": 19.1,
   "p_gap_gt_025": 39.0,
   "p_gap_lt_m025": 16.0,
   "mean_intra_pct": -0.107,
   "p_next_close_gt_open": 44.5,
   "fii_range": "-1605 .. -557"
  },
  {
   "group": "FII net quintile (all years): Q3",
   "n": 630,
   "p_gap_up": 66.8,
   "mean_gap_pct": 0.116,
   "median_gap_pct": 0.145,
   "mean_gap_pts": 12.6,
   "median_gap_pts": 15.6,
   "p_gap_gt_025": 36.3,
   "p_gap_lt_m025": 14.8,
   "mean_intra_pct": -0.113,
   "p_next_close_gt_open": 40.8,
   "fii_range": "-557 .. 51"
  },
  {
   "group": "FII net quintile (all years): Q4",
   "n": 631,
   "p_gap_up": 70.7,
   "mean_gap_pct": 0.093,
   "median_gap_pct": 0.137,
   "mean_gap_pts": 11.3,
   "median_gap_pts": 14.4,
   "p_gap_gt_025": 33.8,
   "p_gap_lt_m025": 12.7,
   "mean_intra_pct": -0.059,
   "p_next_close_gt_open": 46.6,
   "fii_range": "53 .. 738"
  },
  {
   "group": "FII net quintile (all years): Q5 (biggest buy)",
   "n": 631,
   "p_gap_up": 68.0,
   "mean_gap_pct": 0.143,
   "median_gap_pct": 0.148,
   "mean_gap_pts": 20.2,
   "median_gap_pts": 21.0,
   "p_gap_gt_025": 38.2,
   "p_gap_lt_m025": 12.4,
   "mean_intra_pct": -0.0,
   "p_next_close_gt_open": 52.1,
   "fii_range": "739 .. 28739"
  },
  {
   "group": "FII net quintile within year: 1",
   "n": 636,
   "p_gap_up": 66.4,
   "mean_gap_pct": 0.119,
   "median_gap_pct": 0.169,
   "mean_gap_pts": 13.8,
   "median_gap_pts": 21.5,
   "p_gap_gt_025": 42.9,
   "p_gap_lt_m025": 20.0,
   "mean_intra_pct": -0.084,
   "p_next_close_gt_open": 45.9,
   "fii_range": "-21106 .. -286"
  },
  {
   "group": "FII net quintile within year: 2",
   "n": 628,
   "p_gap_up": 66.6,
   "mean_gap_pct": 0.098,
   "median_gap_pct": 0.145,
   "mean_gap_pts": 10.3,
   "median_gap_pts": 17.3,
   "p_gap_gt_025": 38.1,
   "p_gap_lt_m025": 16.9,
   "mean_intra_pct": -0.096,
   "p_next_close_gt_open": 45.1,
   "fii_range": "-4673 .. 80"
  },
  {
   "group": "FII net quintile within year: 3",
   "n": 629,
   "p_gap_up": 65.7,
   "mean_gap_pct": 0.099,
   "median_gap_pct": 0.131,
   "mean_gap_pts": 15.2,
   "median_gap_pts": 16.3,
   "p_gap_gt_025": 35.6,
   "p_gap_lt_m025": 15.4,
   "mean_intra_pct": -0.087,
   "p_next_close_gt_open": 42.8,
   "fii_range": "-2346 .. 416"
  },
  {
   "group": "FII net quintile within year: 4",
   "n": 628,
   "p_gap_up": 66.1,
   "mean_gap_pct": 0.084,
   "median_gap_pct": 0.123,
   "mean_gap_pts": 11.3,
   "median_gap_pts": 14.4,
   "p_gap_gt_025": 31.5,
   "p_gap_lt_m025": 14.6,
   "mean_intra_pct": -0.047,
   "p_next_close_gt_open": 48.9,
   "fii_range": "-819 .. 1585"
  },
  {
   "group": "FII net quintile within year: 5",
   "n": 633,
   "p_gap_up": 69.2,
   "mean_gap_pct": 0.148,
   "median_gap_pct": 0.152,
   "mean_gap_pts": 19.4,
   "median_gap_pts": 20.6,
   "p_gap_gt_025": 37.9,
   "p_gap_lt_m025": 11.7,
   "mean_intra_pct": -0.021,
   "p_next_close_gt_open": 49.8,
   "fii_range": "344 .. 28739"
  },
  {
   "group": "FII 5-day sum quintile: 1.0",
   "n": 617,
   "p_gap_up": 60.6,
   "mean_gap_pct": 0.05,
   "median_gap_pct": 0.113,
   "mean_gap_pts": 9.1,
   "median_gap_pts": 21.0,
   "p_gap_gt_025": 37.6,
   "p_gap_lt_m025": 22.5,
   "mean_intra_pct": -0.043,
   "p_next_close_gt_open": 48.1,
   "fii_range": "-48805 .. -6914"
  },
  {
   "group": "FII 5-day sum quintile: 2.0",
   "n": 616,
   "p_gap_up": 66.9,
   "mean_gap_pct": 0.143,
   "median_gap_pct": 0.164,
   "mean_gap_pts": 17.1,
   "median_gap_pts": 22.0,
   "p_gap_gt_025": 39.9,
   "p_gap_lt_m025": 15.3,
   "mean_intra_pct": -0.063,
   "p_next_close_gt_open": 49.5,
   "fii_range": "-6900 .. -2667"
  },
  {
   "group": "FII 5-day sum quintile: 3.0",
   "n": 617,
   "p_gap_up": 66.9,
   "mean_gap_pct": 0.082,
   "median_gap_pct": 0.119,
   "mean_gap_pts": 10.1,
   "median_gap_pts": 13.0,
   "p_gap_gt_025": 33.9,
   "p_gap_lt_m025": 16.2,
   "mean_intra_pct": -0.09,
   "p_next_close_gt_open": 41.7,
   "fii_range": "-2666 .. 20"
  },
  {
   "group": "FII 5-day sum quintile: 4.0",
   "n": 616,
   "p_gap_up": 68.2,
   "mean_gap_pct": 0.109,
   "median_gap_pct": 0.145,
   "mean_gap_pts": 12.5,
   "median_gap_pts": 14.9,
   "p_gap_gt_025": 36.5,
   "p_gap_lt_m025": 13.0,
   "mean_intra_pct": -0.058,
   "p_next_close_gt_open": 46.8,
   "fii_range": "22 .. 2923"
  },
  {
   "group": "FII 5-day sum quintile: 5.0",
   "n": 617,
   "p_gap_up": 70.8,
   "mean_gap_pct": 0.158,
   "median_gap_pct": 0.16,
   "mean_gap_pts": 21.2,
   "median_gap_pts": 21.5,
   "p_gap_gt_025": 37.8,
   "p_gap_lt_m025": 11.8,
   "mean_intra_pct": -0.089,
   "p_next_close_gt_open": 45.9,
   "fii_range": "2939 .. 29249"
  },
  {
   "group": "DII net quintile: 1",
   "n": 631,
   "p_gap_up": 68.6,
   "mean_gap_pct": 0.154,
   "median_gap_pct": 0.166,
   "mean_gap_pts": 17.5,
   "median_gap_pts": 19.0,
   "p_gap_gt_025": 40.6,
   "p_gap_lt_m025": 12.4,
   "mean_intra_pct": -0.104,
   "p_next_close_gt_open": 46.9,
   "fii_range": "DII -6908 .. -330"
  },
  {
   "group": "DII net quintile: 2",
   "n": 631,
   "p_gap_up": 69.9,
   "mean_gap_pct": 0.126,
   "median_gap_pct": 0.141,
   "mean_gap_pts": 14.3,
   "median_gap_pts": 14.0,
   "p_gap_gt_025": 34.2,
   "p_gap_lt_m025": 13.0,
   "mean_intra_pct": -0.089,
   "p_next_close_gt_open": 44.4,
   "fii_range": "DII -329 .. 169"
  },
  {
   "group": "DII net quintile: 3",
   "n": 630,
   "p_gap_up": 65.7,
   "mean_gap_pct": 0.066,
   "median_gap_pct": 0.137,
   "mean_gap_pts": 7.1,
   "median_gap_pts": 14.5,
   "p_gap_gt_025": 35.9,
   "p_gap_lt_m025": 16.8,
   "mean_intra_pct": -0.047,
   "p_next_close_gt_open": 46.0,
   "fii_range": "DII 169 .. 692"
  },
  {
   "group": "DII net quintile: 4",
   "n": 631,
   "p_gap_up": 68.8,
   "mean_gap_pct": 0.157,
   "median_gap_pct": 0.153,
   "mean_gap_pts": 18.9,
   "median_gap_pts": 21.6,
   "p_gap_gt_025": 40.1,
   "p_gap_lt_m025": 14.9,
   "mean_intra_pct": -0.044,
   "p_next_close_gt_open": 47.9,
   "fii_range": "DII 692 .. 1870"
  },
  {
   "group": "DII net quintile: 5",
   "n": 631,
   "p_gap_up": 60.9,
   "mean_gap_pct": 0.045,
   "median_gap_pct": 0.114,
   "mean_gap_pts": 12.1,
   "median_gap_pts": 23.4,
   "p_gap_gt_025": 35.3,
   "p_gap_lt_m025": 21.6,
   "mean_intra_pct": -0.05,
   "p_next_close_gt_open": 47.2,
   "fii_range": "DII 1871 .. 16764"
  }
 ],
 "by_year": [
  {
   "year": 2014,
   "n": 239,
   "base_p_up": 67.8,
   "n_buy": 159,
   "p_up_buy": 69.8,
   "n_sell": 80,
   "p_up_sell": 63.7,
   "diff_pp": 6.1,
   "mean_gap_buy_pct": 0.121,
   "mean_gap_sell_pct": 0.082,
   "fisher_p": 0.38,
   "spearman_fii_gap": 0.034
  },
  {
   "year": 2015,
   "n": 244,
   "base_p_up": 66.8,
   "n_buy": 108,
   "p_up_buy": 65.7,
   "n_sell": 136,
   "p_up_sell": 67.6,
   "diff_pp": -1.9,
   "mean_gap_buy_pct": 0.073,
   "mean_gap_sell_pct": 0.166,
   "fisher_p": 0.785,
   "spearman_fii_gap": -0.076
  },
  {
   "year": 2016,
   "n": 243,
   "base_p_up": 68.3,
   "n_buy": 116,
   "p_up_buy": 69.0,
   "n_sell": 126,
   "p_up_sell": 67.5,
   "diff_pp": 1.5,
   "mean_gap_buy_pct": 0.074,
   "mean_gap_sell_pct": 0.129,
   "fisher_p": 0.89,
   "spearman_fii_gap": -0.073
  },
  {
   "year": 2017,
   "n": 246,
   "base_p_up": 74.8,
   "n_buy": 88,
   "p_up_buy": 72.7,
   "n_sell": 158,
   "p_up_sell": 75.9,
   "diff_pp": -3.2,
   "mean_gap_buy_pct": 0.143,
   "mean_gap_sell_pct": 0.174,
   "fisher_p": 0.646,
   "spearman_fii_gap": -0.119
  },
  {
   "year": 2018,
   "n": 243,
   "base_p_up": 70.8,
   "n_buy": 83,
   "p_up_buy": 65.1,
   "n_sell": 160,
   "p_up_sell": 73.8,
   "diff_pp": -8.7,
   "mean_gap_buy_pct": 0.056,
   "mean_gap_sell_pct": 0.106,
   "fisher_p": 0.181,
   "spearman_fii_gap": -0.117
  },
  {
   "year": 2019,
   "n": 245,
   "base_p_up": 71.0,
   "n_buy": 114,
   "p_up_buy": 74.6,
   "n_sell": 131,
   "p_up_sell": 67.9,
   "diff_pp": 6.6,
   "mean_gap_buy_pct": 0.155,
   "mean_gap_sell_pct": 0.143,
   "fisher_p": 0.263,
   "spearman_fii_gap": 0.042
  },
  {
   "year": 2020,
   "n": 251,
   "base_p_up": 70.9,
   "n_buy": 134,
   "p_up_buy": 71.6,
   "n_sell": 117,
   "p_up_sell": 70.1,
   "diff_pp": 1.6,
   "mean_gap_buy_pct": 0.222,
   "mean_gap_sell_pct": 0.151,
   "fisher_p": 0.889,
   "spearman_fii_gap": -0.021
  },
  {
   "year": 2021,
   "n": 248,
   "base_p_up": 72.2,
   "n_buy": 98,
   "p_up_buy": 70.4,
   "n_sell": 150,
   "p_up_sell": 73.3,
   "diff_pp": -2.9,
   "mean_gap_buy_pct": 0.153,
   "mean_gap_sell_pct": 0.209,
   "fisher_p": 0.665,
   "spearman_fii_gap": -0.085
  },
  {
   "year": 2022,
   "n": 248,
   "base_p_up": 60.5,
   "n_buy": 78,
   "p_up_buy": 71.8,
   "n_sell": 170,
   "p_up_sell": 55.3,
   "diff_pp": 16.5,
   "mean_gap_buy_pct": 0.158,
   "mean_gap_sell_pct": -0.027,
   "fisher_p": 0.0172,
   "spearman_fii_gap": 0.082
  },
  {
   "year": 2023,
   "n": 246,
   "base_p_up": 68.3,
   "n_buy": 107,
   "p_up_buy": 68.2,
   "n_sell": 139,
   "p_up_sell": 68.3,
   "diff_pp": -0.1,
   "mean_gap_buy_pct": 0.149,
   "mean_gap_sell_pct": 0.11,
   "fisher_p": 1.0,
   "spearman_fii_gap": 0.048
  },
  {
   "year": 2024,
   "n": 248,
   "base_p_up": 65.7,
   "n_buy": 92,
   "p_up_buy": 75.0,
   "n_sell": 156,
   "p_up_sell": 60.3,
   "diff_pp": 14.7,
   "mean_gap_buy_pct": 0.143,
   "mean_gap_sell_pct": 0.073,
   "fisher_p": 0.0191,
   "spearman_fii_gap": 0.099
  },
  {
   "year": 2025,
   "n": 249,
   "base_p_up": 59.4,
   "n_buy": 79,
   "p_up_buy": 63.3,
   "n_sell": 170,
   "p_up_sell": 57.6,
   "diff_pp": 5.6,
   "mean_gap_buy_pct": 0.045,
   "mean_gap_sell_pct": 0.034,
   "fisher_p": 0.41,
   "spearman_fii_gap": -0.025
  },
  {
   "year": 2026,
   "n": 204,
   "base_p_up": 48.5,
   "n_buy": 59,
   "p_up_buy": 50.8,
   "n_sell": 145,
   "p_up_sell": 47.6,
   "diff_pp": 3.3,
   "mean_gap_buy_pct": -0.046,
   "mean_gap_sell_pct": 0.015,
   "fisher_p": 0.758,
   "spearman_fii_gap": -0.029
  }
 ],
 "stratified": [
  {
   "retT_quintile": 1,
   "retT_range": "-12.98% .. -0.56%",
   "n_buy": 124,
   "n_sell": 507,
   "p_up_buy": 66.1,
   "p_up_sell": 61.3,
   "diff_pp": 4.8,
   "mean_gap_buy_pct": 0.083,
   "mean_gap_sell_pct": 0.09
  },
  {
   "retT_quintile": 2,
   "retT_range": "-0.56% .. -0.11%",
   "n_buy": 214,
   "n_sell": 415,
   "p_up_buy": 59.8,
   "p_up_sell": 63.1,
   "diff_pp": -3.3,
   "mean_gap_buy_pct": 0.024,
   "mean_gap_sell_pct": 0.073
  },
  {
   "retT_quintile": 3,
   "retT_range": "-0.11% .. 0.25%",
   "n_buy": 282,
   "n_sell": 349,
   "p_up_buy": 68.8,
   "p_up_sell": 65.3,
   "diff_pp": 3.5,
   "mean_gap_buy_pct": 0.113,
   "mean_gap_sell_pct": 0.067
  },
  {
   "retT_quintile": 4,
   "retT_range": "0.25% .. 0.71%",
   "n_buy": 330,
   "n_sell": 300,
   "p_up_buy": 71.8,
   "p_up_sell": 71.3,
   "diff_pp": 0.5,
   "mean_gap_buy_pct": 0.127,
   "mean_gap_sell_pct": 0.174
  },
  {
   "retT_quintile": 5,
   "retT_range": "0.71% .. 8.76%",
   "n_buy": 364,
   "n_sell": 267,
   "p_up_buy": 73.4,
   "p_up_sell": 68.2,
   "diff_pp": 5.2,
   "mean_gap_buy_pct": 0.188,
   "mean_gap_sell_pct": 0.136
  }
 ],
 "hold_fade": [
  {
   "group": "All gap-ups",
   "n": 2106,
   "mean_gap_pct": 0.373,
   "mean_intraday_pct": -0.069,
   "median_intraday_pct": -0.051,
   "mean_intraday_pts": -9.2,
   "p_close_above_open": 46.5,
   "p_gap_fully_filled": 66.1,
   "p_close_beyond_prev_close_same_dir": 65.8,
   "mean_open_to_high_pct": 0.433,
   "mean_open_to_low_pct": -0.617,
   "mean_next_cc_pct": 0.304
  },
  {
   "group": "Gap-up after FII buy",
   "n": 908,
   "mean_gap_pct": 0.328,
   "mean_intraday_pct": -0.048,
   "median_intraday_pct": -0.02,
   "mean_intraday_pts": -7.1,
   "p_close_above_open": 47.8,
   "p_gap_fully_filled": 66.5,
   "p_close_beyond_prev_close_same_dir": 68.5,
   "mean_open_to_high_pct": 0.401,
   "mean_open_to_low_pct": -0.554,
   "mean_next_cc_pct": 0.28
  },
  {
   "group": "Gap-up after FII sell",
   "n": 1197,
   "mean_gap_pct": 0.406,
   "mean_intraday_pct": -0.084,
   "median_intraday_pct": -0.074,
   "mean_intraday_pts": -10.9,
   "p_close_above_open": 45.5,
   "p_gap_fully_filled": 65.9,
   "p_close_beyond_prev_close_same_dir": 63.7,
   "mean_open_to_high_pct": 0.458,
   "mean_open_to_low_pct": -0.665,
   "mean_next_cc_pct": 0.322
  },
  {
   "group": "Gap-up after FII > +2,000",
   "n": 151,
   "mean_gap_pct": 0.362,
   "mean_intraday_pct": 0.01,
   "median_intraday_pct": 0.011,
   "mean_intraday_pts": -4.4,
   "p_close_above_open": 51.7,
   "p_gap_fully_filled": 58.3,
   "p_close_beyond_prev_close_same_dir": 76.8,
   "mean_open_to_high_pct": 0.401,
   "mean_open_to_low_pct": -0.544,
   "mean_next_cc_pct": 0.372
  },
  {
   "group": "Gap-up \u22650.25% after FII buy",
   "n": 473,
   "mean_gap_pct": 0.515,
   "mean_intraday_pct": 0.001,
   "median_intraday_pct": 0.011,
   "mean_intraday_pts": -1.0,
   "p_close_above_open": 51.8,
   "p_gap_fully_filled": 49.5,
   "p_close_beyond_prev_close_same_dir": 82.0,
   "mean_open_to_high_pct": 0.439,
   "mean_open_to_low_pct": -0.557,
   "mean_next_cc_pct": 0.516
  },
  {
   "group": "All gap-downs",
   "n": 1047,
   "mean_gap_pct": -0.419,
   "mean_intraday_pct": -0.063,
   "median_intraday_pct": -0.052,
   "mean_intraday_pts": -8.6,
   "p_close_above_open": 46.4,
   "p_gap_fully_filled": 62.7,
   "p_close_beyond_prev_close_same_dir": 70.4,
   "mean_open_to_high_pct": 0.542,
   "mean_open_to_low_pct": -0.629,
   "mean_next_cc_pct": -0.483
  },
  {
   "group": "Gap-down after FII buy",
   "n": 406,
   "mean_gap_pct": -0.345,
   "mean_intraday_pct": 0.006,
   "median_intraday_pct": 0.047,
   "mean_intraday_pts": -0.5,
   "p_close_above_open": 51.7,
   "p_gap_fully_filled": 68.5,
   "p_close_beyond_prev_close_same_dir": 63.8,
   "mean_open_to_high_pct": 0.548,
   "mean_open_to_low_pct": -0.555,
   "mean_next_cc_pct": -0.34
  },
  {
   "group": "Gap-down after FII sell",
   "n": 641,
   "mean_gap_pct": -0.466,
   "mean_intraday_pct": -0.107,
   "median_intraday_pct": -0.09,
   "mean_intraday_pts": -13.8,
   "p_close_above_open": 43.1,
   "p_gap_fully_filled": 59.0,
   "p_close_beyond_prev_close_same_dir": 74.6,
   "mean_open_to_high_pct": 0.538,
   "mean_open_to_low_pct": -0.676,
   "mean_next_cc_pct": -0.573
  },
  {
   "group": "Any day after FII buy",
   "n": 1315,
   "mean_gap_pct": 0.12,
   "mean_intraday_pct": -0.032,
   "median_intraday_pct": -0.012,
   "mean_intraday_pts": -5.0,
   "p_close_above_open": 49.0,
   "p_gap_fully_filled": 67.1,
   "p_close_beyond_prev_close_same_dir": 67.1,
   "mean_open_to_high_pct": 0.446,
   "mean_open_to_low_pct": -0.554,
   "mean_next_cc_pct": 0.088
  },
  {
   "group": "Any day after FII sell",
   "n": 1838,
   "mean_gap_pct": 0.102,
   "mean_intraday_pct": -0.092,
   "median_intraday_pct": -0.078,
   "mean_intraday_pts": -11.9,
   "p_close_above_open": 44.7,
   "p_gap_fully_filled": 63.5,
   "p_close_beyond_prev_close_same_dir": 67.5,
   "mean_open_to_high_pct": 0.486,
   "mean_open_to_low_pct": -0.669,
   "mean_next_cc_pct": 0.01
  }
 ],
 "recent_analogs": {
  "2024\u201326 all": {
   "n": 701,
   "p_gap_up": 58.5,
   "mean_gap_pct": 0.048,
   "median_gap_pts": 15.1
  },
  "2024\u201326 FII buy": {
   "n": 230,
   "p_gap_up": 64.8,
   "mean_gap_pct": 0.061,
   "median_gap_pts": 25.9
  },
  "2024\u201326 FII sell": {
   "n": 471,
   "p_gap_up": 55.4,
   "mean_gap_pct": 0.041,
   "median_gap_pts": 10.5
  },
  "2024\u201326 FII > +2,000": {
   "n": 76,
   "p_gap_up": 69.7,
   "mean_gap_pct": 0.05,
   "median_gap_pts": 29.6
  },
  "2024\u201326 FII > +2,000 & 5d > +5,000": {
   "n": 38,
   "p_gap_up": 78.9,
   "mean_gap_pct": 0.067,
   "median_gap_pts": 31.8
  },
  "2026 only all": {
   "n": 204,
   "p_gap_up": 48.5,
   "mean_gap_pct": -0.003,
   "median_gap_pts": -3.4
  },
  "2026 FII > +2,000": {
   "n": 14,
   "p_gap_up": 57.1,
   "mean_gap_pct": 0.003,
   "median_gap_pts": 19.2
  }
 },
 "fii_x_us": [
  {
   "group": "FII buy & S&P up overnight",
   "n": 701,
   "p_gap_up": 83.7,
   "mean_gap_pct": 0.257,
   "median_gap_pct": 0.242,
   "mean_gap_pts": 35.8,
   "median_gap_pts": 27.5,
   "p_gap_gt_025": 49.1,
   "p_gap_lt_m025": 5.1,
   "mean_intra_pct": -0.001,
   "p_next_close_gt_open": 50.2
  },
  {
   "group": "FII buy & S&P down overnight",
   "n": 573,
   "p_gap_up": 51.1,
   "mean_gap_pct": -0.047,
   "median_gap_pct": 0.004,
   "mean_gap_pts": -8.1,
   "median_gap_pts": 0.8,
   "p_gap_gt_025": 19.9,
   "p_gap_lt_m025": 21.5,
   "mean_intra_pct": -0.074,
   "p_next_close_gt_open": 48.0
  },
  {
   "group": "FII sell & S&P up overnight",
   "n": 942,
   "p_gap_up": 82.9,
   "mean_gap_pct": 0.326,
   "median_gap_pct": 0.28,
   "mean_gap_pts": 46.0,
   "median_gap_pts": 36.0,
   "p_gap_gt_025": 54.7,
   "p_gap_lt_m025": 6.2,
   "mean_intra_pct": -0.117,
   "p_next_close_gt_open": 43.8
  },
  {
   "group": "FII sell & S&P down overnight",
   "n": 837,
   "p_gap_up": 45.0,
   "mean_gap_pct": -0.144,
   "median_gap_pct": -0.043,
   "mean_gap_pts": -24.1,
   "median_gap_pts": -5.0,
   "p_gap_gt_025": 20.8,
   "p_gap_lt_m025": 32.0,
   "mean_intra_pct": -0.07,
   "p_next_close_gt_open": 45.3
  },
  {
   "group": "FII > +2,000 & S&P up overnight",
   "n": 117,
   "p_gap_up": 84.6,
   "mean_gap_pct": 0.272,
   "median_gap_pct": 0.256,
   "mean_gap_pts": 43.7,
   "median_gap_pts": 46.4,
   "p_gap_gt_025": 50.4,
   "p_gap_lt_m025": 7.7,
   "mean_intra_pct": 0.002,
   "p_next_close_gt_open": 50.4
  },
  {
   "group": "FII > +2,000 & S&P down overnight",
   "n": 90,
   "p_gap_up": 52.2,
   "mean_gap_pct": 0.011,
   "median_gap_pct": 0.01,
   "mean_gap_pts": -3.1,
   "median_gap_pts": 1.4,
   "p_gap_gt_025": 31.1,
   "p_gap_lt_m025": 22.2,
   "mean_intra_pct": 0.056,
   "p_next_close_gt_open": 58.9
  }
 ],
 "monday_scenarios": [
  {
   "group": "FII buy, S&P up \u2265 +0.5%",
   "n": 344,
   "p_gap_up": 92.2,
   "mean_gap_pct": 0.375,
   "median_gap_pct": 0.317,
   "mean_gap_pts": 52.7,
   "median_gap_pts": 40.0,
   "p_gap_gt_025": 63.1,
   "p_gap_lt_m025": 3.5,
   "mean_intra_pct": 0.002,
   "p_next_close_gt_open": 49.7
  },
  {
   "group": "FII buy, S&P \u22120.5%..+0.5%",
   "n": 733,
   "p_gap_up": 70.8,
   "mean_gap_pct": 0.112,
   "median_gap_pct": 0.119,
   "mean_gap_pts": 14.4,
   "median_gap_pts": 13.3,
   "p_gap_gt_025": 30.7,
   "p_gap_lt_m025": 7.8,
   "mean_intra_pct": -0.029,
   "p_next_close_gt_open": 48.8
  },
  {
   "group": "FII buy, S&P \u2264 \u22121%",
   "n": 104,
   "p_gap_up": 13.5,
   "mean_gap_pct": -0.476,
   "median_gap_pct": -0.342,
   "mean_gap_pts": -66.6,
   "median_gap_pts": -49.6,
   "p_gap_gt_025": 6.7,
   "p_gap_lt_m025": 59.6,
   "mean_intra_pct": 0.01,
   "p_next_close_gt_open": 55.8
  },
  {
   "group": "FII sell, S&P \u2264 \u22121%",
   "n": 226,
   "p_gap_up": 27.9,
   "mean_gap_pct": -0.543,
   "median_gap_pct": -0.397,
   "mean_gap_pts": -80.4,
   "median_gap_pts": -54.2,
   "p_gap_gt_025": 15.0,
   "p_gap_lt_m025": 58.8,
   "mean_intra_pct": -0.088,
   "p_next_close_gt_open": 46.0
  },
  {
   "group": "Any FII, S&P \u2264 \u22121%",
   "n": 330,
   "p_gap_up": 23.3,
   "mean_gap_pct": -0.522,
   "median_gap_pct": -0.382,
   "mean_gap_pts": -76.1,
   "median_gap_pts": -52.9,
   "p_gap_gt_025": 12.4,
   "p_gap_lt_m025": 59.1,
   "mean_intra_pct": -0.057,
   "p_next_close_gt_open": 49.1
  },
  {
   "group": "FII > +2,000, S&P \u2264 \u22121%",
   "n": 11,
   "p_gap_up": 0.0,
   "mean_gap_pct": -0.615,
   "median_gap_pct": -0.32,
   "mean_gap_pts": -112.6,
   "median_gap_pts": -79.5,
   "p_gap_gt_025": 0.0,
   "p_gap_lt_m025": 63.6,
   "mean_intra_pct": 0.378,
   "p_next_close_gt_open": 63.6
  },
  {
   "group": "FII buy, S&P \u2264 \u22121%, weekend/holiday gap",
   "n": 25,
   "p_gap_up": 20.0,
   "mean_gap_pct": -0.596,
   "median_gap_pct": -0.425,
   "mean_gap_pts": -72.8,
   "median_gap_pts": -46.6,
   "p_gap_gt_025": 16.0,
   "p_gap_lt_m025": 56.0,
   "mean_intra_pct": -0.442,
   "p_next_close_gt_open": 40.0
  }
 ]
}