Nifty50 Options - From Beginner to Advanced

Nifty50 Options From Beginner to Advanced

From First Principles to Advanced Trade Design

by Anupam Dutta


About the Author

Author

I am Anupam Dutta, and this is my Quant Research Lab. Trading is not just what I do, it’s who I am. My journey didn’t begin in the markets. For over a decade, I worked as a Mechanical Engineer in multinational companies, solving technical problems and managing projects. But deep down, I always wanted freedom, the ability to back my own decisions and live by the results.

In April 2019, I made the leap and committed myself fully to the Indian equity index options market, with Nifty50 as my main battlefield. I started by watching open interest shifts, decoding implied volatility, and experimenting with volatility surface behavior. Slowly, through trial and error, I built my own frameworks like NCP40 and RSEDAO. These weren’t born in classrooms, they came from long nights, blown trades, and lessons the market forced me to learn.

I don’t claim to have ā€œmasteredā€ the market. Nobody does. But I’ve built a process, and this book is my attempt to share it with you in the same way I wish someone had shared it with me when I started.

Part I Foundations

1.1 What is an Option?

Level: Beginner Ā· Focus: Nifty50 Ā· Time to read: ~5 min

When I first encountered the word option it sounded like a textbook trap ; full of formal sentences and caveats. Later I realised an option is something I already do in life. When I pay a small booking amount to hold a hotel room, or reserve a flight ticket and decide later, I have purchased the right to complete the transaction; I am not obligated to. That small payment is exactly the idea behind an option.

Now, extend that story: suppose the check in date (or flight date) is the expiry. If I don’t show up, my booking amount (the premium) is gone forever. The hotel or airline doesn’t refund it. That is the cost of buying flexibility. In option terms, I let the contract expire worthless.

Author’s Note: Expiry is not an abstract line on a calendar. Imagine it’s Friday, and the option you bought expires on Tuesday. Every candle, every session, you can feel time bleeding away. By Monday night there’s one session left. If Nifty50 does not move in your favour by Tuesday’s close, the premium you paid is gone forever. That’s the drill: the contract either pays out on expiry, or it dies worthless right then and there.

Simple example: I buy a Nifty50 22,000 Call on Friday for ₹100. If Nifty closes at 21,950 on Tuesday the option finishes worthless and I lose ₹100. If Nifty closes at 22,200 on Tuesday the option finishes with about ₹200 intrinsic value, and my net P&L is roughly +₹100.

Nifty Close on Tuesday Option Value at Expiry P&L (Paid ₹100) 21,950 (Below 22,000) ₹0 āˆ’ā‚¹100 22,000 (At Strike) ₹0 āˆ’ā‚¹100 22,200 (Above Strike) ā‰ˆ ₹200 +₹100
Table: Friday buy at ₹100, Tuesday expiry outcomes for a Nifty 22,000 Call.
21,800 21,950 22,000 22,100 22,200 Strike 22,000 P&L +₹100 āˆ’ā‚¹100 22,200 → +₹100 22,100 → breakeven 22,000 → āˆ’ā‚¹100 (premium lost)
Figure: Expiry payoff line for a 22,000 Call bought at ₹100 on Friday, expiring Tuesday.

But notice the other side. The hotel or airline is the option seller. They receive my booking amount (premium) and keep it no matter what. If I don’t turn up, they simply pocket the money. If I do show up, they still have my premium but also must give me the service at the agreed price. This is exactly how the option seller’s payoff works in markets: limited profit (premium received), but potential liability if the buyer decides to exercise when the market moves.

So in Nifty50, when I buy a Call or Put, someone else has sold it to me. If the market expires quietly and my option is worthless, the seller keeps my premium. If the market explodes in my favour, the seller is the one paying me out. That tension between buyer’s right and seller’s obligation is the beating heart of the options market.

In this book we always talk about Nifty50. Think of an option on Nifty50 like a reservation: I pay a premium today to buy the right to buy or sell the index at a fixed level on expiry. The premium is the known, limited cost. The payoff - if the market moves in my favour ; can be much larger.

A concrete example: Nifty50 is at 22,000. I buy the 22,000 Call for ₹200.

Now the mirror: buy the 22,000 Put for ₹180. If Nifty collapses to 21,700, intrinsic = 300 → net profit = (300 āˆ’ 180) Ɨ 75 = ₹9,000. Again, my downside is capped at the premium I paid.

I like to summarise the core feeling in one sentence: buying an option = limited, known pain (the premium) for asymmetric upside; selling an option = collecting premium but carrying asymmetric, potentially large risk. That asymmetry is the source of both opportunity and danger in options.

Why this matters practically:

A quick real-world note: Nifty50 options are European-style and cash-settled. That means the right is exercised only at expiry and all settlements are in cash-no shares change hands. This simplifies many practical worries that appear in stock options (physical delivery or early assignment).

Mini exercise (do it mentally): You pay ₹150 for a 22,000 Call (lot 75). If Nifty at expiry = 22,200, what is your P/L? Work it out: intrinsic = 200 → net = (200 āˆ’ 150) Ɨ 75 = ₹3,750 profit.


1.2 Calls & Puts : Payoff Intuition

Level: Beginner Ā· Focus: Nifty50 Ā· Time to read: ~6 min

Let’s first get the intuition right. A Nifty50 option is just a contract whose value moves with the Nifty50. A Call Option becomes more valuable if Nifty50 goes up. A Put Option becomes more valuable if Nifty50 goes down. That’s it ; every single strategy you’ll ever trade is built on this simple foundation.

The option’s price (premium) is what you pay for that right. If Nifty moves in your favour, the premium can rise sharply. If it moves against you, the premium decays towards zero, and your maximum loss is only that premium.

Example: Nifty50 is at ₹22,000. You buy a 22,000 Call option by paying a premium of ₹200.

Strike = 22,000 Payoff (₹) Nifty Spot
Figure: Long Call payoff - capped risk (premium), unlimited upside.

Now flip it. Suppose you buy a 22,000 Put for ₹180. If Nifty expires at 21,700, payoff = (22,000 āˆ’ 21,700 āˆ’ 180) Ɨ 75 = ₹9,000.

Strike = 22,000 Payoff (₹) Nifty Spot
Figure: Long Put payoff - protection against downside, risk limited to premium.

Now let’s bring in the other side - the seller. The seller of these options is like the hotel keeping your booking fee. If Nifty doesn’t move much, the seller keeps the entire premium. But if Nifty explodes, the seller must pay out the difference. That’s why option sellers need big margins.

