Suppose we have a portfolio of say two vanilla options (e.g. on two index futures). One option A with underlying X and a second option B with underlying Y. I'm trying to calculate the delta-gamma value-at-risk approximation but I'm a bit confused with the gamma matrix part and especially the non-diagonal elements a.k.a cross-gamma. How exactly can we calculate this?
There is this great discussion here that suggests to use a finite difference scheme to approximate cross-gamma: Compute cross-gamma
The discussion is on option with several underlyings which is different than my problem here. But it is also mentioned in comments that it could very well be applied at the portfolio level (which is my case here).
I followed this approach and calculated the market value of my portfolio of options with epsilon set as +/- 1% on each underlying. The problem is that only option A is impacted by a shift in price of underlying X (option B does not depend on X) and only the second option B is impacted by a shift in price of underlying Y. Thus I always find a cross-gamma equal to 0 when using the formula (elements offset each other). Am I missing something?
Also, another question I have is when I assume a change in price of underlying X by +/- epsilon, should I assume all other parameters equal to calculate the new option price of A? (especially keeping the same implied volatility)