If the BSM model is right then it has to function also with such high r=25%.lol. Stonk earns 25% pa. I wonderrrr where the error lies?
What do your kids say? 
Updated / fixed version:
Here's the proof that BSM is wrong:
BSM(S=100, K=100, t=1, s=0.001%, r=25%, q=0%):
CALL=22.1199, PUT=0
This means: say we have a company where the volatility is nearly 0% (ie. 0.001%) and it earns 25% p.a.
So, after the year the expected stock price will be (at least):
100 * exp(0 * 0.00001 * 1 + (0.25 - 0) * 1) = 128.4025
Ie. applying the formula: S * exp(z * s * sqrt(t) + (r - q) * t) by using z=0 for getting the expected spot, ie. the mean spot at expiration.
So, the CALL will have made 128.4025 - 100 - 22.1199 = 6.2826
This is IMO an arbitrage in the BSM pricing model,
because the CALL premium should rather be 28.4025 instead of the 22.1199.
Setting r higher gives even more arbitrage!
Q.E.D.
PS: this works the same also with normal, higher volatilities.
I chose volatility s=0.001% intentionally to simplify the calculations.
PS2: for those having difficulties understanding the "r as earnings": just think of it as the more commonly used term "risk-free rate"...
PS3: this result shows that whenever r is different from 0, then there is inherently arbitrage in the BSM model!
And: IMO, even for r=0 the BSM is wrong!
.
If the BSM model is right then it has to function also with such high r=25%.
Since it doesn't, then it's wrong.
Q.E.D.
Btw, even such basic logic seems not your strength, you poor old man...What do your kids say?
![]()
And?You're using a 0 vol-line. Zero.

And?![]()
At expiry the call will be worth 28.4025. What's that worth today? The discount factor is 1.284025, so the call is worth 28.4025/1.284025 = 22.1199.Updated / fixed version:
Here's the proof that BSM is wrong:
BSM(S=100, K=100, t=1, s=0.001%, r=25%, q=0%):
CALL=22.1199, PUT=0
This means: say we have a company where the volatility is nearly 0% (ie. 0.001%) and it earns 25% p.a.
So, after the year the expected stock price will be (at least):
100 * exp(0 * 0.00001 * 1 + (0.25 - 0) * 1) = 128.4025
Ie. applying the formula: S * exp(z * s * sqrt(t) + (r - q) * t) by using z=0 for getting the expected spot, ie. the mean spot at expiration.
So, the CALL will have made 128.4025 - 100 - 22.1199 = 6.2826
This is IMO an arbitrage in the BSM pricing model,
because the CALL premium should rather be 28.4025 instead of the 22.1199.
Setting r higher gives even more arbitrage!
Q.E.D.
PS: this works the same also with normal, higher volatilities.
I chose volatility s=0.001% intentionally to simplify the calculations.
PS2: for those having difficulties understanding the "r as earnings": just think of it as the more commonly used term "risk-free rate"...
PS3: this result shows that whenever r is different from 0, then there is inherently arbitrage in the BSM model!
And: IMO, even for r=0 the BSM is wrong!
.