Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

Box Spread Options आणि अंतर्भूत कर्जदर

Box spread ही चार optionsनी तयार केलेली synthetic zero coupon loan रचना आहे. तिचा payoff strike widthला कसा स्थिर राहतो आणि implied loan rate कसा काढावा ते पाहा.

Box spread म्हणजे चार option contractsची अशी रचना आहे जी एकत्रितपणे zero coupon loanसारखी वागते: आज रोख रकमेची निश्चित देवाणघेवाण होते आणि expirationवेळी दोन strikeमधील अंतराइतकी निश्चित रक्कम देवाणघेवाण होते. Underlying कुठे बंद झाला याचा अंतिम payoutवर परिणाम होत नाही. Box spreadच्या किमतीत अनिश्चित असलेली एकमेव बाब म्हणजे त्यात अंतर्भूत असलेला interest rate.

Box spread म्हणजे काय?

Boxमध्ये एकाच underlyingवर दोन strike prices आणि एक expiration date असतात. कमी strikeला K1 आणि जास्त strikeला K2 म्हणू. Long boxमध्ये चार legs असतात:

  • K1वर एक call long करणे
  • K2वर एक call short करणे
  • K2वर एक put long करणे
  • K1वर एक put short करणे

पहिल्या दोन legsमधून bull call spread तयार होतो. शेवटच्या दोन legsमधून bear put spread तयार होतो. दोन्ही एकाच वेळी खरेदी केल्यास net debit द्यावा लागतो. ही रक्कम आज खात्यातून बाहेर जाते. प्रत्येक listed US equity optionमध्ये 100 shares असतात. त्यामुळे दहा pointsच्या अंतरावर असलेल्या strikesचा box प्रत्येक contractमागे $1,000ला settle होतो.

हीच चारही legs विकल्यास short box तयार होतो. त्यातून आज net credit मिळतो आणि expirationवेळी strike width द्यावी लागते.

Expirationवेळी box spread strike width का देतो

Expirationवेळी underlyingची किंमत तीन भागांत विभागा. K1च्या खाली दोन्ही calls worthless expire होतात आणि put spreadची किंमत पूर्ण widthइतकी असते. K2च्या वर दोन्ही puts worthless expire होतात आणि call spreadची किंमत पूर्ण widthइतकी असते. Strikesच्या दरम्यान K1वरील long callची किंमत K1पासून झालेल्या वाढीइतकी असते. K2वरील long putची किंमत K2पासून झालेल्या घसरणीइतकी असते. या दोन अंतरांची बेरीज widthइतकी होते.

खालील panelमध्ये June 2026दरम्यान SPY ज्या प्रत्येक $5 price levelवर बंद झाला, त्या पातळीवर दोन्ही spreadsची किंमत दाखवली आहे. Strikes महिन्याच्या सरासरी closeच्या दोन्ही बाजूंना पाच points अंतरावर ठेवले आहेत.

क्वेरीजून 2026 मध्ये SPY बंद झालेल्या प्रत्येक पातळीवरील दहा-पॉइंट बॉक्सचे मूल्य
प्रत्येक आकड्यामागील अचूक SQL
WITH
    daily AS
    (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York'))   AS d,
            toFloat64(argMax(close, window_start))                 AS spy_close
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= '2026-06-01 00:00:00'
          AND window_start <  '2026-07-01 00:00:00'
          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 d
    ),
    strikes AS
    (
        SELECT
            round(avg(spy_close) / 5) * 5 - 5 AS lower_strike,
            round(avg(spy_close) / 5) * 5 + 5 AS upper_strike
        FROM daily
    ),
    levels AS
    (
        SELECT DISTINCT round(spy_close / 5) * 5 AS settle
        FROM daily
    )
SELECT
    concat('$', toString(toUInt32(settle)))                                                AS settle_level,
    concat('$', toString(toUInt32(lower_strike)), ' / $', toString(toUInt32(upper_strike))) AS box_strikes,
    round(greatest(settle - lower_strike, 0) - greatest(settle - upper_strike, 0), 2)      AS call_leg_value,
    round(greatest(upper_strike - settle, 0) - greatest(lower_strike - settle, 0), 2)      AS put_leg_value,
    round(greatest(settle - lower_strike, 0) - greatest(settle - upper_strike, 0)
        + greatest(upper_strike - settle, 0) - greatest(lower_strike - settle, 0), 2)      AS box_value
FROM levels
CROSS JOIN strikes
ORDER BY settle
Run this yourself

call_leg_value आणि put_leg_value columns प्रत्येक price levelवर एकमेकांच्या विरुद्ध बदलतात. box_value column बदलत नाही: SPYने पाहिलेल्या सर्वात कमी पातळीवर 10 आणि सर्वाधिक पातळीवर 10, या $740 / $750 strikesवर. हाच constant संपूर्ण रचनेचा आधार आहे. याच identityचे औपचारिक विधान put call parity आहे. ते एकाच strikeवरील call आणि put यांच्यातील संबंध निश्चित करते. Boxमध्ये दोन strikesवर parity लागू करून त्यांतील फरक घेतला जातो.

