Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

స్టాక్ gapలు ఎప్పుడూ fill అవుతాయా? డేటా

స్టాక్ gapలు ఏ నిర్దిష్ట కాలపరిమితిలోనూ ఎప్పుడూ fill కావు. పెద్ద కంపెనీల same session, ఐదు, ఇరవై, అరవై session రేట్లు, SQLతో పాటు చూడండి.

స్టాక్ gapలు ఎప్పుడూ fill అవుతాయా? ట్రేడింగ్‌కు ఉపయోగపడేంత చిన్న కాలపరిమితిలో అయితే కాదు. ఎవరూ కాలపరిమితిని పేర్కొననప్పుడు మాత్రమే ఈ వాదన ఎక్కువగా నిలుస్తుంది. Gap అంటే ఈరోజు open మరియు నిన్నటి regular-session close మధ్య దూరం. Fill అంటే ధర మళ్లీ ఆ మునుపటి closeను దాటి ట్రేడ్ అయ్యే క్షణం. కాబట్టి మొత్తం వాదనలో ప్రధాన విషయం, పాఠకుడు ఎంతకాలం వేచి ఉండటానికి సిద్ధంగా ఉన్నాడన్నదే.

Gapగా ఏది పరిగణించాలి, fillగా ఏది పరిగణించాలి

Gapను ప్రస్తుత openను మునుపటి closeతో పోల్చి కొలుస్తారు. నిన్నటి session ఒక ధర వద్ద ముగిసింది, ఈరోజు మరో ధర వద్ద open అయింది. ఆ రెండు ధరల మధ్య తేడానే gap. ఇది నిన్నటి intraday high లేదా low నుంచి ఉన్న దూరం కాదు. అది వేరే, మరింత సులభంగా చేరుకునే లక్ష్యం. ఈ రెండింటిని కలిపేస్తే, సాధారణ రోజునే మధ్యాహ్న భోజన సమయానికి ముగిసే కదలికను కూడా “gap”గా పిలిచే పరిస్థితి వస్తుంది. దాదాపు ప్రతి sessionలోనూ చిన్న gapలు కనిపిస్తాయి. ఇతర time zoneలలోని trading, index మార్పులు, ఒక్కో కంపెనీకి సంబంధించిన వార్తలు, ex-dividend సర్దుబాట్లు—all US market మూసి ఉన్న సమయంలో fair priceను మార్చుతాయి. స్టాక్‌లు రాత్రిపూట gap కావడానికి కారణాలు అనే వివరణలో overnight repricing ఎక్కడి నుంచి వస్తుందో చూడవచ్చు.

Fill అంటే స్టాక్ మళ్లీ మునుపటి closing priceను దాటి ట్రేడ్ అయ్యే మొదటి క్షణం. అయితే దీనికి గడువు జతచేయకుండా ఈ నిర్వచనం పూర్తి కాదు. అపరిమిత కాలపరిమితిలో, ఒక liquid stock పాఠకుడు పేర్కొన్న దాదాపు ఏ స్థాయినైనా ఎప్పుడో ఒకప్పుడు దాటవచ్చు. అప్పుడు “gapలు ఎప్పుడూ fill అవుతాయి” అనే వాదన నిజం కాకుండా పరీక్షించలేనిదిగా మారుతుంది. క్రింద ఉన్న ప్రతి సంఖ్యకు స్పష్టమైన కాలపరిమితి ఉంది.

ఈ పేజీ అంతటా ఒకే నమూనాను ఉపయోగించాం: ఎనిమిది పెద్ద-cap US స్టాక్‌లు, జనవరి 2021 నుంచి ఫిబ్రవరి 2026 వరకు gap రోజులు, regular-session one-minute highs మరియు lows ఆధారంగా fillలను పరీక్షించడం. 0.25% కంటే చిన్న gapలను rounding కారణంగా తొలగించాం.

స్టాక్ gapలు అదే రోజున ఎప్పుడూ fill అవుతాయా?

ముందుగా పరిమాణాన్ని పరిశీలించాలి. ప్రతి gapను దాని పరిమాణం ఆధారంగా వర్గీకరించి, అదే session ముగిసేలోపు మునుపటి closeను ధర మళ్లీ తాకిందా అని చూడాలి.

