DEV Community

shakti tiwari
shakti tiwari

Posted on • Originally published at optiontradingwithai.in

Greeks क्या होते हैं — Delta, Gamma, Theta, Vega (हिंदी)

Greeks और Option Value

सीधी बात: Greeks वे संख्याएँ हैं जो बताती हैं कि Market Price, Time और Volatility बदलने पर Option का Value कैसे बदलेगा। चार मुख्य हैं — Delta (direction), Gamma (Delta की speed), Theta (time cost), Vega (volatility sensitivity)। नीचे Python code से इन्हें समझना है।

सिर्फ सीखने के लिए। निवेश सलाह नहीं।

चारों Greeks एक साथ

Greek अर्थ चिह्न
Delta Direction sensitivity -1 से 1
Gamma Delta की speed +
Theta Time decay (घटता) - (Long)
Vega IV sensitivity +

Delta — Direction

Delta बताता है कि Underlying (Stock/Index) कीमत में 1 रुपये बदलने पर Option का Value कितना बदलेगा।

  • Call का Delta: 0 से 1 के बीच।
  • Put का Delta: -1 से 0 के बीच।
  • ATM (Strike ≈ Spot) Call का Delta ≈ 0.50।

Gamma — Delta की Speed

Gamma बताता है कि Delta खुद कितनी तेजी से बदलता है। ज़्यादा Gamma = कीमत हिलने पर Position तेजी से बदलती है (Risk + मौका)।

Theta — Time का खर्च

हर दिन गुज़रने पर Long Option का Value घटता है (Theta negative)। इसीलिए कहते हैं "Time आपके ख़िलाफ़"।

# Mac / Linux / Termux
python3 greeks_demo.py
# Windows CMD
py greeks_demo.py
Enter fullscreen mode Exit fullscreen mode
# Nifty 24800 ATM call उदाहरण
greeks = {"delta": 0.50, "gamma": 0.002, "theta": -12.0, "vega": 35.0}
spot_move = 10
new_value = greeks["delta"] * spot_move        # +5 रु
time_cost = greeks["theta"]                     # -12 रु प्रति दिन
iv_gain = greeks["vega"] * 2.0                  # अगर IV +2% तो +70 रु
print("Value बदलाव:", round(new_value + time_cost + iv_gain, 2))
Enter fullscreen mode Exit fullscreen mode

Worked Numbers (Nifty 24800 ATM Call)

Delta = 0.50, Gamma = 0.002, Theta = -12, Vega = 35, DTE = 8।

  • Nifty +10 → Call +5 रु (Delta), पर Theta -12 रु/दिन काट रहा।
  • 8 दिन में Theta कुल = -96 रु (अगर पकड़े रहे)।
  • Vega = 35 → अगर IV +2% तो +70 रु (बड़ा move)।
  • Risk Layer Vega > 8 देखकर Block करती है → सही।

Theta क्यों दुश्मन है

Long Option पकड़ने की रोज़ की कीमत Theta है। इसलिए:

  • DTE कम हो तो Theta तेज → जल्दी बाहर निकलो।
  • Risk Layer DTE <= 1 पर Block करती है।

पूरी Production Pipeline (Data Engine → Predictor → Filter)

कच्चे बाज़ार Data और Trade के बीच पाँच चरण होते हैं:

1. Data Engine     हर कुछ सेकंड में Chain + IV + PCR लाएँ
2. Feature Engine  build_features() → साफ, duplicate हटाएँ, label
3. Predictor       Model → हर Strike की Probability
4. Filter          Greeks + Regime + Prob-band rules → allow/block
5. Executor        paper या live entry, size तय
Enter fullscreen mode Exit fullscreen mode

Data Engine ब्रोकर Feed से जोड़ता है। Feature Engine गलत Data हटाता है। Predictor Probability देता है। Filter सख्त नियम लगाता है — यही वजह है कि Model जो Training में नहीं देखा वो Regime भी सिस्टम झेल लेती है। Executor अनुमत Signal को size वाला Order बनाता है।

Market Microstructure और Liquidity (Model के लिए क्यों ज़रूरी)

Signal तभी काम करता है जब उसे लिक्विडिटी मिले। तीन microstructure facts जो Model मानता है:

  1. Bid-ask Spread छोटे edges को खा जाता है। ATM Option में 0.3% spread हो तो Signal को break-even के लिए 0.3% से ज़्यादा clear करना पड़ता है। spread_pct feature सजावट नहीं — पहला Filter है।
  2. Open Interest build-up support/resistance बनाता है। OI किसी Strike पर जमा हो तो Expiry में वो Strike magnet बनती है। Model OI concentration को नज़रअंदाज़ करे तो pinning effect गलत price करता है।
  3. Volume confirm करता है, OI position बताता है। बढ़ता Volume + बढ़ता OI = नया पैसा (trend confirm)। बढ़ता Volume + घटता OI = squaring (exhaustion)।