Box spreadवरील implied loan rate कसा मोजायचा

Rate दोन आकडे निश्चित करतात: आज दिलेला net debit आणि expirationवेळी मिळणारी strike width. 200 दिवस शिल्लक असलेला आणि $9.70 net debitवर quoted असलेला hypothetical ten point box घ्या. प्रत्येक contractमागे आज $970 बाहेर जातात आणि expirationवेळी $1,000 परत मिळतात. म्हणजे $30चा gain होतो.

Gainला advance केलेल्या रकमेत divide करा आणि तो एका वर्षासाठी scale करा. $970वर $30 म्हणजे 200 दिवसांसाठी 3.09 percent. 3.09 percentला 365ने गुणून 200ने भागल्यास वर्षाला साधारण 5.6 percent मिळतात. Scalingऐवजी compounding केल्यास, म्हणजे 1000ला 970ने भागून मिळालेला ratio 365/200 या घातावर नेल्यास, सुमारे 5.7 percent मिळतात. दोन्ही पद्धती एकाच प्रश्नाचे उत्तर देतात: या किमतीत कोणता rate implied आहे?

Long boxमध्ये lending होते की borrowing?

Long box म्हणजे lending. आज खात्यातून रोख रक्कम बाहेर जाते. Expirationवेळी त्यापेक्षा मोठी निश्चित रक्कम मिळते. फरक हा मिळवलेला interest असतो.

Short box म्हणजे borrowing. आज credit मिळतो. Expirationवेळी strike width द्यावी लागते. याच calculationमधून मिळालेला rate नव्हे, तर दिलेला rate ठरतो. ही दिशा अनेकदा उलटी सांगितली जाते. Cash flowवर लक्ष केंद्रित करा: आज पैसे मिळणे आणि नंतर निश्चित repayment करणे म्हणजे घेतलेले loan. आज पैसे देणे आणि नंतर निश्चित रक्कम मिळणे म्हणजे दिलेले loan.

Box spreadला delta असतो का?

Delta म्हणजे underlyingमध्ये $1चा बदल झाल्यावर optionच्या किमतीत होणारा बदल. Boxच्या चारही legsना स्वतंत्रपणे मोठा delta असतो. पण ते एकमेकांना cancel करतात. खालील panelमध्ये June 1, 2026 रोजी असलेले आणि December 18, 2026ला expire होणारे SPY contractsचे greeks दाखवले आहेत. K1 spotच्या जवळच्या strikeवर निश्चित केला आहे आणि K2 वरच्या दिशेने रुंदावला आहे.

क्वेरीवरचा स्ट्राइक वाढत असताना SPY बॉक्सचा नेट delta (1 जून 2026)
प्रत्येक आकड्यामागील अचूक SQL
WITH
    chain AS
    (
        SELECT
            toFloat64(strike_price)           AS strike,
            avg(toFloat64(underlying_close))  AS spot,
            round(avgIf(delta, delta > 0), 4) AS call_delta,
            round(avgIf(delta, delta < 0), 4) AS put_delta
        FROM global_markets.options_greeks
        WHERE underlying_symbol = 'SPY'
          AND date = '2026-06-01'
          AND expiration_date = '2026-12-18'
          AND iv_converged = 1
          AND volume > 0
        GROUP BY strike
        HAVING countIf(delta > 0) > 0
           AND countIf(delta < 0) > 0
    ),
    lower_leg AS
    (
        SELECT
            strike     AS k1,
            call_delta AS c1,
            put_delta  AS p1
        FROM chain
        ORDER BY abs(strike - spot)
        LIMIT 1
    )
SELECT
    toUInt32(strike - k1)                      AS strike_width,
    round(c1 - call_delta, 4)                  AS call_leg_delta,
    round(put_delta - p1, 4)                   AS put_leg_delta,
    round(c1 - call_delta + put_delta - p1, 4) AS box_net_delta
FROM chain
CROSS JOIN lower_leg
WHERE strike > k1
  AND strike <= k1 + 60
ORDER BY strike
Run this yourself

Panelमधील सर्वाधिक रुंद pairingमध्ये, 50 pointsचे अंतर असताना, call legचा delta 0.2208 आणि put legचा delta -0.1977 आहे. दोन्हींची net बेरीज 0.0231 होते. सर्वात कमी रुंदीच्या pairingमध्ये net 0.0005 आहे. हे residuals शून्याभोवतीचे model noise आहेत. Boxमध्ये directionबाबत कोणताही view नसतो. म्हणून त्याची pricing positionऐवजी financingसारखी होते.