PositionNifty expiry levelPayoff (per lot)
Buy 22,000 CE @ 20022,500+₹22,500
Sell 22,000 CE @ 20022,500āˆ’ā‚¹22,500
Buy 22,000 PE @ 18021,700+₹9,000
Sell 22,000 PE @ 18021,700āˆ’ā‚¹9,000

This table shows the symmetry: the buyer’s profit is exactly the seller’s loss, and vice versa. But notice the risk profiles: buyers risk only the premium, sellers can face large losses. That is why combining Calls and Puts into spreads is so powerful ; it balances risk and reward into shapes that suit your view.

That’s it. Every spread, condor, butterfly, or hedge you’ll ever see is just clever ways of mixing Calls and Puts. Master these two, and the rest is just combinations.


1.3 Option Terminology (Strike, DTE, IV)

Level: Beginner Ā· Focus: Nifty50 Ā· Time to read: ~7 min

When I first started out, all the jargon confused me. Strikes, IV, expiry cycles ; it felt like a new language. Over time, I realised these are just tools. Once you get them, you see the market differently. Let me explain the way I personally use these terms in my trading.

Now let me bring in something I watch every single day: India VIX.

India VIX is built directly from Nifty50 option prices. I call it the ā€œfear index.ā€ When VIX is high, the market is screaming that wild moves are coming. When VIX is low, traders are relaxed and expect small ranges. The catch? VIX doesn’t say direction, it only signals the size of the move that’s being priced in.

Here’s how I actually use it. VIX is annualised. So if India VIX = 20, I divide by √365 to get the daily move. That’s about 1.05% a day. On Nifty50 at 22,000, that’s roughly ±230 points. This gives me a ā€œprobable rangeā€ for the next session. It’s not perfect, but it’s my starting point for planning trades.

And the extremes tell a story. In March 2020 during the COVID crash, India VIX exploded above 80. That meant the market was pricing in ±5% daily moves. I still remember Nifty50 falling -1,000 points in a single day ; straddles were trading at prices I had never seen before. That was when I learnt the hard way: never disrespect volatility. Price you can fight, but volatility will humble you.


1.4 European vs American, Settlement

Level: Beginner Ā· Focus: Nifty50 Ā· Time to read: ~6 min

Now let’s talk style. In India, all index options (Nifty50, Bank Nifty, Finnifty) are European style and cash settled. That means three things:

  1. No early exercise: you cannot exercise the contract before expiry. Only at expiry is your option checked for value.
  2. Cash settlement: no shares ever change hands in index options. Profits and losses are settled in cash directly into your trading account.
  3. Settlement Price: calculated from Nifty’s Special Closing Price (weighted average of last 30 minutes on expiry day).

This is very different from the US, where many stock options are American style and can be exercised anytime, and some are physically settled. Here in India, the rules for index options are simpler and safer for retail traders. If you go long, your maximum loss is just the premium you paid. If you go short, exchange margin rules make sure you have funds set aside to cover potential losses.

Exercise vs Settlement vs Square Off

Bonus: Stock Option Settlement

Since October 2019, NSE made all stock options physically settled. This means if you hold ITM contracts at expiry, you may be forced to give or take delivery of shares:

Example: You sell Reliance 2500 CE and it expires ITM. You may have to deliver 505 shares of Reliance. That’s a huge obligation ; over ₹15 lakh exposure at current prices. This is why margins on stock options spike near expiry, and why I personally never carry naked stock options into expiry.

Key takeaway for us:
Nifty50 options are cash only, expiry specific, and European in style. Stock options are a different beast ; they can land you in physical delivery. My rule: with Nifty50 I’m relaxed about expiry, with stock options I always square off or hedge before expiry week.


1.5 Margins and Calculation

Level: Beginner Ā· Focus: Nifty50 Ā· Time to read: ~5 min

One of the first shocks I got when I moved from buying options to selling them was the margin requirement. When you buy an option, the maximum loss is the premium you pay ; nothing more. But when you sell (write) an option, the potential loss can be very large. The exchange knows this, so they block a margin in your account to cover that risk.

Buying Options : Simple

Example: You buy Nifty50 22,000 CE at ₹200. Lot size = 75. Your cost is just ₹200 Ɨ 75 = ₹15,000. That’s it : no margin, no extra requirements. Your risk is capped at ₹15,000.

Selling Options - Margin Heavy

Now flip it. You sell the same 22,000 CE at ₹200. The exchange will block roughly ₹1.2 to ₹1.5 lakh as margin for one lot. Why so high? Because if Nifty shoots up 500 points, your loss = (500 āˆ’ 200) Ɨ 75 = ₹22,500. If it jumps 1,000 points, the loss doubles. Margins are the exchange’s safety net to make sure you can cover such moves.

Margin Benefits with Spreads

Here’s the trick: the moment you hedge a position, margins drop sharply. Example: a Bull Call Spread.

Net cost = ₹9,000. Maximum risk = ₹9,000 (already paid). So the exchange doesn’t need to block ₹1.5 lakh ; only a small additional margin. This is why professional traders almost always use spreads instead of naked shorts.

How Margins are Calculated

Brokers in India use a system called SPAN + Exposure margin, defined by NSE. SPAN looks at worst case scenarios across different price and volatility moves. Exposure margin is an extra buffer. Together, they form the total margin blocked. You can check exact margins in your broker’s margin calculator ; I personally never place a short trade without confirming margin impact first.

My rule:
If I’m buying, I know my risk = premium Ɨ lot size. If I’m selling, I always check broker margin calculator, and I almost never sell naked ; spreads save both margin and sanity.


1.6 ITM, OTM, ATM

Level: Beginner Ā· Focus: Nifty50 Ā· Time to read: ~4 min

When I first heard these terms : ITM, OTM, ATM ; they sounded like banking codes. In reality, they are just simple ways of saying whether an option already has value or not compared to the current Nifty50 level. Let me explain in the simplest way I can.

Here’s how I mentally simplify it:

Calls love the market going up → ITM = below current price.
Puts love the market going down → ITM = above current price.

How I trade them:
: If I buy OTM options, I know I need a strong, fast move in my direction or else theta decay will kill me.
: If I buy ATM, I need a decent move ; I pay a fair price for a fair chance.
: If I buy ITM, I pay more upfront but the option already has value and a higher probability of profit.
Choosing between ITM, ATM, and OTM is not random ; it’s part of the strategy.


1.7 Open Interest

Level: Beginner Ā· Focus: Nifty50 Ā· Time to read: ~4 min

When I started trading, the term Open Interest (OI) sounded intimidating. In reality, it’s nothing more than a simple headcount: how many option contracts are still ā€œopenā€ in the market right now.

