{
  "schema_version": "1.0",
  "signal_id": "gap-up-above-20dma",
  "slug": "gap-up-above-20dma",
  "family": "gap",
  "registry_version": 1,
  "registered_on": "2026-09-05",
  "computed_at": "2026-09-05T09:40:52Z",
  "code_commit": "283c309",
  "data_as_of": "2026-08-06",
  "universe_as_of": "point-in-time",
  "sample_grade": "STRONG",
  "headline_horizon": 5,
  "title": "Gap up above 20dma",
  "plain_english": "The stock opened at least 2% above yesterday's close, on a day when it was already trading above its 20-day average price.",
  "definition": "open[t] / close[t-1] - 1 >= 0.02\nAND close[t-1] > sma(close, 20)[t-1]",
  "headline_parameters": {
    "gap_threshold": 0.02,
    "ma_length": 20
  },
  "sample": {
    "n_raw": 42683,
    "n_eff": 34315.7,
    "deff": 1.244,
    "rho": 0.0213,
    "m_bar": 12.46,
    "n_eff_raw_design": 16020.7,
    "rho_raw_design": 0.1452,
    "deff_raw_design": 2.664,
    "distinct_stocks": 2143,
    "distinct_dates": 3426,
    "date_range": [
      "2011-10-03",
      "2026-08-05"
    ],
    "censoring_rate": 0.01699,
    "max_quarter_share": 0.0557,
    "max_stock_share": 0.0028,
    "max_sector_share": null,
    "control_rung_distribution": {
      "0": 0.756,
      "1": 0.2111,
      "2": 0.0318,
      "3": 0.0011,
      "4": 0.0
    },
    "mean_controls_per_event": 19.49
  },
  "horizons": [
    {
      "days": 1,
      "n_eff": 33602.5,
      "hit_rate": 0.3726,
      "control_hit_rate": 0.4156,
      "lift": -0.043,
      "lift_ci95": [
        -0.0485,
        -0.0371
      ],
      "lift_ci_method": "cluster_bootstrap_date_block_B10000_BCa",
      "lift_p_value": 0.0001,
      "median_change": -0.00661,
      "control_median_change": -0.00389,
      "excess_median": -0.00272,
      "trimmed_mean_change": -0.00557,
      "spread": {
        "p10": -0.0447,
        "p25": -0.0248,
        "p75": 0.0106,
        "p90": 0.0349
      },
      "mfe": 0.0149,
      "mae": -0.0235,
      "break_even_hit_rate": 0.5556,
      "break_even_assumptions": {
        "bracket": 0.02,
        "round_trip_cost": 0.002225,
        "impact": 0.0
      },
      "benchmark_median_change": 0.0,
      "interval_includes_zero": false,
      "interval_check": {
        "bootstrap_half_width": 0.00569,
        "analytic_clustered_half_width": 0.00508,
        "wilson_on_n_eff_half_width": 0.00517,
        "ratio_bootstrap_to_analytic": 1.121,
        "ratio_bootstrap_to_wilson_on_rate": 1.101
      },
      "n_eff_raw_design": 20093.9
    },
    {
      "days": 3,
      "n_eff": 34565.3,
      "hit_rate": 0.4301,
      "control_hit_rate": 0.465,
      "lift": -0.0349,
      "lift_ci95": [
        -0.0414,
        -0.0283
      ],
      "lift_ci_method": "cluster_bootstrap_date_block_B10000_BCa",
      "lift_p_value": 0.0001,
      "median_change": -0.00797,
      "control_median_change": -0.00236,
      "excess_median": -0.0056,
      "trimmed_mean_change": -0.00263,
      "spread": {
        "p10": -0.0719,
        "p25": -0.0392,
        "p75": 0.0275,
        "p90": 0.0762
      },
      "mfe": 0.0303,
      "mae": -0.0382,
      "break_even_hit_rate": 0.5556,
      "break_even_assumptions": {
        "bracket": 0.02,
        "round_trip_cost": 0.002225,
        "impact": 0.0
      },
      "benchmark_median_change": -0.00138,
      "interval_includes_zero": false,
      "interval_check": {
        "bootstrap_half_width": 0.00657,
        "analytic_clustered_half_width": 0.00503,
        "wilson_on_n_eff_half_width": 0.00522,
        "ratio_bootstrap_to_analytic": 1.305,
        "ratio_bootstrap_to_wilson_on_rate": 1.258
      },
      "n_eff_raw_design": 17745.1
    },
    {
      "days": 5,
      "n_eff": 34315.7,
      "hit_rate": 0.4434,
      "control_hit_rate": 0.4801,
      "lift": -0.0366,
      "lift_ci95": [
        -0.044,
        -0.0296
      ],
      "lift_ci_method": "cluster_bootstrap_date_block_B10000_BCa",
      "lift_p_value": 0.0001,
      "median_change": -0.00855,
      "control_median_change": -0.00169,
      "excess_median": -0.00686,
      "trimmed_mean_change": -0.00078,
      "spread": {
        "p10": -0.0898,
        "p25": -0.0493,
        "p75": 0.0377,
        "p90": 0.0996
      },
      "mfe": 0.0412,
      "mae": -0.0481,
      "break_even_hit_rate": 0.5556,
      "break_even_assumptions": {
        "bracket": 0.02,
        "round_trip_cost": 0.002225,
        "impact": 0.0
      },
      "benchmark_median_change": -0.00337,
      "interval_includes_zero": false,
      "interval_check": {
        "bootstrap_half_width": 0.00716,
        "analytic_clustered_half_width": 0.005,
        "wilson_on_n_eff_half_width": 0.00526,
        "ratio_bootstrap_to_analytic": 1.433,
        "ratio_bootstrap_to_wilson_on_rate": 1.363
      },
      "n_eff_raw_design": 16020.7,
      "distribution": {
        "bin_lo": -0.15492,
        "bin_hi": 0.22553,
        "bin_width": 0.015218,
        "event_share": [
          0.00908,
          0.01271,
          0.02065,
          0.02961,
          0.04088,
          0.05622,
          0.07324,
          0.08785,
          0.10175,
          0.10494,
          0.09646,
          0.07962,
          0.06428,
          0.04638,
          0.04012,
          0.03197,
          0.02393,
          0.01841,
          0.01483,
          0.01217,
          0.00877,
          0.00782,
          0.00562,
          0.00497,
          0.00774
        ],
        "control_share": [
          0.00469,
          0.00793,
          0.01182,
          0.01954,
          0.02958,
          0.044,
          0.06414,
          0.08687,
          0.10947,
          0.12211,
          0.11359,
          0.09286,
          0.07413,
          0.05668,
          0.0431,
          0.03119,
          0.02351,
          0.01805,
          0.01319,
          0.00976,
          0.00735,
          0.00587,
          0.0044,
          0.00341,
          0.00272
        ]
      }
    },
    {
      "days": 10,
      "n_eff": 35161.3,
      "hit_rate": 0.4602,
      "control_hit_rate": 0.4944,
      "lift": -0.0342,
      "lift_ci95": [
        -0.0423,
        -0.0261
      ],
      "lift_ci_method": "cluster_bootstrap_date_block_B10000_BCa",
      "lift_p_value": 0.0001,
      "median_change": -0.00847,
      "control_median_change": 0.0007,
      "excess_median": -0.00917,
      "trimmed_mean_change": 0.00328,
      "spread": {
        "p10": -0.1176,
        "p25": -0.0635,
        "p75": 0.0573,
        "p90": 0.1383
      },
      "mfe": 0.0606,
      "mae": -0.0649,
      "break_even_hit_rate": 0.5556,
      "break_even_assumptions": {
        "bracket": 0.02,
        "round_trip_cost": 0.002225,
        "impact": 0.0
      },
      "benchmark_median_change": -0.00867,
      "interval_includes_zero": false,
      "interval_check": {
        "bootstrap_half_width": 0.00811,
        "analytic_clustered_half_width": 0.00494,
        "wilson_on_n_eff_half_width": 0.00521,
        "ratio_bootstrap_to_analytic": 1.641,
        "ratio_bootstrap_to_wilson_on_rate": 1.557
      },
      "n_eff_raw_design": 15810.0
    },
    {
      "days": 20,
      "n_eff": 34525.3,
      "hit_rate": 0.4885,
      "control_hit_rate": 0.5174,
      "lift": -0.0289,
      "lift_ci95": [
        -0.039,
        -0.0176
      ],
      "lift_ci_method": "cluster_bootstrap_date_block_B10000_BCa",
      "lift_p_value": 0.0001,
      "median_change": -0.0032,
      "control_median_change": 0.00646,
      "excess_median": -0.00966,
      "trimmed_mean_change": 0.01398,
      "spread": {
        "p10": -0.1508,
        "p25": -0.0797,
        "p75": 0.0883,
        "p90": 0.2022
      },
      "mfe": 0.0914,
      "mae": -0.0866,
      "break_even_hit_rate": 0.5556,
      "break_even_assumptions": {
        "bracket": 0.02,
        "round_trip_cost": 0.002225,
        "impact": 0.0
      },
      "benchmark_median_change": -0.02209,
      "interval_includes_zero": false,
      "interval_check": {
        "bootstrap_half_width": 0.01073,
        "analytic_clustered_half_width": 0.00497,
        "wilson_on_n_eff_half_width": 0.00527,
        "ratio_bootstrap_to_analytic": 2.159,
        "ratio_bootstrap_to_wilson_on_rate": 2.035
      },
      "n_eff_raw_design": 15500.0
    }
  ],
  "gates": [
    {
      "id": "n_eff",
      "label": "Effective sample size",
      "threshold": ">= 100",
      "observed": "34316",
      "passed": true
    },
    {
      "id": "distinct_dates",
      "label": "Distinct event dates",
      "threshold": ">= 60",
      "observed": "3426",
      "passed": true
    },
    {
      "id": "distinct_stocks",
      "label": "Distinct securities",
      "threshold": ">= 25",
      "observed": "2143",
      "passed": true
    },
    {
      "id": "calendar_span",
      "label": "Calendar span",
      "threshold": ">= 5 years",
      "observed": "14.8 years",
      "passed": true
    },
    {
      "id": "quarter_share",
      "label": "Largest share in one quarter",
      "threshold": "<= 20.0%",
      "observed": "5.6%",
      "passed": true
    },
    {
      "id": "stock_share",
      "label": "Largest share from one security",
      "threshold": "<= 5.0%",
      "observed": "0.3%",
      "passed": true
    },
    {
      "id": "censoring",
      "label": "Censoring rate",
      "threshold": "<= 2.0%",
      "observed": "1.7%",
      "passed": true
    },
    {
      "id": "control_match",
      "label": "Events on relaxation rung 3-4",
      "threshold": "<= 20.0%",
      "observed": "0.1%",
      "passed": true
    }
  ],
  "multiple_testing": {
    "variants_in_grid": 25,
    "tests_on_site": 1125,
    "bh_fdr_q": 0.1,
    "passes_fdr": true,
    "adjusted_p": 0.00018,
    "raw_p": 0.0001
  },
  "years": [
    {
      "year": 2011,
      "n_eff": 220.8,
      "lift": -0.0527
    },
    {
      "year": 2012,
      "n_eff": 1109.5,
      "lift": -0.0559
    },
    {
      "year": 2013,
      "n_eff": 826.9,
      "lift": -0.0707
    },
    {
      "year": 2014,
      "n_eff": 1517.6,
      "lift": -0.0289
    },
    {
      "year": 2015,
      "n_eff": 1186.8,
      "lift": -0.0459
    },
    {
      "year": 2016,
      "n_eff": 1310.4,
      "lift": -0.05
    },
    {
      "year": 2017,
      "n_eff": 1846.4,
      "lift": -0.0448
    },
    {
      "year": 2018,
      "n_eff": 1391.8,
      "lift": -0.0537
    },
    {
      "year": 2019,
      "n_eff": 1034.4,
      "lift": -0.0216
    },
    {
      "year": 2020,
      "n_eff": 3603.5,
      "lift": -0.0533
    },
    {
      "year": 2021,
      "n_eff": 3930.0,
      "lift": -0.0302
    },
    {
      "year": 2022,
      "n_eff": 2777.0,
      "lift": -0.0362
    },
    {
      "year": 2023,
      "n_eff": 2809.3,
      "lift": -0.0436
    },
    {
      "year": 2024,
      "n_eff": 4149.9,
      "lift": -0.0223
    },
    {
      "year": 2025,
      "n_eff": 2373.8,
      "lift": -0.0238
    },
    {
      "year": 2026,
      "n_eff": 2311.0,
      "lift": -0.023
    }
  ],
  "regimes": [
    {
      "trend": "above",
      "vol_tercile": 1,
      "n_eff": 114.5,
      "lift": -0.0227
    },
    {
      "trend": "above",
      "vol_tercile": 2,
      "n_eff": 270.9,
      "lift": -0.0329
    },
    {
      "trend": "above",
      "vol_tercile": 3,
      "n_eff": 1006.9,
      "lift": -0.0608
    },
    {
      "trend": "below",
      "vol_tercile": 1,
      "n_eff": 7041.6,
      "lift": -0.0397
    },
    {
      "trend": "below",
      "vol_tercile": 2,
      "n_eff": 10913.7,
      "lift": -0.0302
    },
    {
      "trend": "below",
      "vol_tercile": 3,
      "n_eff": 14166.0,
      "lift": -0.0385
    }
  ],
  "robustness": {
    "split_half_same_sign": true,
    "split_half": {
      "first": -0.047,
      "second": -0.0263
    },
    "years_positive": 16,
    "years_total": 16,
    "non_overlapping_lift": -0.0344,
    "sector_matched_lift": null,
    "cost_adjusted_lift": -0.0339,
    "censoring_worst_case_lift": -0.043,
    "parameter_grid_median_lift": -0.0366,
    "knife_edge": false,
    "parameter_grid": {
      "axis_a": "gap_threshold",
      "axis_b": "ma_length",
      "cells": [
        {
          "a": 0.016,
          "b": 16,
          "lift": -0.0334,
          "n_eff": 65146.0
        },
        {
          "a": 0.016,
          "b": 18,
          "lift": -0.0328,
          "n_eff": 65680.0
        },
        {
          "a": 0.016,
          "b": 20,
          "lift": -0.0321,
          "n_eff": 66351.0
        },
        {
          "a": 0.016,
          "b": 22,
          "lift": -0.0319,
          "n_eff": 66857.0
        },
        {
          "a": 0.016,
          "b": 24,
          "lift": -0.0309,
          "n_eff": 67412.0
        },
        {
          "a": 0.018,
          "b": 16,
          "lift": -0.0361,
          "n_eff": 52166.0
        },
        {
          "a": 0.018,
          "b": 18,
          "lift": -0.0356,
          "n_eff": 52539.0
        },
        {
          "a": 0.018,
          "b": 20,
          "lift": -0.0348,
          "n_eff": 53046.0
        },
        {
          "a": 0.018,
          "b": 22,
          "lift": -0.0344,
          "n_eff": 53405.0
        },
        {
          "a": 0.018,
          "b": 24,
          "lift": -0.0338,
          "n_eff": 53821.0
        },
        {
          "a": 0.02,
          "b": 16,
          "lift": -0.0373,
          "n_eff": 42075.0
        },
        {
          "a": 0.02,
          "b": 18,
          "lift": -0.0371,
          "n_eff": 42333.0
        },
        {
          "a": 0.02,
          "b": 20,
          "lift": -0.0366,
          "n_eff": 42683.0
        },
        {
          "a": 0.02,
          "b": 22,
          "lift": -0.0363,
          "n_eff": 42985.0
        },
        {
          "a": 0.02,
          "b": 24,
          "lift": -0.0357,
          "n_eff": 43307.0
        },
        {
          "a": 0.022,
          "b": 16,
          "lift": -0.0412,
          "n_eff": 34834.0
        },
        {
          "a": 0.022,
          "b": 18,
          "lift": -0.0411,
          "n_eff": 35053.0
        },
        {
          "a": 0.022,
          "b": 20,
          "lift": -0.0402,
          "n_eff": 35302.0
        },
        {
          "a": 0.022,
          "b": 22,
          "lift": -0.0402,
          "n_eff": 35491.0
        },
        {
          "a": 0.022,
          "b": 24,
          "lift": -0.0398,
          "n_eff": 35726.0
        },
        {
          "a": 0.024,
          "b": 16,
          "lift": -0.0444,
          "n_eff": 29582.0
        },
        {
          "a": 0.024,
          "b": 18,
          "lift": -0.0439,
          "n_eff": 29765.0
        },
        {
          "a": 0.024,
          "b": 20,
          "lift": -0.0427,
          "n_eff": 29944.0
        },
        {
          "a": 0.024,
          "b": 22,
          "lift": -0.0432,
          "n_eff": 30093.0
        },
        {
          "a": 0.024,
          "b": 24,
          "lift": -0.0425,
          "n_eff": 30286.0
        }
      ]
    },
    "entry_delayed_lift": -0.028,
    "placebo_lift": 0.0072
  },
  "control_seed": 42,
  "control_stats": {
    "events": 42823,
    "events_with_controls": 42823,
    "unmatched": 0,
    "mean_controls_per_event": 19.51
  },
  "cost_assumption_source": {
    "generated_at": "2026-09-05T04:19:20Z",
    "cash_equity_rate_version": "2026-09-05"
  },
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "method_url": "https://learnnifty.com/base-rates/methodology/",
  "disclaimer": "Historical frequencies only. Not investment advice, a recommendation or a price target. LearnNifty is not registered with SEBI as an Investment Adviser or Research Analyst."
}