క్వెరీగ్యాప్ పరిమాణం ఆధారంగా అదే సెషన్‌లో గ్యాప్ భర్తీ రేటు, ఎనిమిది పెద్ద క్యాప్ షేర్లు, 2021 నుండి 2026 వరకు
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH sessions AS
(
    SELECT
        ticker,
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        argMin(toFloat64(open), window_start)                AS session_open,
        argMax(toFloat64(close), window_start)               AS session_close,
        toFloat64(max(high))                                 AS session_high,
        toFloat64(min(low))                                  AS session_low
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'JPM', 'KO', 'WMT', 'XOM')
      AND window_start >= '2021-01-01'
      AND window_start <  '2026-07-01'
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
    GROUP BY ticker, d
),
gapped AS
(
    SELECT
        d,
        session_open,
        session_high,
        session_low,
        lagInFrame(session_close) OVER (PARTITION BY ticker ORDER BY d ASC
            ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prior_close
    FROM sessions
),
measured AS
(
    SELECT
        abs(100 * (session_open / prior_close - 1)) AS gap_pct,
        toUInt8(if(session_open > prior_close,
                   session_low  <= prior_close,
                   session_high >= prior_close))    AS filled_same_session
    FROM gapped
    WHERE prior_close > 0
      AND d <= toDate('2026-02-28')
      AND abs(100 * (session_open / prior_close - 1)) >= 0.25
)
SELECT
    multiIf(gap_pct < 0.5, '0.25 to 0.5%',
            gap_pct < 1,   '0.5 to 1%',
            gap_pct < 2,   '1 to 2%',
            gap_pct < 4,   '2 to 4%',
                           '4% or more')         AS gap_bucket,
    count()                                      AS gap_days,
    round(100 * avg(filled_same_session), 1)     AS same_session_fill_pct
FROM measured
GROUP BY gap_bucket
ORDER BY min(gap_pct) ASC
Run this yourself

నమూనాలోని అతి చిన్న gapలు, అంటే 0.25% నుంచి 0.5% వరకు ఉన్నవి, 74.6% సందర్భాల్లో అదే sessionలో మూసుకున్నాయి. ఇవి మొత్తం 2381 occurrencesలో కనిపించాయి. 4% లేదా అంతకంటే పెద్ద gapలు 14.8% సందర్భాల్లో అదే sessionలో మూసుకున్నాయి. Chartలో క్రిందికి వెళ్లే వంపే ప్రధాన విషయం: gap చిన్నదిగా ఉంటే, ఆ రోజులో స్టాక్ దాన్ని దాటి తిరిగి వెళ్లే అవకాశం ఎక్కువ. మరో విధంగా చెప్పాలంటే, చిన్న gapలు noise వంటివి, noise సాధారణంగా తిరుగుదలను అనుసరిస్తుంది.

Gapను fill చేయడానికి ఎంత సమయం పడుతుంది?

గడువును పెంచితే fill rate పెరగడమే జరుగుతుంది. ఎక్కువ కాలపరిమితి మరిన్ని fillలను చేర్చుతుంది; ఏ fillనూ తొలగించదు. మొత్తం fillలలో ఎంత భాగం ఆలస్యంగా వచ్చి, ట్రేడింగ్‌కు ఉపయోగపడని స్థాయికి చేరుతుందన్నదే అసలు ప్రశ్న.

క్వెరీ1%+ గ్యాప్‌లు భర్తీ అయిన వాటా, ఎంతసేపు వేచి చూస్తారో ఆధారంగా
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH sessions AS
(
    SELECT
        ticker,
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        argMin(toFloat64(open), window_start)                AS session_open,
        argMax(toFloat64(close), window_start)               AS session_close,
        toFloat64(max(high))                                 AS session_high,
        toFloat64(min(low))                                  AS session_low
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'JPM', 'KO', 'WMT', 'XOM')
      AND window_start >= '2021-01-01'
      AND window_start <  '2026-07-01'
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
    GROUP BY ticker, d
),
paths AS
(
    SELECT
        d,
        session_open,
        session_high,
        session_low,
        lagInFrame(session_close) OVER (PARTITION BY ticker ORDER BY d ASC
            ROWS BETWEEN 1 PRECEDING AND CURRENT ROW)                                                          AS prior_close,
        min(session_low)  OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING)   AS low_5,
        max(session_high) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING)   AS high_5,
        min(session_low)  OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 19 FOLLOWING)  AS low_20,
        max(session_high) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 19 FOLLOWING)  AS high_20,
        min(session_low)  OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 59 FOLLOWING)  AS low_60,
        max(session_high) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 59 FOLLOWING)  AS high_60
    FROM sessions
),
gaps AS
(
    SELECT
        session_open > prior_close AS gap_up,
        prior_close,
        session_low,
        session_high,
        low_5,
        high_5,
        low_20,
        high_20,
        low_60,
        high_60
    FROM paths
    WHERE prior_close > 0
      AND d <= toDate('2026-02-28')
      AND abs(100 * (session_open / prior_close - 1)) >= 1
),
flags AS
(
    SELECT arrayJoin([
        (1, '1 session',   toUInt8(if(gap_up, session_low <= prior_close, session_high >= prior_close))),
        (2, '5 sessions',  toUInt8(if(gap_up, low_5  <= prior_close, high_5  >= prior_close))),
        (3, '20 sessions', toUInt8(if(gap_up, low_20 <= prior_close, high_20 >= prior_close))),
        (4, '60 sessions', toUInt8(if(gap_up, low_60 <= prior_close, high_60 >= prior_close)))
    ]) AS f
    FROM gaps
)
SELECT
    tupleElement(f, 2)                        AS horizon,
    count()                                   AS gaps_measured,
    round(100 * avg(tupleElement(f, 3)), 1)   AS filled_pct
