I think the easiest is to fit a quadratic function to fit the smile. There is an old Malz (1997) paper that describes this 
http://papers.ssrn.com/sol3/papers.cfm?abstract_id=943500

However there are some small issues with this approach when you have large RR and also the quoting conventions are important (EM vs G10).

So his approach is to make volatility a quadratic function of delta this allows you to have some closed form type formula for the vanna and volga.  

So you could do something like this

smilefit<- lm(vol ~ delta + I(delta^2)) 

then use the fitted function to price your particular delta option. You'd also have to interpolate between maturities as the option decays.

I don't think there is any single model that you can use for the very low delta options (less than 10 delta) typically people use various power functions to interpolate but it is in practice very liquidity driven. 

Also as you probably know a prop desk or large HF will get much tighter pricing than if you are trading this on a retail FX platform or if you are at a small fund so you'd have to make reasonable assumptions on bid-offer.

Hope this helps.

Cheers
Krishna



On Jun 23, 2011, at 5:17 PM, thomas.browne@mac.com wrote:

> 
> Hi,
> 
> 
> I want to price FX options taking into account the smile and skew. Here is the vol data that I have, for example for EURUSD:
> 
> EURUSD
> 1m
> 3m
> 6m
> 12m
> 2y
> 10dPut
> 16.6
> 17.4
> 18.0
> 18.4
> 17.6
> 25dPut
> 14.7
> 15.2
> 15.4
> 15.7
> 15.2
> ATM
> 12.9
> 13.3
> 13.4
> 13.6
> 13.4
> 25dCall
> 11.8
> 12.3
> 12.5
> 12.8
> 12.6
> 10dCall
> 11.2
> 11.9
> 12.4
> 12.8
> 12.6
> 
> Alternatively I have it in butterfly and RR form:
> 
> EURUSD
> 1m
> 3m
> 6m
> 1y
> 2y
> 10dfly
> 1.04
> 1.41
> 1.76
> 1.96
> 1.71
> 25dfly
> 0.36
> 0.45
> 0.54
> 0.62
> 0.55
> ATM
> 12.89
> 13.27
> 13.43
> 13.61
> 13.38
> 25drr
> -2.98
> -2.92
> -2.92
> -2.93
> -2.56
> 10drr
> -5.43
> -5.46
> -5.61
> -5.59
> -4.95
> 
> Source: Bloomberg. 
> 
> What is the best library to do this in R? Is there a library to do this? 
> 
> Basically I am running model portfolios using options up to 2 years and as low as 5 delta. So I would need to price the options using the smile/skew, and also potentially extrapolate the surface to lower delta vols. I won't be going out further than 2y. 
> 
> Separate question: is there a good library for calculating financial trading dates in R, hopefully also taking into account country holidays?
> 
> I am told that Quantlib will do this, but I find it a little dense to understand. If the answer is that I must persevere with Quantlib then so be it, in which case, are there any example sites that I can consult? Alternatively if there is some canned functionality elsewhere that would be good to know. Thanks very much in advance.
> 
> Tom
> 
> 	[[alternative HTML version deleted]]
> 
> _______________________________________________
> R-SIG-Finance@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only. If you want to post, subscribe first.
> -- Also note that this is not the r-help list where general R questions should go.


	[[alternative HTML version deleted]]