Example: I buy one Nifty50 22,000 CE and you sell it to me. Now Open Interest = 1 contract. If tomorrow I square off my position by selling that CE back in the market, OI reduces by 1. So OI goes up when new contracts are created, and goes down when contracts are closed.

Why do I care about OI? Because it shows me where traders are putting real money. If 22,000 CE has 25 lakh OI and 22,500 CE has 40 lakh OI, it means big players are actively betting at those strikes. Those levels often act like resistance or support during expiry.

How I read OI:
- High Put OI = strong support zone (sellers believe Nifty won’t go below this).
- High Call OI = strong resistance zone (sellers believe Nifty won’t go above this).
- Sudden OI build-up = fresh positions being created (watch the direction).
- Sudden OI unwinding = traders closing positions (sentiment is shifting).

Quick scenario: Nifty50 is at 22,000. Option data shows highest Call OI at 22,500 and highest Put OI at 21,800. I immediately note that market participants are expecting Nifty to expire between 21,800 and 22,500. If price suddenly breaks out of this range with volume, I know the option sellers are in trouble and the market can trend strongly.

So to me, OI is not a magic indicator. It’s just the footprints of money in the market. Follow the footprints, and you get a sense of where the crowd is standing.


1.8 Option Chain

Level: Beginner Ā· Focus: Nifty50 Ā· Time to read: ~6 min

If Open Interest is the raw number, the Option Chain is the full dashboard. It shows all strikes lined up, with Call data on one side and Put data on the other. When I open the Nifty50 option chain on NSE, here’s what I usually see: Strike Price, Last Traded Price (LTP), Volume, Open Interest (OI), and Change in OI ; all neatly arranged.

Let me show you a simplified sketch of an option chain:

CALLS STRIKE PUTS LTP Vol OI Chg OI Strike Chg OI OI Vol LTP 210 1.2k 18.5L +2.1L 22,000 +1.9L 20.2L 1.5k 195 145 900 22.0L +3.4L 22,100 +1.2L 18.7L 800 230 95 750 28.3L +4.0L 22,200 +900k 25.1L 1.0k 270 LTP = Last Traded Price, Vol = Volume, OI = Open Interest, Chg OI = Change in Open Interest
Figure: Simplified Nifty50 Option Chain view.

When I look at the option chain, I focus on:

Example: If Nifty50 is at 22,000 and the option chain shows highest Call OI at 22,500 and highest Put OI at 21,800, I assume expiry range is likely between 21,800 and 22,500. If price starts breaking outside this zone, it signals a trend shift and I prepare my strategies accordingly.

My habit: I check the option chain every morning. For me, it’s like checking the weather before stepping out - it tells me where the winds of the market are blowing.


Part II Mechanics & Models

From Theory to Practice Ā· Nifty50 Options

In this part I lay down the mathematical foundation, but I keep it practical and to the point. I’ll walk you through the core models and the exact tools I use when trading Nifty options. Don’t let the notation scare you; I always tie the math back to real trades so the equations stop being abstract and start to tell a story. My flow is straightforward: assumptions first, then the formula, then a numeric example you can follow step by step, and finally how I interpret the result when I’m making trading decisions. (Fun fact: the first time I ran a model live the numbers saved me from a nasty mistake; so yes, this stuff matters.)


2.1 The Black Scholes Model : Pricing the Invisible

Level: Intermediate Ā· Time: ~20 min Ā· Context: Nifty50 Options

When I first stepped into options, one question kept eating at me: how do I know if I’m overpaying or underpaying for an option? The market throws me a premium, but is that really ā€œfairā€? That’s where the Black Scholes Merton (BSM) model comes in. I treat it like a compass. It won’t chart the whole journey for me, but it does point me in the right direction.

What BSM Tries to Do

The model says: given the current Nifty50 level, strike, time left, volatility, and interest rate - what should the option be worth, on average, in a fair world? It’s not perfect, but it gives me an anchor price to compare against the live market.

Analogy: Imagine you want to insure your car. The premium depends on your car’s value, age, your driving history, accident probability, etc. Black Scholes is like the insurance company’s calculator ; it crunches those inputs and spits out a fair premium.

The Ingredients

Trader’s Tip: Normal Distribution Made Simple

The Black–Scholes model assumes market returns follow a normal distribution (bell curve). That means most of the time, small moves are common (the fat middle of the curve), and very large moves are rare (the thin tails).

N(d) simply tells me the probability that a random draw from this curve is less than d. For example:
N(0) = 0.5 → 50% chance
N(1) ā‰ˆ 0.84 → 84% chance

This is why N(d1) and N(d2) act like probability weights inside the Black Scholes formula. I don’t treat them as abstract math ; I see them as the ā€œprobability factorsā€ the model uses to balance risk and reward.

The Core Formulas

For a Call Option:

C = S Ɨ N(d1) āˆ’ K Ɨ eāˆ’rT Ɨ N(d2)

For a Put Option:

P = K Ɨ eāˆ’rT Ɨ N(āˆ’d2) āˆ’ S Ɨ N(āˆ’d1)

And the engine inside it is:

d1 = [ln(S/K) + (r + σ²/2)T] / (σ√T),
d2 = d1 āˆ’ σ√T

Don’t panic! You don’t need to calculate this by hand every day. Brokers and Excel can do it in seconds. But I want you to understand what each piece means ; that’s the real trader’s edge.

Step-By-Step Example (ATM Nifty Call)

Let’s price a 22,000 Call with 10 days to expiry:

Working it out:

  1. ln(S/K) = ln(22,000 / 22,000) = 0
  2. (r + σ²/2)T = (0.06 + 0.0225/2) Ɨ 0.027 ā‰ˆ 0.00195
  3. σ√T = 0.15 Ɨ √0.027 ā‰ˆ 0.0248
  4. d1 = 0.00195 / 0.0248 ā‰ˆ 0.079
  5. d2 = 0.079 āˆ’ 0.0248 = 0.054

Trader’s Tip: Don’t worry about memorising normal distribution tables. In Excel, you can directly calculate probabilities using the function =NORM.S.DIST(value, TRUE). In Google Sheets, the same function works: =NORM.S.DIST(d1, TRUE) gives you N(d1). So if d1 = 0.079, typing =NORM.S.DIST(0.079, TRUE) will return about 0.531. That’s exactly how we find N(d1) and N(d2) without manual lookups.

Look up normal distribution: N(d1) ā‰ˆ 0.5313, N(d2) ā‰ˆ 0.5215. Discount factor = eāˆ’0.06 Ɨ 0.027 ā‰ˆ 0.998.