Entry भरोसा करने से पहले: spread tight, OI slope signal direction के साथ, volume exhaustion pattern में न हो।

Volatility Regime Detection (असली Code)

Market stationary नहीं है। Calm IV में सीखा Model vol spike में बिगड़ता है। Vol Index से Regime पहचानें:

# Mac / Linux / Termux
python3 regime.py
# Windows CMD
py regime.py
Enter fullscreen mode Exit fullscreen mode
def regime_state(vix, vix_ma20):
    z = (vix - vix_ma20) / (vix_ma20 + 1e-9)
    if z > 2.0:
        return "CRASH", 0.5      # size आधा
    if z > 1.0:
        return "STRESS", 0.75    # size घटाएँ
    if z < -1.0:
        return "CALM", 1.0       # full size
    return "NORMAL", 1.0
Enter fullscreen mode Exit fullscreen mode

CRASH state size 50% कर देता है — यही rule 2020 जैसे gaps में naive bots को बचाता है। Model की Probability वही रहती है; बस Executor की Capital adapt करती है।

Execution और Broker Reality

Backtest मानता है fill मध्य (mid) पर मिलेगा। Live fill ask (buy) / bid (sell) पर, plus brokerage और STT। तीन सच्चाइयाँ:

  • Brokerage + Taxes: per-lot flat fee + exchange charges। सस्ते Option का round-trip 0.5-1% का पड़ता है — Backtest में fees_bps रखें, zero नहीं।
  • Slippage: तेज बाज़ार में quoted mid signal और fill के बीच घूमता है। Position size छोटी रखें ताकि slippage edge से कम रहे।
  • Margin: short Options के लिए margin block, long के लिए premium। position_size() function premium risk से size करता है।

कभी ऐसा Backtest profit न दिखाएँ जो fees के बाद live account न दे सके।

Realistic Weekly Routine

Consistency bursts से जीतती है। इस सिस्टम का काम का हफ़्ता:

  • सोमवार: पिछले हफ़्ते का Chain CSV लाएँ, अगर drift alert बजा तो retrain, regime state देखें।
  • मंगल–गुरु: market hours में paper loop चलाएँ, हर entry/exit लॉग करें (Model की Probability + Filter का फैसला)।
  • शुक्रवार: expiry week हो तो DTE limits कसें, realized vs predicted देखें।
  • वीकेंड: एक regulatory update पढ़ें, broker margin rules बदले तो check करें।

ये get-rich loop नहीं — measurement loop है। 8-12 हफ़्ते ईमानदार paper logs के बाद असली edge पता चलती है।

Worked Example — पूरा नंबरों के साथ

मान लें Nifty 50 Spot = 24800, ATM Strike = 24800, Expiry 8 दिन दूर (DTE=8)।

Input Value
Spot 24800
ATM Strike 24800
IV 16%
Delta 0.50
Gamma 0.002
Theta -12 रु/दिन
Vega 35
OI 90000
Volume 6000
PCR 0.95
India VIX 14.5

Step 1 — Features बनाएँ: build_features() चलाने पर moneyness = 0, iv_skew ATM पर 0, theta_per_delta = -12/0.50 = -24

Step 2 — Model Prediction: मान लें Model ने prob_up = 0.62 दिया।

Step 3 — Risk Layer: 0.58 <= 0.62 <= 0.80 ✅, DTE=8 > 1 ✅, Vega=35 > 8 ❌ → BLOCK (Volatility बहुत है)।

यही अंतर है सही और गलत के बीच। Model bullish है पर Risk Layer ने रोका — क्योंकि Vega=35 मतलब IV बहुत high, ऐसे में Theta जल्दी काटता।

Step 4 — अगर Vega=5 होता: तब Risk Layer allow करती, size = (50000 * 0.01)/24 ≈ 20 units। 20 units का premium risk = 20 × 89 ≈ 1780 रु — छोटा, manageable।

ज़्यादा FAQ

प्र६. Vega high होने पर क्या करें?
या तो wait करें जब तक IV शांत न हो, या size आधा करें।

प्र७. DTE कम होने पर क्यों रोकें?
Theta तेज़ हो जाता है — हर दिन value घटती है, edge मार जाती है।

