Naked Options विक्रीसाठी Margin: Reg T गणित
Naked option विक्रीसाठी किती margin लागतो? Reg Tची दोन्ही किमान सूत्रे, short Python script आणि प्रत्यक्ष option chainsवरील उदाहरणांसह गणना समजून घ्या.
नॅकेड options विकण्यासाठी लागणारा margin प्रकाशित सूत्रावर आधारित असतो. व्यवहार करण्यापूर्वी तो स्वतः मोजता येतो. Uncovered equity optionसाठीची किमान रक्कम दोन शाखांपैकी जास्त असते. दोन्ही शाखांमध्ये मिळालेला premium जोडला जातो: underlying शेअरच्या किमतीच्या 20% मधून optionची out-of-the-money रक्कम वजा करणे, किंवा 10%चा floor. या पृष्ठावरील प्रत्येक टक्केवारी regulatory minimum आहे. Brokerला त्यापेक्षा जास्त margin ठेवण्याचा अधिकार असतो आणि बहुतेक brokers तसे करतात.
नॅकेड options विकण्यासाठी margin कसा मोजला जातो?
जेव्हा एखादा option विकला जातो आणि त्यामागे कोणतीही सुरक्षा ठेवलेली नसते, तेव्हा तो uncovered किंवा naked असतो. खात्यात शेअर्स नसताना केलेला short call किंवा strikeविरुद्ध रोख रक्कम बाजूला न ठेवता केलेला short put याची उदाहरणे आहेत. cash secured putमध्ये मात्र संपूर्ण strike value बाजूला ठेवली जाते. ही वेगळी रचना असून तिची requirementही वेगळी असते.
Regulation T margin accountमधील creditचे नियम ठरवते. Uncovered optionसाठीच्या टक्केवारी FINRA Rule 4210 आणि त्याच्याशी सुसंगत exchange margin manualsमध्ये दिल्या आहेत. गणना प्रति शेअर केली जाते आणि नंतर 100 शेअर्सच्या प्रत्येक contractसाठी आकारली जाते:
- Uncovered call, पहिली शाखा: मिळालेला premium अधिक underlying priceच्या 20% मधून out-of-the-money रक्कम वजा करणे. ही रक्कम strike minus underlying असते आणि किमान शून्य धरली जाते.
- Uncovered put, पहिली शाखा: मिळालेला premium अधिक underlying priceच्या 20% मधून out-of-the-money रक्कम वजा करणे. ही रक्कम underlying minus strike असते आणि किमान शून्य धरली जाते.
- Callसाठी floor शाखा: मिळालेला premium अधिक underlying priceच्या 10%.
- Putसाठी floor शाखा: मिळालेला premium अधिक strike priceच्या 10%.
या दोन्हीपैकी जी रक्कम जास्त असेल ती requirement लागू होते. Broad based index optionsसाठी 20%ऐवजी 15% वापरले जाते. Uncovered options विकण्यासाठी योग्य option approval level असलेले margin account आवश्यक असते. Margin accountसोबत pattern day trader ruleदेखील लागू होते.
Premium दोन्ही शाखांमध्ये असतो. त्यामुळे तो संपूर्ण रक्कम वाढवतो, पण कोणती शाखा लागू होईल हे बदलत नाही. ते strike आणि underlyingमधील अंतर ठरवते. Callसाठी strike underlyingपेक्षा अचूक 10% वर असताना दोन्ही शाखा समान होतात. Putसाठी strike underlyingपेक्षा सुमारे 11.1% खाली असताना त्या समान होतात. या अंतराच्या आत 20% शाखा मोठी असते. त्यापलीकडे floor लागू होतो.
20% शाखा आणि 10% floor कुठे समान होतात
खालील panelमध्ये June 2026च्या शेवटच्या sessionमध्ये सूचीबद्ध असलेल्या AAPLच्या सर्व strikesचा आढावा घेतला आहे. शेअरच्या किमतीच्या थोडे खालील पातळीपासून सुमारे 18% वरपर्यंतचे strikes घेतले आहेत. Expiryला 20 ते 45 दिवस बाकी असलेले contracts वापरले आहेत. प्रत्येक strikeवर uncovered callसाठी दोन्ही शाखांची प्रति शेअर गणना केली आहे. आकृतीचा आकार स्पष्ट राहावा म्हणून premium वगळला आहे. Premium जोडल्यास दोन्ही रेषा समान प्रमाणात वर सरकतील.
प्रत्येक आकड्यामागील अचूक SQL
SELECT
round(toFloat64(strike_price), 2) AS strike,
round(0.20 * max(toFloat64(underlying_close))
- greatest(toFloat64(strike_price) - max(toFloat64(underlying_close)), 0.0), 2) AS main_branch,
round(0.10 * max(toFloat64(underlying_close)), 2) AS floor_branch,
round(0.20 * max(toFloat64(underlying_close))
- greatest(toFloat64(strike_price) - max(toFloat64(underlying_close)), 0.0)
- 0.10 * max(toFloat64(underlying_close)), 2) AS branch_gap
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date = (
SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date BETWEEN '2026-06-01' AND '2026-06-30'
)
AND days_to_expiry BETWEEN 20 AND 45
AND iv_converged = 1
AND volume > 0
AND toFloat64(strike_price) BETWEEN 0.98 * toFloat64(underlying_close)
AND 1.18 * toFloat64(underlying_close)
GROUP BY strike_price
ORDER BY strikeFloorची रेषा सपाट आहे. शेअरच्या किमतीच्या 10%ला strike कुठे आहे याचा संबंध नसतो. त्यामुळे panelमधील सर्व 12 strikesसाठी ती प्रति शेअर $28.9 वर राहते. पहिली शाखा सर्वात कमी strikeवरील $57.8 पासून सर्वात जास्त strikeवरील $6.81 पर्यंत खाली उतरत जाते. Strike आणि underlyingमधील प्रत्येक अतिरिक्त डॉलरचे अंतर तिच्यातून थेट वजा होते. branch_gap column म्हणजे पहिली शाखा वजा floor. 20% शाखा लागू असताना ती शून्यापेक्षा जास्त, floor लागू असताना शून्यापेक्षा कमी असते. शेअरच्या किमतीपेक्षा 10% वर असलेल्या strikeवर ती शून्य होते.
नॅकेड putसाठी किती margin आवश्यक असतो?
पहिली शाखा तीच असते; मात्र floor वेगळा असतो. Underlyingच्या 10%ऐवजी strikeच्या 10%चा वापर केला जातो. या एका बदलामुळे चित्र बदलते. Floor आता सपाट राहत नाही; तो strikeसोबत वर-खाली होतो. समानतेचा बिंदू शेअरच्या किमतीपेक्षा सुमारे 11% खाली सरकतो.
प्रत्येक आकड्यामागील अचूक SQL
SELECT
round(toFloat64(strike_price), 2) AS strike,
round(0.20 * max(toFloat64(underlying_close))
- greatest(max(toFloat64(underlying_close)) - toFloat64(strike_price), 0.0), 2) AS main_branch,
round(0.10 * toFloat64(strike_price), 2) AS floor_branch,
round(0.20 * max(toFloat64(underlying_close))
- greatest(max(toFloat64(underlying_close)) - toFloat64(strike_price), 0.0)
- 0.10 * toFloat64(strike_price), 2) AS branch_gap
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date = (
SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date BETWEEN '2026-06-01' AND '2026-06-30'
)
AND days_to_expiry BETWEEN 20 AND 45
AND iv_converged = 1
AND volume > 0
AND toFloat64(strike_price) BETWEEN 0.82 * toFloat64(underlying_close)
AND 1.02 * toFloat64(underlying_close)
GROUP BY strike_price
ORDER BY strikeयेथील put strikesमध्ये floor सर्वात कमी strikeवरील प्रति शेअर $24 पासून सर्वात जास्त strikeवरील $29 पर्यंत आहे. Strike moneyच्या जवळ येत असताना पहिली शाखा वाढते. बाजारभावापेक्षा खूप खालील strikesवर, जिथे wheel strategy वापरणारे sellers अनेकदा व्यवहार करतात, floor ही लागू होणारी रक्कम असते. Deep out-of-the-money naked put विनामूल्य ठेवता येऊ नये, याची खात्री हा floor करतो.
एका naked contractमुळे किती buying power अडकते?
Per share आकडे सूत्रात वापरले जातात. Per contract आकडे खात्यातून प्रत्यक्ष वजा होतात. या panelमध्ये June 2026च्या त्याच sessionमधील 5 परिचित कंपन्या घेतल्या आहेत. प्रत्येक शेअरच्या किमतीपेक्षा 5% वरचा, सूचीबद्ध call strike निवडला आहे. त्यानंतर दोन्ही शाखांना contractमधील 100 शेअर्सने गुणले आहे.
प्रत्येक आकड्यामागील अचूक SQL
SELECT
ticker,
round(100 * (0.20 * share_price - greatest(strike - share_price, 0.0)), 0) AS main_branch,
round(100 * (0.10 * share_price), 0) AS floor_branch
FROM
(
SELECT
underlying_symbol AS ticker,
max(toFloat64(underlying_close)) AS share_price,
argMin(toFloat64(strike_price),
abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1.05)) AS strike
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO')
AND date = (
SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date BETWEEN '2026-06-01' AND '2026-06-30'
)
AND days_to_expiry BETWEEN 20 AND 45
AND iv_converged = 1
AND volume > 0
GROUP BY underlying_symbol
)
ORDER BY main_branch DESCत्या अंतरावरचा एक uncovered SPY call एका contractसाठी किमान $11156 margin मागतो. KOसाठी ही रक्कम $1252 आहे. व्यवहार तोच आणि सूत्रही तेच. रक्कम optionच्या वैशिष्ट्यांपेक्षा शेअरच्या किमतीनुसार बदलते. येथे प्रत्येक नावासाठी option 5% out-of-the-money असल्याने पहिली शाखा लागू होते. प्रत्येक जोडीतील उंच bar ही मोजली जाणारी रक्कम आहे.
लहान Python scriptने कोणतीही position तपासा
हे सूत्र एका fileमध्ये मावते. यासाठी python3 व्यतिरिक्त काहीही आवश्यक नाही. Standard library पुरेशी आहे. pip install किंवा networkची गरज नाही. ती file naked_margin.py या नावाने जतन करा.
#!/usr/bin/env python3
"""Reg T style minimum for one uncovered (naked) equity option.
Prints both branches of the requirement and the one that binds.
Standard library only. Educational, not a broker quote.
"""
import argparse
SHARES_PER_CONTRACT = 100
def branches(kind, spot, strike, premium, rule_pct, floor_pct):
if kind == 'call':
out_of_money = max(strike - spot, 0.0)
floor_base = spot
else:
out_of_money = max(spot - strike, 0.0)
floor_base = strike
rule = rule_pct * spot - out_of_money + premium
floor = floor_pct * floor_base + premium
return rule, floor
def report(kind, spot, strike, premium, rule_pct, floor_pct):
rule, floor = branches(kind, spot, strike, premium, rule_pct, floor_pct)
if rule >= floor:
binds = '{0:.0%} branch'.format(rule_pct)
else:
binds = '{0:.0%} floor'.format(floor_pct)
print('naked {0}: spot {1:.2f}, strike {2:.2f}, premium {3:.2f}'.format(
kind, spot, strike, premium))
print(' {0:.0%} branch: {1:.2f} per share, {2:.2f} per contract'.format(
rule_pct, rule, rule * SHARES_PER_CONTRACT))
print(' {0:.0%} floor: {1:.2f} per share, {2:.2f} per contract'.format(
floor_pct, floor, floor * SHARES_PER_CONTRACT))
print(' binds: {0}, requirement {1:.2f} per contract'.format(
binds, max(rule, floor) * SHARES_PER_CONTRACT))
def main():
ap = argparse.ArgumentParser(description='Reg T style naked option minimum')
ap.add_argument('--spot', type=float, required=True, help='underlying price')
ap.add_argument('--strike', type=float, required=True, help='strike price')
ap.add_argument('--premium', type=float, required=True, help='premium per share')
ap.add_argument('--index', action='store_true', help='broad based index rate')
args = ap.parse_args()
rule_pct = 0.15 if args.index else 0.20
for kind in ('call', 'put'):
report(kind, args.spot, args.strike, args.premium, rule_pct, 0.10)
if __name__ == '__main__':
main()
या दोन runsमध्ये लागू होणारी शाखा बदलते. दोन्हीमध्ये सोपी काल्पनिक आकडेवारी वापरली आहे.
$ python3 naked_margin.py --spot 100 --strike 105 --premium 1.50
naked call: spot 100.00, strike 105.00, premium 1.50
20% branch: 16.50 per share, 1650.00 per contract
10% floor: 11.50 per share, 1150.00 per contract
binds: 20% branch, requirement 1650.00 per contract
naked put: spot 100.00, strike 105.00, premium 1.50
20% branch: 21.50 per share, 2150.00 per contract
10% floor: 12.00 per share, 1200.00 per contract
binds: 20% branch, requirement 2150.00 per contract
$ python3 naked_margin.py --spot 100 --strike 85 --premium 0.60
naked call: spot 100.00, strike 85.00, premium 0.60
20% branch: 20.60 per share, 2060.00 per contract
10% floor: 10.60 per share, 1060.00 per contract
binds: 20% branch, requirement 2060.00 per contract
naked put: spot 100.00, strike 85.00, premium 0.60
20% branch: 5.60 per share, 560.00 per contract
10% floor: 9.10 per share, 910.00 per contract
binds: 10% floor, requirement 910.00 per contract
पहिल्या runमध्ये strike underlyingपेक्षा 5% वर आहे. तो 10% crossoverच्या आत असल्याने call आणि put दोन्हीसाठी पहिली शाखा लागू होते. दुसऱ्या runमध्ये strike underlyingपेक्षा 15% खाली आहे. त्यामुळे callमध्ये पहिली शाखा लागू राहते, तर put पुरेसा out-of-the-money असल्याने 10% floor लागू होतो. तुमचे inputs --spot, --strike आणि --premium वापरून script चालवा. Broad based indexसाठी 15% दर वापरायचा असल्यास --index जोडा. Scriptने दाखवलेली रक्कम broker मागू शकणाऱ्या marginची किमान पातळी आहे; ती कमाल मर्यादा नाही.
विक्रीनंतर requirementमध्ये कोणते बदल होतात
ही रक्कम एकदाच निश्चित होत नाही. Underlyingच्या किमतीनुसार तिची दररोज पुनर्गणना केली जाते. Underlyingची किंमतही बदलत असते. खालील traceमध्ये AAPLने April 2026मध्ये ज्या किमतीवर सुरुवात केली, त्यापेक्षा सुमारे 10% वरचा short call strike निश्चित केला आहे. त्यानंतर Juneच्या अखेरपर्यंत शेअरच्या किमतीच्या टक्केवारीनुसार requirementचा मागोवा घेतला आहे.
प्रत्येक आकड्यामागील अचूक SQL
SELECT
toString(d.dt) AS session_date,
round(d.px, 2) AS underlying_close,
round(100 * (s.short_strike - d.px) / d.px, 2) AS cushion_pct,
round(100 * greatest(0.20 * d.px - greatest(s.short_strike - d.px, 0.0),
0.10 * d.px) / d.px, 2) AS requirement_pct
FROM
(
SELECT
date AS dt,
max(toFloat64(underlying_close)) AS px
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date BETWEEN '2026-04-01' AND '2026-06-30'
GROUP BY date
) AS d
CROSS JOIN
(
SELECT round(1.10 * argMin(toFloat64(underlying_close), date), 0) AS short_strike
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date BETWEEN '2026-04-01' AND '2026-06-30'
) AS s
ORDER BY d.dtPositionची सुरुवात crossoverवर होते. ती शेअरच्या किमतीच्या 10.19% इतकी असते आणि strikeपर्यंत 9.81% headroom असतो. कालावधीच्या शेवटी ती 20%वर पोहोचते. शेअरची किंमत short call strikeकडे वाढत असताना out-of-the-money वजाबाकी कमी होते. Requirement पूर्ण 20%च्या दिशेने वाढते. आणखी चार घटक तिच्यावर परिणाम करतात:
- Assignment झाल्यावर option संपतो आणि शेअर किंवा short stock position मिळते. तिची स्वतःची requirement असते. Short optionsवरील early assignment प्रामुख्याने dividends आणि deep in-the-money strikesच्या आसपास आढळते.
- House requirements regulatory minimumच्या वर असतात. Uncovered positionsसाठी brokers नियमितपणे Reg Tपेक्षा जास्त रक्कम ठरवतात. Volatile namesवर ही रक्कम कधी कधी त्याच्या अनेक पटींमध्ये असते.
- Positionविरुद्ध हालचाल झाल्यास requirement वाढते आणि त्याच वेळी account equity कमी होते. या दोन्हीमधील फरकामुळे maintenance call निर्माण होतो.
- Portfolio margin ही स्वतंत्र व्यवस्था आहे. Approved accountमध्ये संपूर्ण bookच्या stress testनुसार margin आकारला जातो. Equity underlyingमध्ये सुमारे 15% वर किंवा खाली हालचाल गृहीत धरली जाते. बहुतेक brokersकडे accountसाठी किमान सहा आकडी रक्कम आवश्यक असते. Hedged bookसाठी ही रक्कम Reg Tपेक्षा बरीच कमी असू शकते. Volatility वाढल्यावर ती अधिक वेगाने बदलते.
यापैकी कोणतीही माहिती शिफारस नाही. Uncovered sellingमध्ये call बाजूला तोटा अमर्यादित असू शकतो आणि put बाजूला तोटा अतिशय मोठा असू शकतो. Options trading किती जोखमीचे आहे या वितरणाचे आकडेवारीसह स्पष्टीकरण देते.
वारंवार विचारले जाणारे प्रश्न
नॅकेड put विकण्यासाठी मला किती margin आवश्यक आहे?
Regulatory minimum दोन शाखांपैकी जास्त असतो. दोन्ही शाखांमध्ये मिळालेला premium समाविष्ट असतो: underlying priceच्या 20% मधून out-of-the-money रक्कम वजा करणे, किंवा strike priceच्या 10%चा floor. $100च्या शेअरवर $90 strikeचा put $0.60ला विकल्यास पहिली रक्कम प्रति शेअर $10.60 आणि floor $9.60 येतो. त्यामुळे एका contractसाठी margin $1,060 असतो. Brokers सामान्यतः त्यापेक्षा जास्त margin मागतात.
प्रत्येक brokerकडे naked option margin समान असतो का?
नाही. Reg T आणि FINRA Rule 4210 किमान पातळी ठरवतात. प्रत्येक broker त्यावर house requirement वाढवू शकतो. अनेक brokers single namesसाठी आणि earnings datesच्या आसपास असे करतात. प्रकाशित सूत्र तुम्हाला rangeची खालची पातळी दाखवते. तुमच्या platformवर दिसणारी वास्तविक रक्कम वेगळी असू शकते.
मला मिळालेला premium requirementमध्ये धरला जातो का?
मिळालेला premium सूत्रातील दोन्ही शाखांमध्ये जोडला जातो. Trade settle झाल्यावर तो accountमध्ये credit केला जातो. तो कोणती शाखा लागू होईल हे बदलत नाही, कारण तो दोन्ही बाजूंना समान रकमेने जोडला जातो.
Naked index optionसाठी margin किती असतो?
Broad based index optionsसाठी 20%ऐवजी 15% वापरले जाते. 10% floor आणि premiumची अट तीच राहते. Broad indexचा मागोवा घेणाऱ्या ETFवरील optionsना 20% दराने equity options मानले जाते. त्यामुळे कमी टक्केवारीची तरतूद wrapper बदलल्यामुळे ETF exposureला लागू होत नाही. दोन्ही regulatory minimums आहेत.
Naked option धरून ठेवल्यावर त्याची requirement बदलू शकते का?
होय. Underlyingच्या किमतीनुसार तिची पुनर्गणना केली जाते. त्यामुळे शेअरची किंमत बदलली की requirementही बदलते, हे वरील traceमध्ये दिसते. Short call strikeकडे किंमत वाढल्यास रक्कम वाढते. Open positionवर broker house requirement वाढवू शकतो.
येथील प्रत्येक panel तयार करणारा SQL code दाखवते. त्यामुळे कोणती branch कशी मोजली आहे हे पाहण्यासाठी कोणतेही panel उघडा. तुम्ही पाहत असलेल्या नावावर हीच chain math चालवण्यासाठी Strasmore terminalवर साध्या इंग्रजीत विनंती करा.