So, C = 22,000 Ɨ 0.5313 āˆ’ 22,000 Ɨ 0.998 Ɨ 0.5215 = 11,688 āˆ’ 11,466 = ₹222.

Result: the model says the ATM call should be worth about ₹222. When I check NSE option chain, prices are indeed close. That’s the power : not precision, but perspective.

Volatility ↑ → Premium ↑ Option Premium
Figure: As volatility (σ) rises, option premiums climb.

More Scenarios

Let’s change the inputs and see what happens.

Time passes → Option value decays Option Premium
Figure: Time decay (theta) eats away at option value as expiry approaches.

How I Actually Use BSM

I never sit with a calculator on live trades. That’s pointless. What I do is compare: if market premium ≫ BSM fair value → IV is inflated, good for selling strategies. If market premium ≪ BSM → options are cheap, maybe worth buying. The edge lies in the gap between model and market.

Key takeaway: Black Scholes is not gospel. It’s an anchor. The market can and will deviate. My job as a trader is to spot when those deviations are big enough to exploit.

Reality Check: When Black Scholes Works… and When It Fails

In normal, liquid markets, Black Scholes has done a pretty good job. For example, most of the time in Nifty50 weekly and monthly expiries, the fair values it predicts are very close to the actual market premiums. That’s why it became the global standard for pricing options. Banks, brokers, and funds all used it as the default model for decades.

But sometimes, reality throws up scenarios that no formula can handle. The best example is April 2020, when Crude Oil futures traded below zero for the first time in history. Black Scholes assumes the underlying can never go negative (because it models prices as ā€œlognormalā€). When crude oil went to āˆ’$37, the entire model broke down. Options on crude oil suddenly had payoffs that no one had ever imagined. A put option with strike $0, which in theory should never have any value, suddenly became worth more than the underlying contract itself.

That event was a wake-up call: models are useful, but markets can go places models never expect. For me, the lesson was clear ; use Black Scholes as an anchor, not a prophecy. Respect the model, but respect the market more.

Further Reading: Beyond Black Scholes

If this chapter sparked your curiosity, here are some models and resources you can explore to go deeper. I don’t recommend memorising formulas : instead, see how each model tweaks assumptions to better fit real markets:

My advice: Don’t drown in formulas. Start with intuition. Use Black–Scholes as your base anchor, and then learn where real-world traders adjust it. That’s where the edge lives.

Over time, I realised that pure theory wasn’t enough. Markets don’t always respect textbook assumptions, especially in Nifty50. So I took Black–Scholes as my starting point and then built my own proprietary upgrades based on live trading experience. This is how models like NCP40 and RSEDAO were born : not in a classroom, but in front of the trading screen. They are my personal extensions of the classic model, shaped by volatility dislocations, option chain dynamics, and thousands of hours of observation.

I’ll introduce both NCP40 and RSEDAO in the later part of this book. For now, just know that even a Nobel Prize model like Black Scholes is just a stepping stone. The real breakthroughs come when you use it, break it, adapt it, and rebuild it in your own trading context.


2.2 Implied Volatility (IV) & The Volatility Surface

Level: Intermediate Ā· Time: ~15 min Ā· Context: Nifty50 Options

When I look at an option premium on NSE, the market doesn’t tell me its volatility outright. Instead, I reverse-engineer it: I ask, ā€œWhat volatility number makes the Black Scholes price equal to this market price?ā€ That number is called Implied Volatility (IV). Think of IV as the market whispering to me: ā€œHere’s how wild I think the future will be.ā€

IV vs Realized Volatility

This part confused me a lot when I was new. So let me make it crystal clear:

Example: Suppose Nifty50 has been moving ~150 points per day over the last 2 weeks. That’s about 12% realized volatility annualized. But if I check the option chain and see the ATM options trading at 20% IV, the market is bracing for bigger moves ahead. That mismatch "forecast vs reality" : is where trades are born.

Trader’s Trick: If IV > Realized vol → options are ā€œexpensiveā€ (selling may pay). If IV < Realized vol → options are ā€œcheapā€ (buying may pay). The trade lies in that gap.

The Smile & Skew

Here’s something that shocked me the first time I plotted IV across strikes: it wasn’t flat. In Nifty50, OTM Puts almost always trade at higher IV than Calls. Why? Because institutions constantly hedge downside risk, and that demand pumps up put premiums. The result isn’t a perfect ā€œsmileā€ but a tilted ā€œsmirkā€ : higher on the left (puts).

Example snapshot (weekly Nifty expiry):

Strike Price IV (%) Nifty Skew (smirk)
Figure: In Nifty50, downside puts trade at higher IV than calls : a skew, not a flat line.

As a trader, I don’t ignore this. If I want to sell options, I’d rather sell the ā€œfatā€ IV (the puts) and hedge smartly, instead of shorting already cheap calls.

The Term Structure

Now let’s talk across time. IV changes with expiry dates : this is called the term structure of volatility. Example: Before the Union Budget, weekly IV may shoot to 20%, while the 3-month IV stays calm at 15%. That tells me: the short term is nervous, the long term is chilled.

Expiry (1W → 6M) IV (%) Short-term IV (spike) Long-term IV (calmer)
Figure: Term structure : short term IV can spike around events while long term IV stays smoother.

That’s why strategies like calendar spreads exist: sell the hot short-term IV, buy the cooler long term IV. It’s like selling overpriced fireworks before Diwali, while holding insurance for the long run.

The Volatility Surface

Put together "strike by strike" skew (smile/smirk) and "expiry by expiry" term structure, and you get the volatility surface. It’s a 3D map: strike on one axis, time on another, IV on the vertical. For me, it’s like a landscape of fear and greed. Trading edge lies in spotting where the surface is distorted "maybe one expiry is too high", or one strike too cheap compared to neighbors.

My takeaway: IV is not just a number. It’s the market’s language for expectation and fear. Once I learnt to read IV smiles, skews, and surfaces, I stopped seeing options as random quotes ; I started seeing them as footprints of the crowd’s psychology.


2.3 Greeks : My Risk Dashboard

Level: Intermediate Ā· Time: ~15 min Ā· Context: Nifty50 Options

If Black Scholes is my compass, then the Greeks are the cockpit instruments. When I take a trade, I don’t just look at the premium. I want to know how my position will react to moves in price, time, and volatility. That’s what Delta, Gamma, Theta, Vega (and sometimes Rho) tell me. Without them, I’d be flying blind.

Delta (Ī”)