FROM flags
GROUP BY horizon
ORDER BY min(tupleElement(f, 1)) ASC
Run this yourself

1% లేదా అంతకంటే పెద్ద 2191 gapలలో, 34% అదే sessionలో fill అయ్యాయి. 88.7% gapలు 60 sessions లోపు fill అయ్యాయి. సాధారణంగా ఉటంకించేది రెండో సంఖ్యనే. అయితే దానికి సంబంధించిన కాలపరిమితిని వదిలేస్తారు. అరవై sessions సుమారు మూడు trading నెలలకు సమానం. ఒకరోజు ధరలో ఏర్పడిన అసమతుల్యతపై ఆధారపడిన positionకు ఇది దీర్ఘకాలిక holding. స్టాక్ ముందుగా వ్యతిరేక దిశలో చాలా దూరం వెళ్లి, 47వ రోజున gapను fill చేసినా, ఆ గణాంకంలో అది fillగానే లెక్కించబడుతుంది.

Noise gapలు, information gapలు రెండు వేర్వేరు సమూహాలు

సాధారణ volume ఉన్న ప్రశాంత రోజున ఏర్పడే gap ఒక చిన్న pricing adjustment మాత్రమే. Earnings news లేదా takeover ప్రతిపాదన తర్వాత ఏర్పడే gap కంపెనీ విలువపై వచ్చిన మార్పును సూచిస్తుంది. అలాంటి సందర్భంలో తిరిగి చేరాల్సిన పాత ధర ఉండకపోవచ్చు. Volume ఈ రెండు రకాల మధ్య తేడాను కొంతవరకు స్పష్టంగా చూపిస్తుంది. మొత్తం మార్కెట్ కొత్తగా trade చేయాలనుకునే repricingలో సాధారణ turnoverతో పోలిస్తే అనేక రెట్లు ఎక్కువ prints కనిపిస్తాయి.