Box spreadमधील खरा धोका कोणता?

American style optionsचा holder expirationपूर्वी कोणत्याही business dayला exercise करू शकतो. European style optionsमध्ये असे करता येत नाही. American versus European optionsमध्ये स्पष्ट केलेला हा फरक box loanसारखा वागतो की active margin positionसारखा, हे ठरवतो.

क्रम पुढीलप्रमाणे असतो:

  1. Long boxes आणि short boxes या दोन्हींमध्ये दोन short legs असतात. Stock किंवा ETFवरील या legs American style असतात.
  2. Long boxमध्ये underlying strikesच्या दरम्यान असताना short legs बाहेरील बाजूंवर आणि out of the money राहतात. Short boxमध्ये उलट स्थिती असते: त्याच्या दोन्ही short legs याच price regionमध्ये in the money असतात.
  3. जवळजवळ कोणतेही time value शिल्लक नसलेला in the money short option holder लवकर exercise करण्याची शक्यता असते. Short callsसाठी आगामी dividend ही अशीच एक सामान्य परिस्थिती असते. याचे स्पष्टीकरण ex dividend dates and optionsमध्ये आहे.
  4. Exercise झाल्यावर ती leg प्रत्येक contractमागे 100 sharesच्या long किंवा short positionमध्ये बदलते. इतर तीन legs त्यांच्या मूळ स्थितीत राहतात.
  5. Share positionसाठी margin requirement boxच्या widthवर नव्हे, तर stock priceवर आधारित असते. काहीशे dollarsच्या net creditसाठी तयार केलेले खाते दहा हजारो dollarsच्या margin requirementला सामोरे जाऊ शकते. ती requirement पूर्ण न झाल्यास forced liquidation होऊ शकते.

या क्रमामुळे 2018मध्ये मोठ्या प्रमाणावर चर्चेत आलेले retail brokerage account रिकामे झाले. नुकसान करणारी यंत्रणा हीच होती: underlyingमध्ये कोणतीही हालचाल होणे आवश्यक नव्हते.

Cash settled index options या नियमाच्या दुसऱ्या बाजूला असतात. ते European style असतात. त्यामुळे कोणताही holder expirationपूर्वी exercise करू शकत नाही. Settlementमध्ये sharesची delivery न होता calculated index levelच्या आधारावर cash payment होते. त्याच्या timingमध्ये स्वतःचा एक फरक आहे. त्याचे वर्णन AM versus PM settled optionsमध्ये केले आहे.

Commissions आणि bid ask spreadमुळे फायदा का कमी होतो

Wide boxच्या legs spotपासून बऱ्याच दूर असलेल्या strikesवर असतात. खालील panelमध्ये June 2026मधील SPY option turnoverचे moneynessच्या पाच bucketsमध्ये विभाजन केले आहे. प्रत्येक bucketसाठी एक row आहे.

क्वेरीस्पॉटपासून स्ट्राइक अंतरानुसार SPY ऑप्शन व्हॉल्यूम कुठे आहे (जून 2026)
प्रत्येक आकड्यामागील अचूक SQL
WITH
    chain AS
    (
        SELECT
            multiIf(
                toFloat64(strike_price) / toFloat64(underlying_close) < 0.85, 1,
                toFloat64(strike_price) / toFloat64(underlying_close) < 0.95, 2,
                toFloat64(strike_price) / toFloat64(underlying_close) < 1.05, 3,
                toFloat64(strike_price) / toFloat64(underlying_close) < 1.15, 4,
                5)                          AS bucket_key,
            multiIf(
                bucket_key = 1, 'more than 15% below spot',
                bucket_key = 2, '5% to 15% below spot',
                bucket_key = 3, 'within 5% of spot',
                bucket_key = 4, '5% to 15% above spot',
                'more than 15% above spot') AS moneyness_bucket,
            volume
        FROM global_markets.options_greeks
        WHERE underlying_symbol = 'SPY'
          AND date >= '2026-06-01'
          AND date <  '2026-07-01'
          AND iv_converged = 1
          AND volume > 0
          AND days_to_expiry BETWEEN 30 AND 400
    ),
    totals AS
    (
        SELECT
            sum(volume) AS all_volume,
            count()     AS all_rows
        FROM chain
    )
SELECT
    moneyness_bucket,
    round(100 * count() / any(all_rows), 2)       AS contracts_pct,
    round(100 * sum(volume) / any(all_volume), 2) AS turnover_pct
FROM chain
CROSS JOIN totals
GROUP BY bucket_key, moneyness_bucket
ORDER BY bucket_key
Run this yourself

