Hi, I am using the API playground to retrieve the EUR Cap volatility surface, but I have a question regarding the response data. In the description of the API endpoint I see the following sentence:
It points out that the stripped volatility surface is returned, but what I want is the flat volatility surface. In the response I can see two diferent volatilities surfaces but I do not know which is each one. The first one is in response["data"]["surface"] and the other one in response["data"]["calibrationParameters"].
Thanks in advance.
Here is a definition of the caplet volatility rebasing.
Above we detail two methods to convert a caplet volatility from one basis to another.
What i understand is that you are actually looking for 'all-in' flat volatility surfaces (tenor*strikes). In other words a matrix of flat volatility. Ex, if the 6M volatility of cap of maturity 10Y and strike 2% is 25%, you will pass 25% volatility for the pricing of each caplet of that 10Y cap, and the sum of caplets premiums will match the quoted cap premium.
Brokers quotes such as VCAP or TPIRO provide such volatility but depending on the currency, you may not always have the same payment frequency per maturity. Ex, for EUR on 'VCAP4' the caps pay quarterly up to 2Y and SemiAnnual starting from 3Y.
You can find this volatility in the 'calibrationParameters' but as stated above the volatility is not homogeneous: you can have 3M vol up to 2Y, 6M vol from 3Y maturity.
FENICS however seem to provide cap volatility per index tenor, for certain currencies:
to access this data you have to be permissioned, and the better way to access it is not via the Volatility Surface service but via 'usual' RDP data retrieval functions (which i'm not familiar with).
In the response, 'data' corresponds to the actual 'stripped' caplets volatility surface. So if you want to evaluate the premium of a 1M USD floorlet, let's say, you can directly interpolate the floorlet 1M volatility from that surface (based on tenor and strike), and input the interpolated value in a Bachelier or logormal pricing formula. This caplets surface is stripped and rebased: we bootstrap the caplet volatility first, and then if you require a 1M caplet volatility (setting 'referenceCapletVolatility':'1M' in the payload), and the original market data is 3M or 6M (which often happens), we rebase it as a 1M volatility.
The 'calibrationParameters' contain an array with market cap 'all-in' flat volatilities, and their conventions.
I do not understand well what do you mean by "rebase", and what methodology it has behind it.
Anyway, my real question is how to obtain the flat volatility surface of the caps referenced to the different indexes (3M, 6M, and maybe 1M). Is there any way to obtain this data with RDP APIs?
I tried to use the previously mentioned endpoint and the payload for stripped cap volatilities and then focus on the 'calibrationParameters' field, but I have realised that it only returns the 3M volatility surface despite having changed the "referenceCapletTenor" to 1M or 6M.