Delta tells me how much my option’s price changes if Nifty moves 1 point. Example: an ATM call usually has Ī” ā‰ˆ 0.5. So if Nifty jumps 100 points, my call gains about 50 points. It also doubles up as a hedge ratio : Delta shows how many units of futures I’d need to neutralize an option position.

Gamma (Ī“)

Gamma is how fast Delta itself changes. This is why, near expiry, Delta can swing violently from 0.5 to 0.7 within a 100 point move. High Gamma means your risk profile flips quickly. That’s why shorting ATM options in expiry week is like sitting on a ticking bomb.

Theta (Θ)

Theta is the silent bleed "the daily decay". If my option has Θ = āˆ’10, it means I lose ₹10 per lot every single day if Nifty doesn’t move. Option buyers feel this as ā€œtime decay pain.ā€ Option sellers, on the other hand, collect this decay as income.

Vega

Vega tells me how sensitive my option is to volatility. If Vega = 50, then a 1% rise in IV adds ₹50 per lot to my premium. This is critical around events (Budget, RBI policy) when IV spikes or collapses.

Rho (ρ)

I don’t use it daily for Nifty, but Rho measures sensitivity to interest rates. In equity index options, it’s usually small, but in currency or bond markets it matters.

Option Snapshot (ITM Call, Nifty50) Spot: 25,239 | Strike: 25,050 | DTE: 14 Implied Volatility: 11.3% Delta: 0.70 Gamma: 0.0006 Vega: 17.2 Theta: āˆ’11.7 / day Rho: 6.6 Source: NCP40 model (based on Black–Scholes, with upgrades)
Figure: Example Greeks summary for one ITM call : my risk dashboard at a glance.

This kind of dashboard (like what you will see in my NCP40 App) is how I manage risk. I don’t think of a trade only in terms of ā€œpremium paidā€ or ā€œpremium received.ā€ I think in terms of how my Greeks are aligned. Am I long Delta or short? How exposed am I to Gamma flips? How much time decay am I bleeding? That’s how pros survive in the options jungle.

My tip: Always watch your portfolio Greeks, not just single trades. You might be long Delta in one position and short Delta in another - what matters is the net exposure. That’s how real risk management is done.


2.4 Nifty Spot vs Futures : My Real Anchor

Here’s a mistake I see all the time: traders price Nifty options off the index spot. But you can’t actually trade the spot "it’s just a number". The real instrument is Nifty Futures, and that’s what I always use as my anchor.

The fair value formula:

F = Spot Ɨ e(r āˆ’ d)T

where r = risk free rate (RBI Repo Rate), d = dividend yield, and T = time to expiry. This basically says futures trade at a small premium to spot because of cost of carry.

Worked Example

(r āˆ’ d)T = (0.06 āˆ’ 0.012) Ɨ 0.25 = 0.048 Ɨ 0.25 = 0.012. e0.012 ā‰ˆ 1.012. So fair futures = 22,000 Ɨ 1.012 = 22,264.

Now, if the actual futures are trading at 22,400, they’re rich. If they’re at 22,200, they’re cheap. Arbitrage desks hunt for this difference, but as a retail trader, I simply make sure I price my options off the futures ; not the index print. That keeps my valuations consistent with what’s tradable.

Days to Expiry → Futures Price Carry Cost Premium
Figure: Futures drift above spot due to interest dividend carry.

My takeaway: I never model off Nifty spot. I always use the Nifty futures price. That one small habit keeps my entire pricing and hedging framework accurate.


Part II : My Quick Recap

Part III Strategy & Execution

Nifty50 Options : The Trader’s Bible (hands on, example driven)

This part is my personal operating manual. I’m going to show you how I actually build, manage, and adjust trades in Nifty options. Each strategy will follow a flow I’ve used in my own trading: (1) clear definition, (2) why I’d use it, (3) a full worked example with Nifty (lot size = 75), (4) how Greeks shape the trade, (5) my entry/exit/adjustment rules, and (6) practical notes on risk and margin. Think of this as me opening up my notebook for you.


3.1 Vertical Spreads : The Building Blocks

Why I use verticals: they give me defined risk, defined reward, and they cut down margin compared to naked positions. For a retail trader, verticals are the safest entry point into options spreads.

Bull Call Spread (Debit Spread) - My go-to bullish spread

Setup: I buy 22,000 CE and sell 22,500 CE (same expiry). Let’s assume Nifty is trading exactly at 22,000.

Net debit per unit: 200 āˆ’ 80 = 120.

Net debit per lot (lot = 75): 120 Ɨ 75 = 9,000. That ₹9,000 is my maximum risk.

22,000 22,500 Nifty Spot
Bull Call Spread payoff at expiry with Nifty lot size = 75.

How I use it: if I expect a steady, not explosive, move up. I don’t need to gamble with naked calls "I pay a fixed cost, and my upside is capped but meaningful."

Entry rule: I take this when I have a mild bullish view and I see IV reasonably priced. Exit rule: I usually book out when I’ve captured 50–70% of the max profit, or if my view is wrong and time decay eats too much value.

My Adjustments


3.1.1 Other Vertical Variants

I don’t want you to just memorize names ; here’s how I think of them:


3.2 Straddles & Strangles : My Volatility Bets

When I trade straddles or strangles, I’m not betting on direction; I’m betting on movement. I use them when I know a big move is coming but I don’t know which way.

Worked Long Straddle Example

Buy 22,000 CE @ ₹200 and 22,000 PE @ ₹180. Total premium = ₹380. For 1 lot (75): 380 Ɨ 75 = 28,500. That’s my maximum loss.

If Nifty explodes up or down beyond these breakevens, I profit. If it stays flat, I bleed ₹28,500.

How I judge a straddle

I compare cost vs expected move. Expected move ā‰ˆ S Ɨ σ Ɨ √T. If that’s bigger than the premium, buying makes sense. If smaller, selling might.

Example: ATM IV = 18%, T = 7 days, S = 22,000. Expected move ā‰ˆ 22,000 Ɨ 0.18 Ɨ √(7/365) ā‰ˆ 548 points. Since breakevens are ±380, this looks underpriced "a trader might buy." But remember, realized vol must show up. No move = guaranteed bleed.


3.2.1 Iron Condors & Butterflies : Income with Boundaries

These are the "bread and butter" income strategies. They let me collect theta, but with capped risk.

Iron Condor Example

Nifty = 22,000. I sell 21,400 PE (₹40), buy 21,300 PE (₹30). I sell 22,600 CE (₹45), buy 22,700 CE (₹35). Net credit = (10 + 10) = ₹20. Per lot (75) = 20 Ɨ 75 = 1,500.

