Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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 } $$


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


share|improve this question
Very interesting question - could you insert a link to what the "adjoint method" or "adjoint MC method" is? – Richard 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? – Richard Jan 20 '14 at 12:12

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


and its sequel


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.

share|improve this answer
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 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 !

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.