Goal: initial goal is to calibrate to Bloomberg's OVML prices for Vanillas and Barriers in OVML/DLIB History: My approach has been a bit ad-hoc so far and I've confused about how to proceed with implementation. I previously wrote code to mostly match Bloomberg's pricing for Vanillas, Barriers and Touches under Vanna-Volga. From what I understand: VV is essentially just for building a smile at a fixed maturity T in a manner consistent with observed liquid option prices while incorporating hedging costs for the three volatility related Greeks. To go from the smile at a number of given tenors to a full implied volatility surface, you need temporal interpolation: I used flat-forward time interpolation (linear in total variance) as the Clark book ("Foreign Exchange Option Pricing: A Practitioner's Guide") suggested this prevents calendar arbitrage in your model. I've so far read the Derman-Kani paper and the Dupire one but the actual implementation remains quite unclear to me. Is the idea that you extract a smooth arbitrage free surface from selected quotes, then estimate the derivatives of the call prices via this implied vol surface via finite differences and that gives you the local volatility surface/function?Presumably the twice continuously differentiable/arbitrage requirements rule out the Vanna Volga surface. If so, is there some baseline way for implied vol surface calibration in FX? Or is there some method that goes from quotes to local vol directly? From what I understand, after you have calibrated the local vol surface; actually pricing options with it itself can be done via solving backward equations or via MonteCarlo? Essentially,all I want right now is to figure out where I can learn this stuff or what the sequencing is? Are there industry-standard papers for implementing this - do not need the most computationally sophisticated work in so much as figuring out the basics?