Max profit: ₹1,500 (if Nifty stays between 21,400–22,600). Max loss: Wing width (100 āˆ’ 20) Ɨ 75 = 80 Ɨ 75 = 6,000.

Butterfly Example

I buy 21,500 CE, sell 2Ɨ22,000 CE, buy 22,500 CE. It’s cheap "maybe a few thousand rupees debit." If expiry pins near 22,000, I make a multiple of that cost. I use butterflies when I expect expiry pinning near a strike.


3.3 Volatility Trading : Skew, Term & Events

Here’s how I read vol surfaces: puts are usually richer, calls cheaper. I check term structure; weeklies spike, longer expiries smooth. And I always check events; RBI, Budget, elections.


3.4 Delta Hedging & Gamma Scalping : My Professional Tool

This is where I move from retail to professional mode. When I’m long gamma (long options), I hedge with futures to stay delta neutral. I scalp the swings. If Nifty zigzags enough, the scalps beat my theta cost.

Example: I buy 2 ATM calls, total delta ā‰ˆ +75 (2 Ɨ 0.5 Ɨ 75). To neutralize, I short 1 futures (75). When Nifty rises, my options gain delta : I sell more futures at higher price. When it falls back, I buy those futures cheaper. That difference is my scalping profit.

This only works if realized volatility > implied volatility. If market sleeps, I bleed theta. That’s why I attempt gamma scalping only when I expect fireworks.


3.5 Risk Systems & Position Sizing

My golden rule: survival first. I never risk more than 2% of account equity on a single trade.

Example: Account = ₹5,00,000. 2% = 10,000. If a bull call spread costs 9,000 per lot, I take only 1 lot. That way, even a full loss doesn’t break me.

I also stress test: if Nifty gaps 3% overnight, what’s my worst loss? If that number scares me, I reduce size.


3.6 Adjustments : How I Rescue Trades

When trades go wrong, I don’t panic. I pick one adjustment from my rulebook:


3.7 My Trade Journal Checklist

Every trade I log:


3.8 Common Mistakes I See Retail Traders Make

  1. Selling naked options without protection ; one gap can wipe out months of gains.
  2. Oversizing ; don’t risk more than 2% per trade. Most blowups come from leverage, not wrong ideas.
  3. Ignoring Greeks ; if you don’t track Delta/Gamma/Vega, you’re blind.
  4. Trading without a plan ; every entry must have a reason and an exit trigger written down.

My OnePage Quick Reference

Part IV Research & Appendices

4.1 NCP40 : Fair Value Dislocation (Overview)

Over the last six years of my trading and research journey, I built a proprietary framework called NCP40. It is not a public model ; this is something I developed myself through trial, error, and thousands of hours of market observation. The goal of NCP40 is simple: detect fair value dislocations between spot, futures, and options-implied prices. Whenever the market drifts away from theoretical ā€œanchor levels,ā€ NCP40 helps me identify short-lived opportunities for spreads, hedges, and relative value trades.

This framework is available only through private access: https://www.ncp40.lynqverse.com


4.2 RSEDAO : Synthetic Volatility Surface

When I built RSEDAO (Regime-Switching Exponential Decay/Amplification Operators), it wasn’t from a textbook - it came out of years of staring at NIFTY50 option chains, watching how dealers defend premiums and how those defenses sometimes snap. Traditional models like Black–Scholes assume a neat, continuous world with smooth volatility. But in practice, the option surface isn’t smooth at all ; it bends, it jumps, it defends, it breaks. RSEDAO is my way of making sense of that chaos.

Why I built it

The problem with standard volatility models is that they rely on randomness (stochastic processes) that don’t really map to what we see intraday. Market makers don’t ā€œgenerate volatilityā€ like a coin toss. They run books with very visible footprints:

That’s what RSEDAO captures. Instead of diffusion math, I use deterministic exponential operators that toggle between two regimes: decay (when dealers defend) and amplification (when they are forced to reprice volatility).

The binary breakout rule

This is where discipline comes in. With RSEDAO, a premium either breaches its buffer or it doesn’t. There’s no grey zone, no chasing fakeouts. If no breach, I stay in Decay Mode : harvest theta, sell premium. If a breach happens, I switch to Breakout Mode : ride volatility, don’t fight it. That binary logic is what keeps me out of noise and forces me to act only when something structural has changed.

Illustration - RSEDAO Logic

RSEDAO: Decay vs Breakout Regimes Dealer Insurance Floor Decay Mode: Premiums erode Breakout Mode: Amplification 0 IV / Premium time / strike
Figure: RSEDAO interprets option premiums in two regimes : Decay (dealers defend and bleed theta) vs Breakout (defense fails, volatility reprices).

Applications in my trading

I don’t use RSEDAO as a pricing oracle. I use it as a context filter. When the model says decay, I focus on spreads, condors, theta trades. When it flips to breakout, I stop selling and look for long gamma plays (buying straddles, scalping). It’s not about predicting the index ; it’s about syncing my trades with how dealers are actually behaving.

Like NCP40, RSEDAO is proprietary and private. I don’t publish the full operators. But I share the philosophy because I want you to understand the edge: not in forecasting markets, but in reading the footprints of the people who really move them.

4.3 Hedging in the NIFTY50 Options Market : The RSEDAO Perspective

Let me take you behind the curtain. Every time you buy an option on NIFTY50, there’s an invisible counterpart on the other side ; the market maker. They aren’t ā€œtrading a viewā€ like you and me. Their job is to provide liquidity, warehouse risk for a few minutes or hours, and hedge it away as quickly as possible. Their survival depends on this discipline.

Delta neutrality: If they sell a call, they buy futures. If they sell a put, they short futures. Direction is always hedged. Gamma & Vega: They watch how sensitive their books are to convexity and volatility. A sudden NIFTY move without hedging can blow them up. Skew defense: Because everyone wants puts for protection, dealers mark up put IV. That’s why the put side always looks ā€œexpensive.ā€

The point is simple: market makers are not forecasting NIFTY. They’re running a hedging machine, adjusting every time flows change.

What it looks like in practice

Expiry week is the best way to see this. Morning flow → a burst of put buying. Dealers write puts, hedge by shorting futures. Mid-day bounce → dealers are suddenly too short, so they buy back futures. End of day → put IVs are marked up again because demand hasn’t stopped. And the cycle repeats: absorb flow → hedge → reprice volatility.

The RSEDAO lens

Now, here’s where my RSEDAO framework comes in. I’m not trying to be the dealer. What I do is watch their footprints. The lowest visible premiums in the option chain are not random "that’s the dealer’s insurance floor". It’s the minimum they’re willing to sell at while still being able to hedge.