प्र८. Paper Trade कितने दिन?
कम से कम 20-30 trading sessions, ताकि अलग-अलग Regime देखें।

प्र९. Model कब Retrain करें?
जब drift alert बजे (feature mean 2 std घूमे) या हर सोमवार।

प्र१०. Loss कैसे control करें?
हर trade का max loss = premium ही (long option) → position size से ही सीमित।

Practical Tips Retail Traders के लिए

  • शुरू में सिर्फ 1 Index (Nifty या Bank Nifty) पर focus करें।
  • एक बार में 2-3 Strikes से ज़्यादा मत लें।
  • Expiry week में DTE limit कसें (<= 3)।
  • अपना हर trade लॉग करें — बिना लॉग के सुधार नहीं।
  • कभी भी पूरा capital एक trade में मत लगाएँ।

Glossary (और Terms)

  • Strike Price: वो कीमत जिस पर Option चलेगा।
  • Premium: Option खरीदने की कीमत (हमारा max loss)।
  • Spot: अंतर्निहित का वर्तमान भाव।
  • IV Crush: Expiry के पास IV गिरना (value टूटना)।
  • Hedging: एक position से दूसरे का risk कवर करना।
  • Break-even: वो Spot जहाँ न तो profit न loss।
  • Leverage: छोटी रकम से बड़ी exposure (F&O में common, risky)। ## Strategy Variations (अलग-अलग सेटअप)

एक ही Pipeline से कई रणनीतियाँ चल सकती हैं बिना Model बदले:

  • Directional Long: prob_up > 0.62 → ATM Call लें, DTE 5-15।
  • Spread: prob_up बैंड में + IV high → Bull Call Spread (limit Vega)।
  • Contrarian: PCR > 1.2 + Skew negative → mean-reversion Put sell (sophisticated, margin चाहिए)।
  • Vol Play: IV crush से बचने के लिए Expiry week में Long शुरू न करें।

हर वेरिएशन अलग Risk Layer सेटिंग्स लेता है — Vega limit, DTE limit, size multiplier अलग।

Model Comparison (कौन सा लें)

Model Speed Accuracy Phone fit
Logistic Regression सबसे तेज़ कम बढ़िया
HistGradientBoosting तेज़ अच्छी बढ़िया
XGBoost GPU तेज़ सबसे अच्छी wheel चाहिए
LightGBM सबसे तेज़ अच्छी बढ़िया

Retail के लिए HistGradientBoosting या LightGBM शुरुआत के लिए सही हैं — तेज़, सटीक, कम झंझट।

Troubleshooting (जब कुछ टूटे)

  • Model हमेशा 0.5 दे रहा → Features में bug, या Label leak।
  • Backtest profit, Live loss → fees/slippage नहीं जोड़ा।
  • डाटा गायब → Feed gap, stale mid मत भेजें Model को।
  • Overfit → max_depth कम करें, Early Stop चालू करें।
  • Regime बदला → Retrain, drift alert सुनें।

ये सब कॉमन हैं — हर एक का fix ऊपर लिखा है। जल्दबाज़ी मत करो, लॉग देखो।

Common Mistakes

  1. सिर्फ Delta देखना, बाकी भूल जाना।
  2. Theta को अनदेखा करना।
  3. Vega बढ़ने पर बड़ी Position लेना।
  4. Gamma समझे बिना Straddle लेना।

FAQ

प्र१. Delta क्या है?
Underlying कीमत बदलने पर Option Value का बदलाव।

प्र२. Theta negative क्यों?
क्योंकि समय गुज़रने पर Option की कीमत घटती है।

प्र३. Vega क्या बताता?
Volatility (IV) बढ़ने पर Value कितना बढ़ेगा।

प्र४. Gamma क्यों ज़रूरी?
यह बताता है कि Delta कितनी तेजी से घूमता है — बड़ी हिलने पर Position control के लिए।

प्र५. शुरुआत किससे करें?
पहले Delta और Theta समझें, फिर Gamma-Vega।

Glossary

  • ATM: Strike ≈ Spot।
  • ITM: In-the-money (Call के लिए Strike < Spot)।
  • OTM: Out-of-the-money।
  • IV: बाज़ार की अपेक्षित Volatility।
  • Skew: IV का Strike-to-ATM फर्क।

Footer

Shakti Tiwari — Options Trader, XGBoost Expert।
Books: Option Trading with AI (B0H9ZNTBPK) · The AI Opportunity (B0HBBFKDQF)
Site: optiontradingwithai.in · मुफ़्त मदद: shaktitiwari715@gmail.com
Dev.to: @shaktitiwari · X: @shaktitiwari

Top comments (0)