Let's assume I have an arbitrary option that I can price using Monte-Carlo simulation. What is the general approach (i.e. without relying on specific option type) to calculating the greeks in this case?
Edit: I woud like to add a few links on the topic that I found useful:
Answer
You need to compute your greeks as finite differences, but the full procedure may be pretty tricky. I will use vega ℵ as the example here. Let's begin by designating your Monte Carlo estimator as a function V(σ,s,M) where σ is the volatility as usual, s is the seed to your random number generator, and M is the sample count.
To begin with, recall that the Monte Carlo estimate of any value converges with the square root of the sample count. In particular, if you choose, say, M=100, you can run your estimator N=500 times to get estimate {Vn}500i=1, obtaining the standard deviation Σ100 of those estimates.
Having done this, we now know the standard error of the estimator for any M to be
eM≈Σ100√100M
There are three possible cases:
- You can control the random seed s, or the set of random samples, used by the Monte Carlo estimator
- You cannot control s.
- You cannot even control the sample count M.
In the first case, you can use the fact that s has been controlled to get a reasonable estimate of vega with relatively little extra work.
Find an M such that the error in option price eM is tolerable. Choose a seed s0 and a small increment Δσ in the volatility, and compute
ℵ(1)=V(σ+Δσ,s0,M)−V(σ−Δσ,s0,M)2Δσ
If ℵ(1)≈ℵ(2) then you have a good estimate and you are done.
The reason this works so nicely is that, by controlling the seed, our difference computations
δ=V(σ+Δσ,s0,M)−V(σ−Δσ,s0,M)
The second case where you cannot control the seed, on the other hand, is rather more difficult. Here, you will have a different error e to the true value every time you run the function.
For brevity, let's let e±=V(σ±Δσ,s±,M).
Of course we do not know the value of e± or of s±, but we do at least have our estimate of the size of e± as noted above. Therefore, the error in δ is approximately eM√2. You need to choose M so large that δ≫eM√2.
Not knowing the value of δ a priori makes this difficult, but usually in a trading context one can specify an acceptable absolute error ϵ in vega. In that case, we can demand ϵ<eM√2Δσ
The third case, where you can control neither the random seed s nor the sample count M should be treated as the second case above. You simply treat each run of the algorithm as a single sample.
No comments:
Post a Comment