I was wondering how well Vanna-Volga (VV) Implied Vols "perform". So I experimented with the following option parameters $$S_0=100,\ K=92,\ r=0.03,\ q=0.01,\ T=2$$ and VV parameters $$K_1,K_2,K_3=94,\ 105,\ 118,\quad \sigma_1,\sigma_2,\sigma_3=0.18,\ 0.12,\ 0.14$$ As per The Vanna-Volga method for implied volatilities, I computed the weights $$x_1,\ x_2,\ x_3=0.6887,\ 0.4208,\ -0.1026$$ Now we can define two portfolios $$P_1 = C(K) = \text{Call with Strike }K\text{ and Notional 1}$$ $$P_2=\sum_{i=1}^3x_iC(K_i)= \text{3 Calls with strikes }K_1,K_2,K_3\text{ and Notionals }x_1,x_2,x_3$$
In short, we can now price $P_1^{FLAT}$ and $P_2^{FLAT}$ using a Flat Vol of $\sigma_2=0.12$ for all strikes. Then we price $P_2^{MTM}$ using the actual "MTM" vols $\sigma_1,\sigma_2,\sigma_3$ for $K_1,K_2,K_3$. After computing the MTM-adjusted price $$P_1^{MTM}=P_1^{FLAT}+(P_2^{MTM}-P_2^{FLAT} )$$ for portfolio 1, we can then back out implied vol $\sigma_{imp}=0.1678$ that matches $P_1^{MTM}$.
However, when looking at the risk breakdown below we can see that Vega, Volga & Vanna match for the FLAT risk (green numbers), but not when we mark-to-market as there is a noticeable difference (red numbers). Different settings can even give opposite signs for Vanna or Volga.
Is the risk mismatch a known drawback? And more importantly, is there a way to overcome this?
Just as a sanity check, I plotted the VV implied vols and they look fine.