If prices drift toward that floor and stall, it usually means dealers are defending. If prices breach that level, it means defense failed - hedging flows have flipped, and dealers are forced to reprice volatility. That’s when real breakouts/amplification start.

This is the key difference from Black Scholes. BSM asks: ā€œWhat’s the fair value?ā€ RSEDAO asks: ā€œWhen do dealers stop defending and start repricing?ā€

Why this matters

In quiet times, dealers hold the line, premiums decay, and it pays to be a seller. In event times, defenses break, hedging flips, and it pays to ride the breakout. RSEDAO encodes this into a regime-switching process: Decay Mode (dealers in control) vs Breakout Mode (dealers overwhelmed).

Most retail traders lose because they’re caught in the noise between these two regimes. They sell too cheap, or chase moves that aren’t real. By waiting for clear breaches, RSEDAO avoids the noise and trades only when the underlying hedging flow truly shifts.

RSEDAO Regime Flow

Defense Holds Decay Mode → Sell premium, harvest theta Defense Breaks Breakout/Amplification Mode → Ride volatility expansion RSEDAO Regime Switching
Figure: RSEDAO alternates between Decay Mode (dealers defending, premium erodes) and Breakout/Amplification Mode (defense breaks, volatility reprices).

šŸ“Œ Example 1 : Quiet Market Defense (Decay Mode)

Date: March 2024, NIFTY50 expiry cycle. NIFTY50 drifted sideways, volatility subdued. Traders kept buying OTM puts as insurance (common near quarter-end). Dealers absorbed that flow by selling puts and shorting futures to hedge. Premiums never breached the ā€œrisk bufferā€ line ; they hovered below it.

šŸ‘‰ Result: Market makers defended successfully. Puts decayed every day into expiry. RSEDAO would have flagged this as Plan B (decay). I aligned with this regime and captured theta bleed while others overpaid for protection.

šŸ“Œ Example 2 : Event Breach (Breakout Mode)

Date: July 2024, post–general election rally. NIFTY50 gapped up sharply after results. Call premiums surged past their previous ā€œbufferā€ : a clean breakout. Dealers who had been short calls scrambled to hedge by buying NIFTY futures, pushing the index even higher. This created a feedback loop: option premiums broke out and momentum carried.

šŸ‘‰ Result: Dealer defense failed, volatility repriced. RSEDAO would have triggered Plan A (breakout). My play here: buy dips, hold until target. Retail traders who thought calls were ā€œtoo expensiveā€ got steamrolled, while breakout-followers profited.

šŸ”¹ What these examples show

In March → dealers in control = steady decay. In July → dealers overwhelmed = explosive breakout. Same framework, two regimes. That’s the real power of RSEDAO ; it strips away the noise and keeps me trading only when the dealer flows tell the true story.

Conclusion

The NIFTY50 options market isn’t moved by random speculation ; it’s moved by the hedging routines of dealers. Every stall, every spike in premiums, every skew shift is their book talking. My edge with RSEDAO is not prediction. It’s synchronization. If defense holds, I harvest decay. If defense breaks, I ride the breakout. That’s how I trade with the flows that actually move the market.


Appendix: Data, Code & Tools

I use a minimal toolkit every day: pandas for data handling, numpy for numeric work, and matplotlib for quick visuals. You don't need exotic software to reproduce the examples in this book ; just Python and these libraries. Below is a full, working Black–Scholes implementation (pricing, Greeks, implied vol) I wrote and use for teaching and prototyping.

