# How to compute greeks using the adjoint Monte Carlo approach?

Assume I have a stochastic ODE $$dS = a(S)dt + b(S)dW,$$ with Euler approximation $$\hat{S}_{n+1}=F_n(\hat{S}_n)=\hat{S}_n+a(\hat{S}_n)h+b(\hat{S}_n)Z_n\sqrt{h}.$$ This allows me to create sample paths based on drawing normally distributed random numbers $Z_n$ from $N(0,1)$.

Now the estimated value of my option is $$\hat{V}=\frac{1}{N}\sum_i f(S^i_T)$$ where $f$ is the payoff function and $S^i_T$ is the i-th sample path of the process at time $T$.

Assume the ODE and $f$ have various parameters, for example starting value $S_0$, risk-free interest rate $r$ and volatility $\sigma$. Furthermore, f is sufficiently continous such that the derivatives

$$D_n=\frac{\partial F_n(\hat{S}_n)}{\partial \hat{S}_n }$$

exist.

Based on these quantities, how can I compute sensitivities using the adjoint method?

• Very interesting question - could you insert a link to what the "adjoint method" or "adjoint MC method" is? – Ric Jan 20 '14 at 12:11
• Furthermore: with "sensitivities" you mean something like the Greeks or more general derivatives w.r.t. to certain parameters. Have you heard of Malliavin-calculus? – Ric Jan 20 '14 at 12:12

We set out a general scheme for doing this sort of thing in our paper

http://ssrn.com/abstract=1401094

and its sequel

http://ssrn.com/abstract=1437847

Whilst the case studied is different, the techniques are the same. I also discuss in detail the whole process in a chapter of More Mathematical Finance.

The adjoint method when it applies is generally better than alternatives such as likelihood ratio and Malliavin calculus.

• Could you perhaps give some outline of the method to answer the question. Although it is appreciated when references are given it is generally not enough for a good answer - Thank you. – vonjd Feb 26 '15 at 6:39
• that would be rather long.. the essential idea is that you break up the function into very simple operations and then compute each step's sensitivities using the chain rule. – Mark Joshi Feb 26 '15 at 20:56
• So basically you are using automatic differentiation (AD)? – vonjd Apr 24 '16 at 12:00

If you want a simple example which you can easily reproduce in a spreadsheet, look at section 3 of the paper "Adjoints and automatic (algorithmic) differentiation in computational finance by Christian Homescu. Table 1 is wrong though but you should be able to generate the same numbers using all 4 methods

1) Finite Difference 2) Complex Step 3) Tangent Linear 4) Adjoint

Good Luck !