క్వెరీగ్యాప్ రోజు వాల్యూమ్ ఎంత ఎక్కువగా ఉందో ఆధారంగా గ్యాప్ భర్తీ రేటు
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH sessions AS
(
    SELECT
        ticker,
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        argMin(toFloat64(open), window_start)                AS session_open,
        argMax(toFloat64(close), window_start)               AS session_close,
        toFloat64(max(high))                                 AS session_high,
        toFloat64(min(low))                                  AS session_low,
        sum(toFloat64(volume))                               AS session_volume
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'JPM', 'KO', 'WMT', 'XOM')
      AND window_start >= '2021-01-01'
      AND window_start <  '2026-07-01'
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
    GROUP BY ticker, d
),
paths AS
(
    SELECT
        d,
        session_open,
        session_high,
        session_low,
        session_volume,
        lagInFrame(session_close) OVER (PARTITION BY ticker ORDER BY d ASC
            ROWS BETWEEN 1 PRECEDING AND CURRENT ROW)                                                         AS prior_close,
        avg(session_volume) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN 21 PRECEDING AND 2 PRECEDING) AS normal_volume,
        min(session_low)  OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 19 FOLLOWING) AS low_20,
        max(session_high) OVER (PARTITION BY ticker ORDER BY d ASC ROWS BETWEEN CURRENT ROW AND 19 FOLLOWING) AS high_20
    FROM sessions
),
measured AS
(
    SELECT
        session_volume / normal_volume AS volume_ratio,
        toUInt8(if(session_open > prior_close, session_low <= prior_close, session_high >= prior_close)) AS filled_same_session,
        toUInt8(if(session_open > prior_close, low_20 <= prior_close, high_20 >= prior_close))           AS filled_20_sessions
    FROM paths
    WHERE prior_close > 0
      AND normal_volume > 0
      AND d >= toDate('2021-03-01')
      AND d <= toDate('2026-02-28')
      AND abs(100 * (session_open / prior_close - 1)) >= 1
)
SELECT
    multiIf(volume_ratio < 1.5, 'Under 1.5x normal',
            volume_ratio < 3,   '1.5x to 3x normal',
                                '3x or more')        AS volume_regime,
    count()                                          AS gap_days,
    round(100 * avg(filled_same_session), 1)         AS same_session_fill_pct,
    round(100 * avg(filled_20_sessions), 1)          AS within_20_sessions_fill_pct
FROM measured
WHERE isFinite(volume_ratio)
GROUP BY volume_regime
ORDER BY min(volume_ratio) ASC
Run this yourself

స్టాక్ సాధారణ turnoverకు 1.5 రెట్ల కంటే తక్కువ volume ఉన్న రోజుల్లో ఏర్పడిన 1% లేదా అంతకంటే పెద్ద gapలు 35.9% సందర్భాల్లో అదే sessionలో fill అయ్యాయి. సాధారణ volumeకు మూడు రెట్లు లేదా అంతకంటే ఎక్కువ volume ఉన్న రోజుల్లోని అదే పరిమాణం gapలు 15.3% సందర్భాల్లో అదే sessionలో fill అయ్యాయి. వాటిలో 45.8% gapలు 20 sessionsలోపు fill అయ్యాయి. ఈ గణాంకాలు 59 gapలపై ఆధారపడ్డాయి. Earnings gapలు, deal gapలు ఎక్కువ volume ఉన్న సమూహంలోనే ఉంటాయి. రెండు సమూహాలను కలిపి ఒకే సంఖ్యగా చూపితే, ఆ సంఖ్య ఏ సమూహాన్నీ సరిగ్గా వివరించదు.

Session ప్రారంభంలోని మొదటి నిమిషాలు gap గణాంకాలను ఎందుకు వక్రీకరిస్తాయి

ఉదయం 9:31కి నమోదైన fill చాలా అస్థిరమైనదై ఉండవచ్చు. Opening price auction ద్వారా నిర్ణయించబడుతుంది. రాత్రంతా పేరుకుపోయిన ordersకు ఒకే ధరను నిర్ణయించే batch cross అది. opening auction ఎలా పనిచేస్తుంది అనే వివరణలో దీని విధానం వివరించబడింది. ఆ cross తర్వాతి నిమిషాల్లో quoted spreads రోజులోనే అత్యంత వెడల్పుగా ఉంటాయి. ఒక్క చిన్న print కూడా పెద్ద పరిమాణంలో ఎవరూ ట్రేడ్ చేయని high లేదా lowను నమోదు చేయవచ్చు. open సమయంలో spreads ఎందుకు వెడల్పవుతాయి అనే వివరణలో అక్కడ quote ఎందుకు పలుచగా ఉంటుందో చూడవచ్చు.

క్రింది chart ఈ basketలోని actual tapeపై కనిపించే తీరు చూపిస్తుంది: 2025 వరకు, 15 నిమిషాల clock bucketల వారీగా సగటు one-minute high-low rangeను basis pointsలో చూపిస్తుంది. ఒక basis point అంటే శాతంలో ఒక వందవ వంతు.

