Properties of Stock Options
Breaking down every variable that moves option prices — S, K, T, σ, r, and D — and why European vs. American options handle time to expiration differently.
OK heads up — this one’s a wall of text. Like, insane wall of text. The practice problems? Saving those for the next post.
Today we’re looking at the things that move stock option prices, comparing European vs. American options, and then heading toward put-call parity.
What moves an option price?
First, what actually affects the price of a stock option? Apparently these are the variables of our model:
- $S_0$ — current stock price
- $k$ — strike price
- $T$ — time to expiration
- $\sigma$ — volatility
- $r$ — risk-free rate
- $D$ — dividends
Compared to just thinking about the stock by itself, we’re now thinking about the option on the stock, so it makes sense that $S_0$, $k$, $T$ all show up in the mix.
So — what’s the sign of the relationship between each of these and $c, p, C, P$? (lowercase = European, uppercase = American.) Let me just dump the whole table first:

Ah…. typing all of this out is so annoying, so I was going to just toss in this one photo and call it a day. But no, that won’t do… I guess I have no choice but to type the whole thing out.
| $c$ | $p$ | $C$ | $P$ | |
|---|---|---|---|---|
| ① $S$ | + | − | + | − |
| ② $k$ | − | + | − | + |
| ③ $T$ | ? | ? | + | + |
| ④ $\sigma$ | + | + | + | + |
| ⑤ $r$ | + | − | + | − |
| ⑥ $D$ | − | + | − | + |
① $S$ vs. option price. If you imagine the stock price going up, like, a lot… it might not click immediately. So let me put it differently: imagine it goes up insanely. Like ridiculously, absurdly through the roof.
Anyone holding a call goes nuts: “OH YEAH, MASSIVE GAINS!!” Trigger the call, buy at the low strike, resell at the moonshot price~~ Meanwhile, anyone holding a put is over there like “ugh, my prediction was so off T_T.”
So $S$ vs. $c$ is (+), $S$ vs. $p$ is (−). Same logic obviously holds for $C$ and $P$ where you can early-exercise.
② $k$ vs. option price. Say you’re shopping for a call, and there’s one with a crazy high strike. (Gotta watch my language T_T) The chance of ever exercising it at that strike is basically zero. What lunatic would buy that? So high $k$ → low $c$.
For a put, on the other hand, a high $k$ means it’s very likely to be exercised in your favor. That should be priced expensively, right? So high $k$ → high $p$.
So $c$ vs. $k$ is (−), $p$ vs. $k$ is (+). Same logic for American — early exercise doesn’t change this.
③ $T$ vs. option price. This is actually the one most affected by early-exercise rights. For all the other variables, the European/American distinction didn’t matter. But for $T$ it does.
For $C$ and $P$ (early exercise allowed): more time = more value. $T\uparrow \Rightarrow C\uparrow, P\uparrow$. Easy.
But for $c$ and $p$ I wrote “?”. The “?” means sometimes (+), sometimes (−), so I just slapped a question mark on it. Generally yeah, more $T$ means more $c$ and more $p$. But —
For the call: imagine you stretch $T$ out, and somewhere in that extra stretch, suddenly a dividend payment date falls inside the window. Painful, right? Exercising the call after the dividend has been paid out feels gut-wrenching. So as $T$ creeps up, snap — the call value can actually drop.
For the put: apparently if you plot put value vs. $T$ using Black-Scholes, in deep in-the-money scenarios, you can see the put value actually decrease as $T$ grows.
(I’ll write a little program later that lets you verify this — I’ll share it.)
So the conclusion: for $c$ it’s dividends, for $p$ it’s the BS formula behaving weird ITM. Either way, you can’t make a clean blanket statement about how $c$ and $p$ move with $T$.
④ $\sigma$ vs. option price. Higher volatility means the stock could rip or tank — both possibilities are now on the table.
But why is the table all (+)?
Because options have no downside risk. I’m betting that one sentence explains everything.
⑤ $r$ vs. option price. Imagine the risk-free rate is insanely high. (If that doesn’t click, picture bank deposit rates going freaking sky-high… sorry, I keep cussing.) You and I agreed I’d buy at $k = \text{\textdollar}10$. But if $r$ is sky-high, the present value of that future $\text{\textdollar}10$ is basically garbage. Trash.
So a rise in $r$ effectively makes the strike feel like garbage. When you trigger a call and pay $k$, having that $k$ feel like garbage is good for you — so the call price should go up. Triggering a put and receiving $k$ — that $k$ now being garbage is bad for you — so the put’s value should go down (it should be worth less, right?). The put premium has to get cheaper. That’s why row ⑤ has those signs.
⑥ $D$ vs. option price. Suppose dividends balloon (and remember, options generally don’t adjust for dividends). You buy at the same agreed $k$, and the person who got called on — the stockholder — is sitting there going “oh yeah baby, I cashed those fat dividends~~”, while the person who exercised the call is going “you S.O.B… I wanna snatch that back T_T.”
That feels bad, doesn’t it? Which means the call’s value drops.
(If you feel bad, you just lower the price you’re willing to pay for the call, lol — prices are set by supply and demand anyway.)
For the put, think it through the other way around… but this page won’t grant me permission to keep writing — that’s what I wrote back then, heh.
Setting up for put-call parity
OK from here we’re slowly, slowly, slowly tightening up the conditions for option pricing. The destination: put-call parity. To get there, let’s lay out our assumptions:
- No transaction costs.
- All trading profits taxed at the same rate.
- We can borrow and lend at the risk-free rate.
- If an arbitrage opportunity appears, it’s instantly snapped up → i.e. no arbitrage.
With those locked in, let’s see what basic rules fall out.
Upper and lower bounds on option prices
Options necessarily have an upper and a lower bound on their price.
Why?!
Because outside that range, there’d be an arbitrage opportunity. The “no-arbitrage range” is the bounded range of allowable option prices. (Outside the bounds = arbitrage exists.) Sounds grand, but it’s actually pretty simple. T_T

