A noob question. I'm trying to get my head wrapped around this but getting lost, please guide.

From the entry and exit prices of an European option, how do I attribute the P&L to various greeks (delta, gamma, theta and vega)? For ex: if my entry price for Strike K is \$100 and if my exit is \$125. I have a P&L = \$25.
Is there a way to know how much of this \$25 is due to vega and how much of it is theta (lost/decay) etc?


1 Answer 1


Suppose that the fair value of your option is a function $f$ of 3 inputs: the price of the underlying, the implied volaility, and time. You want to understand why the function value changed from time $T_0$ to time $T_1$. It doesn't matter whether you unwound the investment, or just re-marked to market at time $T_1$.

Those who took a better-than-average undergraduate calculus course :), probably recall right away that there are two basic approaches to such problems:

  • risk-theoretical P&L (RTPL) - at $T_0$, calculate first, second, and sometimes even third order sensitivities of the function to small changes in it inputs. Multiply the observed changes in the inputs by the sensitivities. For example, multiplying the vega at time $T_0$ by the change in implied volatility from $T_0$ to $T_1$ is the first-order approximation of the P&L due to the change in implied volatility. This is, basically, Taylor expansion, although it may be possible to do some attribution a little fancier than Taylor.

  • Brute Force / Full Reval - recalculate the function value, replacing some of the inputs at time $T_0$ by the inputs at time $T_1$. I.e. compare $f($price at $T_0$, volatility at $T_0$, $T_0)$, $f($price at $T_0$, volatility at $T_0$, $T_1)$, $f($price at $T_0$, volatility at $T_1$, $T_0)$, $f($price at $T_0$, volatility at $T_1$, $T_1)$, $f($price at $T_1$, volatility at $T_0$, $T_0)$, etc.

You ideally should do both, with multiple versions of Brute Force, to ensure that your pricing model works correctly. Also verify that the changes in the first order sensitivities are explained by the second order sensitivities.

Some of these inputs may have some structure, e.g. the implied volatility may be a surface that changes not in parallel, rather than a single number, and you may want to see the impact of the changes of some parts of the surface. The underlying may have some term structure too. For example, if your option is actually a swaption, and the underlying is an interest rate curve, then in addition to attributing the P&L to just changes in single rates, it may help to calculate historical principal components of the interest rates, and attribute the curve changes and the resulting P&L in terms of historical principal components as discussed in Attribute P&L to PCA vectors (swaps) and Principal Component Analysis for attributing yield curve changes.

In a production environment, sometimes other things affect your P&L, and a good P&L explanation will consider those. For example, suppose that a government in India declared, on short notice, that the day when your swap was to mature is going to be a non-working day to hold an election. Now your swap runs for an extra day. How did this affect its value?

  • 3
    $\begingroup$ +1. The brute force method is often overlooked, but probably the most robust, especially for exotics. When I worked on variable annuities brute force was the only way to do this properly. $\endgroup$
    – Frido
    Commented Apr 27, 2023 at 13:07
  • 1
    $\begingroup$ i have actually done brute force (data sampled every second) on vanilla options. There is a significant difference in prices at the end of the period. I am sure I have not made any error in the code. @Frido can you point me to some resource? $\endgroup$
    – nimbus3000
    Commented Apr 27, 2023 at 14:46
  • 1
    $\begingroup$ @nimbus3000 It's actually just as Dimitri has described it. I don't think there are many resources online on this. $\endgroup$
    – Frido
    Commented Apr 27, 2023 at 15:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.