క్వెరీరోజులోని సమయాన్ని బట్టి సగటు ఒక నిమిషం పరిధి మరియు వాల్యూమ్, 2025
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 15 MINUTE), '%H:%i') AS et_time,
    round(10000 * avg(toFloat64(high) / toFloat64(low) - 1), 1) AS avg_range_bps,
    round(avg(toFloat64(volume)) / 1000, 1)                     AS avg_volume_k
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'JPM', 'KO', 'WMT', 'XOM')
  AND window_start >= '2025-01-01'
  AND window_start <  '2026-01-01'
  AND toFloat64(low) > 0
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
       + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
       + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY et_time
ORDER BY et_time ASC
Run this yourself

Opening bucketలో ప్రతి నిమిషానికి సగటు range 24.4 bps. ఇది 12:30 bucketలోని 6.9 bpsతో పోల్చబడింది. ఈ సమయంలో ప్రతి నిమిషానికి సగటు volume 303.9 వేల shares, ఆ bucketలో అది 69.6 వేల shares. మొదటి bucketలో నమోదైన fill రోజులోనే అత్యంత నమ్మదగని ధరలపై ఆధారపడి ఉంటుంది. పై same-session సంఖ్యల్లో ఈ నిమిషాలు కూడా ఉన్నాయి. అందువల్ల ఆ సంఖ్యలు కొద్దిగా ఎక్కువగా కనిపించే అవకాశం ఉంది. ఈ పరిమితి ఈ సంఖ్యతో సహా ప్రతి same-day fill statisticకు వర్తిస్తుంది.

Gapను tradeగా పరిగణించే ముందు పరిశీలించాల్సిన అంశాలు

  1. కాలపరిమితి. గడువు లేకుండా చెప్పే fill rate ఒక గణాంకం కాదు.
  2. నమూనా సమూహం. News gapలను ప్రశాంత రోజుల్లోని gapల నుంచి వేరు చేశారా, ఆ విభజనను ఎలా నిర్ణయించారు?
  3. కొలత విధానం. నిజంగా ట్రేడ్ అయిన rangesతో fillలను పరీక్షించారా? Sessionలోని మొదటి నిమిషాలను లెక్కలోకి తీసుకున్నారా?
  4. మిగిలిన స్టాక్‌లు. ఈరోజు కూడా trade అవుతున్న స్టాక్‌లనే నమూనాలో ఉంచారా? అలా చేస్తే ఎప్పుడూ fill కాని gapలు తెలియకుండానే తొలగిపోతాయి.

ఈ వాదనకు నిజాయితీగా చెప్పగల రూపం, సాధారణ నినాదం కంటే పరిమితమైనది. సాధారణ volume ఉన్నప్పుడు చిన్న gapలు తరచుగా, త్వరగా తిరిగి మూసుకుంటాయి. ఎక్కువ volumeతో ఏర్పడే పెద్ద gapలు repricingను సూచిస్తాయి. అవి తరచుగా నెలల పాటు కొనసాగుతాయి. ప్రస్తుతం ఏ స్టాక్‌లలో gapలు ఏర్పడుతున్నాయో తెలుసుకోవడానికి ఈ వారంలో అత్యధికంగా కదిలిన స్టాక్‌లు పేజీ ప్రస్తుత వారాన్ని ట్రాక్ చేస్తుంది. మార్కెట్లు crashల నుంచి ఎలా కోలుకుంటాయి అనే పేజీ index drawdownలకు ఇదే కాలపరిమితి క్రమశిక్షణను వర్తింపజేస్తుంది.

తరచుగా అడిగే ప్రశ్నలు

స్టాక్ gapలు ఎప్పుడూ fill అవుతాయా?

లేదు. ఇక్కడి నమూనాలో 1% లేదా అంతకంటే పెద్ద gapలలో 88.7%, 60 sessions లోపు మునుపటి closeను మళ్లీ దాటి ట్రేడ్ అయ్యాయి. అంటే సుమారు మూడు trading నెలల తర్వాత కూడా గణనీయమైన భాగం fill కాలేదు. కాలపరిమితి లేకుండా మాత్రమే “ఎప్పుడూ” అనే వాదన పనిచేస్తుంది. అప్పుడు దాన్ని పరీక్షించడం సాధ్యం కాదు.