License & Author: This code is written by Anupam Dutta. It is licensed for public, non-commercial use only. You may read, modify and experiment with it for learning and research, but do not use it for commercial redistribution or as part of a paid service without my explicit written permission.

	# ===================================================================
	# Black–Scholes implementation (pricing, Greeks, implied volatility)
	# Author: Anupam Dutta
	# License: PUBLIC USE - Non-Commercial Only (see appendix note)
	# ===================================================================
	#
	# Requirements: Python 3.7+, numpy, matplotlib (optional for plots)
	# Install: pip install numpy matplotlib
	#
	# Functions:
	#   - norm_cdf(x)           : standard normal CDF
	#   - bs_price(...)         : Black–Scholes price (call/put)
	#   - bs_greeks(...)        : delta, gamma, theta, vega (per-1-unit)
	#   - implied_vol_bisect(...) : implied vol via bisection (robust)
	#   - implied_vol_newton(...) : optional faster Newton method (needs good guess)
	#
	# Example usage at bottom shows the numeric example from Chapter 2
	# ===================================================================

	import math
	from typing import Tuple

	def norm_cdf(x: float) -> float:
		"""Standard normal CDF using math.erf for portability."""
		return 0.5 * (1.0 + math.erf(x / math.sqrt(2.0)))

	def norm_pdf(x: float) -> float:
		"""Standard normal PDF."""
		return math.exp(-0.5 * x * x) / math.sqrt(2.0 * math.pi)

	def _d1_d2(S: float, K: float, T: float, r: float, sigma: float) -> Tuple[float,float]:
		"""Compute d1 and d2 used in Black–Scholes."""
		# Guard against zero time or zero vol
		if T <= 0 or sigma <= 0:
			return float('inf'), float('inf')
		sqrtT = math.sqrt(T)
		d1 = (math.log(S / K) + (r + 0.5 * sigma * sigma) * T) / (sigma * sqrtT)
		d2 = d1 - sigma * sqrtT
		return d1, d2

	def bs_price(S: float, K: float, T: float, r: float, sigma: float, is_call: bool = True) -> float:
		"""
		Black–Scholes price for European call/put.
		S: underlying (use Nifty futures price as anchor)
		K: strike
		T: time to expiry in years
		r: risk-free rate (annual, decimal)
		sigma: volatility (annual, decimal)
		is_call: True -> Call, False -> Put
		Returns option premium per 1 index unit (multiply by lot size externally).
		"""
		if T <= 0:
			# Option at expiry: intrinsic value
			if is_call:
				return max(0.0, S - K)
			else:
				return max(0.0, K - S)
		d1, d2 = _d1_d2(S, K, T, r, sigma)
		df = math.exp(-r * T)
		if is_call:
			price = S * norm_cdf(d1) - K * df * norm_cdf(d2)
		else:
			price = K * df * norm_cdf(-d2) - S * norm_cdf(-d1)
		return price

	def bs_greeks(S: float, K: float, T: float, r: float, sigma: float) -> dict:
		"""
		Return Greeks for a European option (per 1 contract unit):
		  - delta_call, delta_put, gamma, vega, theta_call, theta_put
		Theta is returned as change per year (not per day); divide by 252 (or 365) for daily.
		"""
		d1, d2 = _d1_d2(S, K, T, r, sigma)
		pdf_d1 = norm_pdf(d1)
		df = math.exp(-r * T)
		sqrtT = math.sqrt(T) if T > 0 else 1e-12

		delta_call = norm_cdf(d1)
		delta_put = delta_call - 1.0

		gamma = pdf_d1 / (S * sigma * sqrtT) if T > 0 else 0.0
		vega = S * pdf_d1 * sqrtT  # sensitivity per 1 (i.e. 1.0 = 100% vol)
		# Theta (per year). Conventions vary; this uses Black-Scholes analytic form:
		theta_call = (-S * pdf_d1 * sigma / (2 * sqrtT) - r * K * df * norm_cdf(d2))
		theta_put  = (-S * pdf_d1 * sigma / (2 * sqrtT) + r * K * df * norm_cdf(-d2))

		return {
			'delta_call': delta_call,
			'delta_put': delta_put,
			'gamma': gamma,
			'vega': vega,
			'theta_call_per_year': theta_call,
			'theta_put_per_year': theta_put
		}

	def implied_vol_bisect(target_price: float, S: float, K: float, T: float, r: float,
						   is_call: bool = True, tol: float = 1e-6, maxiter: int = 200) -> float:
		"""
		Implied volatility using bisection. Robust and stable.
		Returns sigma (annual decimal). If no solution found, returns NaN.
		"""
		# Bounds for volatility
		low, high = 1e-6, 5.0
		p_low = bs_price(S, K, T, r, low, is_call)
		p_high = bs_price(S, K, T, r, high, is_call)

		# If the target price is outside bounds, bisection will still try (but check sanity)
		if not (min(p_low, p_high) <= target_price <= max(p_low, p_high)):
			# This might indicate target_price is outside feasible range (e.g., bad input)
			# We'll still proceed but return NaN if it doesn't converge.
			pass

		for i in range(maxiter):
			mid = 0.5 * (low + high)
			price_mid = bs_price(S, K, T, r, mid, is_call)
			if abs(price_mid - target_price) < tol:
				return mid
			# decide which side to keep
			if price_mid > target_price:
				high = mid
			else:
				low = mid
		return float('nan')  # did not converge within maxiter

	def implied_vol_newton(target_price: float, S: float, K: float, T: float, r: float,
						   is_call: bool = True, tol: float = 1e-8, maxiter: int = 60) -> float:
		"""
		Implied vol via Newton-Raphson (requires a good initial guess).
		Uses vega (derivative of price w.r.t. sigma) for updates.
		Returns sigma or NaN if fails.
		"""
		sigma = 0.2  # initial guess
		for i in range(maxiter):
			price = bs_price(S, K, T, r, sigma, is_call)
			diff = price - target_price
			if abs(diff) < tol:
				return sigma
			# compute vega (derivative)
			d1, _ = _d1_d2(S, K, T, r, sigma)
			vega = S * norm_pdf(d1) * math.sqrt(T)
			if vega < 1e-12:
				break
			sigma = sigma - diff / vega
			# keep sigma positive and in a reasonable bracket
			if sigma <= 0 or sigma > 5:
				sigma = max(1e-6, min(5.0, sigma))
		return float('nan')

	# ----------------------------
	# Example: reproduce the Chapter-2 worked ATM example
	# ----------------------------
	if __name__ == "__main__":
		# Example inputs (from book)
		S = 22000.0          # Nifty (futures)
		K = 22000.0          # ATM strike
		T = 10.0 / 365.0     # 10 days to expiry
		r = 0.06             # 6% annual risk-free
		sigma = 0.15         # 15% annual IV
		lot_size = 75        # Nifty lot (book uses 75)

		call_price = bs_price(S, K, T, r, sigma, is_call=True)
		put_price  = bs_price(S, K, T, r, sigma, is_call=False)
		greeks = bs_greeks(S, K, T, r, sigma)

		print("Black–Scholes example (per 1 index unit):")
		print(f"Call premium ā‰ˆ {call_price:.2f}")
		print(f"Put  premium ā‰ˆ {put_price:.2f}")
		print(f"Per-lot Call premium (lot={lot_size}): {call_price * lot_size:.0f} INR")
		print()
		print("Greeks (per 1 unit):")
		for k, v in greeks.items():
			if 'theta' in k:
				# convert theta from per-year to per-day (approx 252 trading days)
				print(f"  {k}: {v/252.0:.3f} per day (approx)")
			else:
				print(f"  {k}: {v:.6f}")

		# Example: implied vol back-solve given call_price
		iv_bisect = implied_vol_bisect(call_price, S, K, T, r, is_call=True)
		iv_newton  = implied_vol_newton(call_price, S, K, T, r, is_call=True)
		print()
		print(f"Implied vol (bisection) ~ {iv_bisect:.6f}")
		print(f"Implied vol (newton)    ~ {iv_newton:.6f}")

	# ----------------------------
	# Optional: small payoff plot (uncomment to run in a script)
	# ----------------------------
	# import numpy as np
	# import matplotlib.pyplot as plt
	#
	# Ks = [K]
	# spots = np.linspace(S * 0.85, S * 1.15, 201)
	# call_payoffs = [max(s - K, 0) for s in spots]
	# call_values = [bs_price(s, K, T, r, sigma, is_call=True) for s in spots]
	#
	# plt.figure(figsize=(8,4))
	# plt.plot(spots, call_payoffs, label='Intrinsic payoff at expiry', linestyle='--')
	# plt.plot(spots, call_values, label='Theoretical premium today (BSM)')
	# plt.title('Call payoff vs Black–Scholes price')
	# plt.xlabel('Underlying (Nifty)')
	# plt.ylabel('Value (per unit)')
	# plt.legend()
	# plt.grid(alpha=0.3)
	# plt.show()
	

Quick notes & tips:

If you want, I can also provide:


References & Further Reading

Some classics that shaped my learning:

I recommend you always cross-check academic insights with actual market data ; theory without practice is incomplete.


Contact & Mentoring

If you found this book useful and want to go deeper ; whether it’s personal mentoring, strategy design, or exploring my proprietary research models (NCP40 / RSEDAO) ; feel free to reach out:

I don’t promise easy answers ; but I do promise to share what I’ve actually learned trading the Nifty50 options markets in real time.


This book is the outcome of years of experiments, failures, and breakthroughs. Use it as a foundation, but build your own path in the markets. The edge comes not from copying models, but from understanding deeply and applying with discipline.

☰