Latest posts
-
The Merton Jump Diffusion Model, Explained
Black-Scholes assumes prices move continuously. Between now and expiry, the stock drifts and wobbles, but it never teleports — to get from 100 to 90 it has to pass through 99, 98, and every value in between. Markets don’t work like that. An earnings miss, a central bank surprise, a default: the price gaps, and
-
Why Netting Changes Your CVA by 90%
You price CVA trade by trade. Two hundred swaps with the same counterparty, each one run through the engine, each one giving a sensible number. You add them up and take the total to the XVA desk. They quote you a tenth of it. Neither number is wrong. Netting is the difference, and netting CVA
-
EE, EPE, PFE: Which Exposure Measure for Which Job?
Someone from Credit walks over and asks what your exposure to a counterparty is. You open the risk system. Depending on which report you click, you get 1.6m, 1.9m, 6.6m or 9.4m. Same counterparty, same trade, same close of business, same model. All four numbers are correct. They answer different questions. The short version: expected
-
What Is Wrong-Way Risk? (With a Worked Example)
The standard CVA formula makes an assumption it doesn’t advertise: that your exposure to a counterparty and their probability of defaulting are independent. Often they aren’t. And when they aren’t, the formula doesn’t fail loudly — it just returns a number that’s too small, and you find out how much too small at the worst
-
Local Volatility vs Stochastic Volatility: What’s the Difference?
“What’s the difference between local volatility and stochastic volatility?” is a standard interview question, and the standard answer — “one makes vol a function of spot and time, the other makes it a random process” — is correct and gets you nowhere. Both models can be calibrated to fit today’s vanilla surface exactly. So if
-
Why Does SABR Break at Low Strikes? (And What to Do About It)
You calibrated SABR to a swaption smile, it fit beautifully, and then someone asked for a price at a low strike. The number came back wrong — or the implied density went negative, or the whole thing returned NaN. This is not a bug in your code. It’s a known limitation of the formula almost
-
Why Does CIR Go Negative in Simulation? (And How to Fix It)
You implemented the CIR model, ran a simulation, and your rates went negative — or worse, your code threw a wall of NaNs. If you’re pricing with a square-root process (CIR for rates, Heston for variance) and hitting this, you’ve run into one of the most common and most misunderstood bugs in quant implementation. The
-
What Is a Martingale? (Explained for Quant Interviews)
“Explain what a martingale is.” It comes up constantly in quant interviews, and it’s a question where the gap between a memorised answer and a real one is obvious to anyone listening. The memorised answer: “a process whose expected future value equals its current value.” Correct, and incomplete — it misses the single most important
-
Why Doesn’t My Monte Carlo Match Black-Scholes? (5 Bugs to Check)
You wrote a Monte Carlo pricer, ran it against the Black-Scholes formula as a sanity check, and the numbers don’t match. This is the most common rite of passage in computational finance, and the good news is that the cause is almost always one of a short list of bugs. Here’s how to diagnose it,
-
CVA vs DVA: What’s the Difference (and Why DVA Feels Wrong)
“What’s the difference between CVA and DVA?” is a standard interview question with a standard answer: CVA is the cost of your counterparty defaulting, DVA is the benefit of you defaulting. Recite that and you’ve answered the question. But the good follow-up — the one that separates people who’ve thought about it from people who’ve