June 2026मध्ये एक महिना किंवा त्याहून अधिक मुदतीच्या SPY expirationsमध्ये spotच्या 5%च्या आत असलेल्या strikesमध्ये traded contractsपैकी 43% contracts होते. मात्र सर्व contractsमधील छापील contract daysपैकी 34.99% दिवस या strikesमध्ये होते. Spotच्या सर्वात खालील bucketमध्ये एकूण turnoverपैकी 25.03% turnover होता आणि 23.06% contract daysमध्ये तो दिसला. या strikesवर wide boxसाठी वापरले जाणारे deep in the money calls आणि त्याच pricesवर far out of the money puts असतात. एखाद्या bucketमध्ये एकत्रित झालेला volume हा boxला आवश्यक असलेल्या एकाच contractमध्ये उपलब्ध volume नसतो. शिवाय प्रत्येक legभोवती bid-ask spread असतो. Box उघडताना चार spreads पार करतो. Expirationपूर्वी बंद केल्यास आणखी चार spreads पार करावे लागतात.

Execution error देखील termसोबत वाढतो. Ten point boxवर दहा centsचा slippage म्हणजे strike widthच्या 1%इतका खर्च. Short lifeवर annualised केल्यास हा खर्च अत्यंत मोठा ठरतो. खालील panelमध्ये June 1, 2026 रोजी listed असलेल्या monthly SPY expirationsच्या तुलनेत त्या hypothetical ten centsची किंमत दाखवली आहे.

क्वेरीदहा-पॉइंट बॉक्सवर काल्पनिक 10 सेंट भरणा-त्रुटीची वार्षिकीकृत किंमत
प्रत्येक आकड्यामागील अचूक SQL
SELECT
    concat(formatDateTime(expiration_date, '%b %e, %Y'),
           ' (', toString(toUInt32(any(days_to_expiry))), 'd)') AS expiry_label,
    round(100 * (0.10 / 10) * (365 / any(days_to_expiry)), 2)   AS annual_cost_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
  AND date = '2026-06-01'
  AND iv_converged = 1
  AND volume > 0
  AND toDayOfWeek(expiration_date) = 5
  AND toDayOfMonth(expiration_date) BETWEEN 15 AND 21
  AND days_to_expiry BETWEEN 30 AND 800
GROUP BY expiration_date
ORDER BY any(days_to_expiry)
LIMIT 12
Run this yourself

Jul 17, 2026 (46d)वर त्या दहा centsचा वार्षिक खर्च 7.93% आहे. Jun 16, 2028 (746d)वर त्याच दहा centsचा खर्च 0.49% आहे. याच कारणामुळे financing trades दीर्घ मुदतीच्या असतात. त्यामुळे boxच्या legs deep in the money LEAPSसारख्या दिसतात. Commissions त्यावर वेगळ्या लागतात. चार legsसाठी contract आणि legनुसार chargesचे विभाजन what it costs to trade optionsमध्ये दिले आहे.

वारंवार विचारले जाणारे प्रश्न

Box spread risk free असतो का?

Expirationवेळी payout strike widthइतका निश्चित असतो आणि positionला directional exposure नसते. तरीही दोन धोके राहतात: American style contractsवरील early assignment आणि चारही legs भरून घेण्याचा व नंतर बंद करण्याचा खर्च.

Long box आणि short boxमध्ये काय फरक आहे?

Long boxसाठी आज net debit द्यावा लागतो आणि expirationवेळी strike width मिळते. त्यामुळे buyerची भूमिका lenderची असते. Short boxमध्ये आज net credit मिळतो आणि expirationवेळी strike width द्यावी लागते. त्यामुळे sellerची भूमिका borrowerची असते.

Box spreadला लवकर assign केले जाऊ शकते का?

होय, जर तो stock किंवा ETFवरील American style optionsपासून तयार केला असेल. कोणत्याही business dayला holder कोणतीही short leg exercise करू शकतो. त्यामुळे ती leg स्वतंत्र margin requirement असलेल्या share positionमध्ये बदलते. European style cash settled index optionsपासून तयार केलेल्या boxला लवकर assign करता येत नाही.

Brokers short box spreadsवर निर्बंध का घालतात?

अनेक brokers American style contractsवरील short boxes मर्यादित करतात किंवा block करतात. एक early assignment लहान options positionचे मोठ्या share positionमध्ये रूपांतर करते. त्यासोबत मोठी margin requirement लागू होते.

Box spreadवरील implied rate कसा काढायचा?

Strike widthला net debitने भागा. मिळालेला result 365ला expirationपर्यंतच्या daysने भागून मिळालेल्या घातावर न्या. त्यातून one वजा करा. Simple versionमध्ये gainला debitने भागून 365ला days to expirationने भागलेल्या गुणोत्तराने गुणले जाते.


येथील प्रत्येक panel तयार करणारी SQL queryसोबत दिली आहे. एखादा panel उघडा, ticker किंवा expiration बदला आणि Strasmore terminalवर स्वतः run करा.

#options#box spread#arbitrage#financing#put-call parity