Gapను fill చేయడానికి ఎంత సమయం పడుతుంది?

ఇది gapపై ఆధారపడి ఉంటుంది. ఇక్కడ 1% లేదా అంతకంటే పెద్ద gapలలో 34% అదే sessionలో fill అయ్యాయి. మిగిలిన fillలు తరువాతి వారాలు, నెలల్లో వచ్చాయి. చిన్న gapలు same-day bucketలో ఎక్కువగా ఉంటాయి. ఎక్కువ volume ఉన్న gapలు అత్యంత ఆలస్యంగా fill అవుతాయి.

Common gapకు breakaway gapకు మధ్య తేడా ఏమిటి?

Chart పరిభాష gapలను వాటి సందర్భం ఆధారంగా వేరు చేస్తుంది. Common gap సాధారణ volume, నిర్దిష్టమైన వార్తలు లేని సాధారణ రోజున ఏర్పడుతుంది. Breakaway gap ఎక్కువ volumeతో, కొత్త సమాచారం వెలువడిన సమయంలో ఏర్పడుతుంది. తరచుగా ఇది కొంతకాలంగా కొనసాగుతున్న price range నుంచి బయటికి వచ్చినప్పుడు కనిపిస్తుంది. పై panelలోని volume విభజన ఇదే తేడాను కొలిచే రూపం.

Gap fill గణాంకాలు వివిధ మూలాల్లో ఎందుకు ఇంత మారుతాయి?

నాలుగు ఎంపికలు సంఖ్యను గణనీయంగా మార్చగలవు: fill కాలపరిమితి, పరిశీలించిన స్టాక్‌ల సమూహం, కవర్ చేసిన కాలం, gapను మునుపటి close నుంచి కొలిచారా లేదా మునుపటి high, low నుంచి కొలిచారా అన్నది. ఈ నాలుగింటిలో ఏదో ఒకటి లేకుండా ఉటంకించిన fill rateను మరో fill rateతో పోల్చలేం.


ఈ సంఖ్యలను ఎలా కొలిచాం

New York timeలోని regular trading hoursలో one-minute bars ఆధారంగా sessions నిర్మించబడ్డాయి. Opening price అంటే regular-sessionలోని మొదటి bar యొక్క open. Close అంటే చివరి bar యొక్క close. Day high, low అంటే ఆ barsలో నమోదైన గరిష్ఠ, కనిష్ఠ స్థాయులు. ప్రతి gapను అదే ticker యొక్క మునుపటి session closeతో పోల్చి కొలిచాం.

5, 20, 60 session కాలపరిమితుల్లో gap day కూడా చేర్చాం. Gap రోజులు ఫిబ్రవరి 2026 చివరితో ముగుస్తాయి. Tape మాత్రం జూన్ 2026 వరకు కొనసాగుతుంది. అందువల్ల horizon panelలోని ప్రతి gapకు కనీసం 60 తరువాతి sessions అందుబాటులో ఉన్నాయి. డేటా లేకపోవడం వల్ల ఏ gapనూ unfilledగా పరిగణించలేదు.

మూడో panelలోని normal volume అంటే gapకు రెండు రోజుల ముందు ముగిసే 20 sessionsలోని సగటు regular-session volume. దీనివల్ల gap day, దానికి ముందు రోజు తమ స్వంత benchmarkలో చేరకుండా ఉంటాయి.

Basketలో liquid large caps ఎనిమిది ఉన్నాయి. తక్కువ liquidity ఉన్న పేర్లలో gapలు ఎక్కువగా ఏర్పడవచ్చు. వాటి fill విధానం కూడా వేరుగా ఉండవచ్చు. కాబట్టి ఇదే పరీక్షను small capsపై మళ్లీ నిర్వహించకుండా ఈ fill ratesను small capsకు వర్తింపజేయలేం.

ఇక్కడి ప్రతి panelకు ఖచ్చితమైన SQL కింద అందించబడింది. మీరు అనుసరించే tickerపై ఇదే పరీక్ష నిర్వహించడానికి Strasmore terminalలో ప్రశ్నను సాధారణ ఆంగ్లంలో అడగండి.

#gaps#gap fill#opening auction#overnight returns#technical analysis