Skip to workspace

QuantCore

Options Pricing & Risk Research Terminal
Underlying
SPY
S
756.48
σ
13.8%
r
4.50%
q
0.00%
T₁
47d
P&L
+$0
Data…C++ ENGINEWebAssemblyLoading…NativeConnecting…GitHub ↗
Try

Position & Greeks

Browser · TypeScript· loading the C++ WebAssembly engine… ·— µs
Pricei
18.006
long 10× · $18,006
Delta Δi
0.5720
position +572 sh
Gamma Γi
0.01047
position +10.47 / $1
Theta / dayi
-0.2074
position −$207/d
Vega νi
106.624
position +$1,066 / vol pt
P&Li
+0
entry 18.01 / sh
Net debit$18,006
Max profitUnlimited
Max loss−$18,006
Break-even773.01
$ delta+$432,690
Gross premium$18,006
At expiry47d

Strategy Payoff

P&L ($)$0$50k$100k$150k650700750800850900K 755max loss −$18kB/E 773.0+$0

P&L Surface

spot × vol · USD
Spot shockΔS \ Δσ−50%−25%0%+25%+50%
−10%-18006-17970-17680-16916-15652
−5%-17717-16381-14203-11535-8580
0%-7269-3664+0+3687+7386
+5%+25742+26469+28088+30359+33057
+10%+63492+63516+63760+64469+65711
lossgainFull revaluation · vol shocks are relative to σ 13.8% · outlined cell = current

One portfolio, three pricing models. Black-Scholes-Merton is the closed-form reference; the CRR lattice and Monte Carlo must converge to it. Monte Carlo error is reported as standard error, a 95% interval and |z| against the reference, so an unlucky draw is visible rather than hidden.

Pricing…

Running the first pricing pass…

C++ engine cross-checkLoading the C++ WebAssembly engine…
Model formulas and assumptions

Black-Scholes-Merton

d₁ = [ln(S/K) + (r − q + σ²/2)T] / (σ√T)
d₂ = d₁ − σ√T
C = S·e^(−qT)·N(d₁) − K·e^(−rT)·N(d₂)
P = K·e^(−rT)·N(−d₂) − S·e^(−qT)·N(−d₁)

European exercise, constant σ and r, continuous dividend yield q. Greeks are analytic.

Cox-Ross-Rubinstein lattice

Δt = T/N,  u = e^(σ√Δt),  d = 1/u
p = (e^((r−q)Δt) − d) / (u − d)
V = e^(−rΔt)·[p·V_up + (1 − p)·V_down]

Backward induction from terminal payoffs; European, so no early-exercise check.

Monte Carlo

S_t = S₀·exp((r − q − σ²/2)t + σW_t)
V̂ = mean(Σ legs e^(−rT)·qty·100·payoff)
SE = s/√N,   95% CI = V̂ ± 1.96·SE
|z| = |V̂ − V_BS| / SE

Seeded mulberry32 + Box-Muller. One Brownian path is observed at every distinct expiry, so mixed-maturity legs stay correctly correlated. Antithetic mode averages each draw with its mirror (−Z).