If the call price went above this upper bound? People would buy the underlying and short the call — locked-in profit, immediately.
(If you can sell a call for 600 when the underlying is at 500, then even if the buyer exercises, you just hand over the stock — boom, +100 locked in.)
So that upper bound gets enforced by arbitrageurs.
For the American put, $P$ can’t go above $k$. No matter what. Because you can exercise at any time — if the option price exceeded $k$, you could just sell the put for more than $k$ and instantly profit.
(If you can sell a put with $k=500$ for 600, you got 600 in hand, and if the buyer demands to sell at 500, you fork over 500 — net +100. Such a thing doesn’t exist in this world, lol.)
So:
![]()
And for the European put:
![]()
The price has to live in this range. Same reasoning — if the inequality flipped, you’d sell the put and grow the premium $p$ at the risk-free rate, so at maturity you’d hold $p\,e^{rT}$, which is more than the $k$ you could ever be forced to pay for the stock. Pocket the difference. Arbitrage. So that gets enforced too.
That’s the upper bounds. Now the lower bounds. The whole logic is one thing: no arbitrage.
Concrete example. Say $S_0 = 20$, $r = 10\%$, $T = 1$ year. Find the lower bound on the European call with $k = 18$.
What’s the minimum $c$ such that no arbitrage exists?
Strategy: short-sell one share, pocket $S_0 = 20$. We’re going to need to buy the stock back later to cover the short, so let’s also buy one call at $k = 18$. The call costs $x$ (unknown). Cash in hand right now: $20 - x$.
Grow that at the risk-free rate and after 1 year you’ve got
. Now exercise the call and pay out $k = 18$, and the cash remaining is
.
For no arbitrage, that remainder can’t be positive (anything positive would be free money). So let’s find the $x$ that makes it exactly 0:

That $x$ is the no-arbitrage point. If instead

we’d have arbitrage. So the no-arbitrage condition is:

That’s the lower bound for the European call. Rewriting the numbers back as symbols:
![]()
There we go.
Now the European put lower bound. Same logic, one thing: no arbitrage.

Try this. Borrow $\text{\textdollar}37 + \text{\textdollar}x$ at the risk-free rate to buy a $\text{\textdollar}37$ stock. (From here on I’ll drop the $\text{\textdollar}$ and just write numbers.)
Drill into your head ahead of time: the amount we owe after 6 months is
.
Buy 1 stock at 37, and to lock in selling it for 40 at maturity, simultaneously buy a put. How much cash do I have right now?? Zero. Nada.
At maturity I trigger the put and sell the stock for 40, so I now have 40 in hand. Out of that 40, I owe
.
Net cash remaining:

That’s the arbitrage profit. For no arbitrage, it can’t be positive, so the break-even is where it’s exactly 0:

That’s the minimum put price. If

— that’s where arbitrage exists.
Done. We’ve got the lower bound for European puts too. At least this much, or arbitrage exists!!
But wait — what if the lower bound comes out negative?
We learned in a previous chapter that an option’s value is always $\geq 0$. So an inequality saying “price > some negative number” would technically allow negative prices, which is nonsense. To make it cleaner, we write the lower bound like:

i.e. “max with zero.”
Put-call parity
Upper bounds, done. Lower bounds, done. Now let’s pull one equation out of all this. Because between a call and a put with the same maturity, same strike, same underlying — there’s a rule.
Why is there a rule???
Because of that one logic: no arbitrage. This can be drawn out as a single graph all at once, but I want to spin a little story on my own first and then nail it with formulas.
We’re constructing a risk-free portfolio. Here’s the recipe:
First, borrow money in the amount of
at $r$ (= sell a zero-coupon bond), buy a put, buy the stock. And sell one call. Done — risk-free portfolio.
Why?
Case 1: stock ends above $k$. The person who bought our call is going wild: “Yes! Buying at $k$~~ hand over the stock please~~” We hand over the stock, receive $k$.
What we borrowed —
— has to be repaid as $k$. So we just hand them the $k$ we just received from the call buyer. The put we’re holding? Worthless. Started with empty hands, ended with empty hands. (Empty in, empty out → no arbitrage.)
Case 2: stock ends below $k$. The call buyer stays quiet. We exercise our put — sell the stock for $k$. Hand over the stock, receive $k$, repay the $k$ we owe. Empty in, empty out again.
So whether the stock ends above or below $k$, we end with zero. Always zero. Lives up to the name “risk-free portfolio.”
Now let’s nail it with formulas. At $t = 0$:

Our position value, which was this, becomes:

in each scenario at maturity. So the value was 0 from the very start — let’s write it that way:
![]()
![]()
This is the relationship between put and call!!!
We can run the reverse construction too. Again, start empty-handed. Borrow a stock and short it. Sell a put. Buy a call. And lend out
at $r$.
At maturity, if stock ends above $k$: what we lent out —
— has grown to $k$. We receive $k$. We use that $k$ to exercise the call, get the stock, use the stock to close the short. Left with??? Zero. Empty in, empty out.
If stock ends below $k$: the call we hold is worthless. The put buyer is going wild demanding to sell at $k$. With the $k$ we get back from our loan, we pay them, receive the stock, and use it to close the short. Empty in, empty out, again.
So once again:
![]()
If this didn’t hold? Then it’s not empty-in-empty-out → arbitrage exists. So $c$ and $p$ (European, same maturity, same strike) must always satisfy this. That equation is put-call parity.
What about American options?
Above I was subtly stressing “European.” That’s because for American options, you don’t get a clean equality between put and call. You can, however, derive an inequality:
![]()
Let’s see how. Look at the right side first. Why does the max work out like that? European put-call parity says:

How does this become an inequality…?
For American options, you have to internalize: early exercise is not always optimal.
For a call on a non-dividend-paying stock, early exercise is actively worse. A European call with $T$ remaining is worth at least
. For the American version, if you just sit there, you get the same. But the moment you early-exercise, you get
— smaller.
($k e^{-rT} \lt k$, and when you subtract a smaller number, the result is larger. So sitting still gives the larger value.)
So early-exercise value is worse. (This story changes when there are dividends — you grab the stock early to collect the divs — which is why I keep emphasizing “no dividends.”)
So for no-dividend stocks, the best you can do with a call is the same whether European or American! That means the formula:
![]()
can be rewritten as
![]()
without any loss.
But for puts, early exercise can be advantageous. Same method as above. A European put with $T$ remaining is worth at least
. An American one that sits still: same thing. But if you early-exercise immediately, you get
— larger.
(To be precise, it’s not strictly always larger — there’s time value to think about — but there are real cases where early exercise wins. The picture below should make this click.)

So for the no-dividend case:

That accounts for the right side of the inequality.
(Why does the equality become a “smaller-than”? Just look at the left side. Where we were going to subtract $p$, we subtracted the larger $P$ instead — so a crack opens up in what was an equality. Left side gets smaller.)
OK now:
![]()
let’s prove the left side. Why does early exercise have to give us at least that much? Since calls don’t differ in the no-dividend case, we can put $C$ aside and focus on the put.
Back to put-call parity:
![]()
This was originally derived by constructing a risk-free portfolio. But now let’s think of the put as American, not European:
![]()
(Capital $P$.) Is this still a risk-free portfolio? I don’t think so.
Because if we trigger $P$ right this instant — we sell the stock now for $k$, hand over the stock, receive $k$ on the spot. Then instead of paying back $k$ at maturity, we only need to repay
. So an immediate profit of
pops out, right? That’s an arbitrage opportunity.
So for American options, the risk-free portfolio has to be set up like this:
![]()
Therefore:

So, putting it all together. European case:
![]()
American case:
![]()
Should I name this thing? Just call it “American inequality”? lol. Anyway.
Bringing dividends back in
But — the no-dividend assumption was baked into all of the above!
Now suppose dividends do show up, and we know when and how much in advance.
(cf. Most exchange-traded options have maturities under 1 year, so the “dividends are known” assumption isn’t unreasonable.)
Let $D$ = present value of the dividends. For European options, fixing parity is easy: just replace $S$ with $S - D$.
Why? Because it’s as if someone yells at the stockholder: “Hey you, stockholder! Cough up the divs!!” — so $S$ drops to $S - D$. If that didn’t happen, the stockholder would pocket a guaranteed instant gain — which violates no-arbitrage. There can’t be a guaranteed immediate profit.
So:
![]()
becomes:
![]()
That’s put-call parity with dividends.
Now revise the inequality.
![]()
The right side doesn’t need fixing. The maximum occurs at $D = 0$ (assuming the put gets exercised at maturity — if it doesn’t, the inequality holds trivially anyway). And as $D$ grows in the (+) direction, the inequality slack just widens. So:
![]()
The piece that needs fixing is the minimum. The minimum of $C - P$: now that $D$ is in play, $C$ shrinks and $P$ grows, so the minimum has room to drop further. Specifically, the new minimum is $S - k - D$:
![]()
And that is the American inequality with dividends.
OK seriously, this wall of text is insane. The related practice problems are going in the next post.
Heads-up. The figures here are the original notes, slips and all. A few things to watch for:
- In the picture of put-call parity with dividends, the put is the European one, lowercase on both sides: $p + S_0 = c + ke^{-rT}$ becomes $p + S_0 - D = c + ke^{-rT}$. The capital $P$ is the American put, for which parity holds only as bounds.
Comments
Discussion happens via GitHub Discussions. You'll need a GitHub account to comment.