yes this looks correct, the cube returns an annualized volatility which is also the input for the black swaption engine.
> Hello Peter,
>
> Could you please just tell me if the following lines are correct? I'm a bit confused with QuantLib conventions (annualized volatility, volatility or variance and so on).
>
> double swaptionVol = swaptionVolCube->volatility(time, tenor,
> strike); boost::shared_ptr<PricingEngine>
> engine=boost::shared_ptr<PricingEngine>(new
> BlackSwaptionEngine(discountCurve, swaptionVol));
>
> Thanks a lot,
>
> Pierre
>
> -----Original Message-----
> From: Peter Caspers [mailto:
[hidden email]]
> Sent: Friday, March 27, 2015 3:49 AM
> To: Grison PG Pierre (External DEXIA-US)
> Cc:
[hidden email]
> Subject: Re: [Quantlib-users] swaption surface
>
> Hi Pierre,
>
> this is a default implementation, giving the lowest possible strike (zero - the library is currently still limited to lognormal volatilities with regards to swaptions) and a "resonable upper bound"
> of 100% = 1.0. However you can always enable extrapolation for a cube
> by
>
> myCube->enableExtrapolation();
>
> or say "extrapolate = yes" when asking for a single volatility outside this strike range.
>
> With regards to quotation style, yes, the volatility cubes expect an
> ATM volatility and smile volatility quotes in absolute moneyness ( K -
> F ) scale. Typically you have quotes for
>
> ATM-200bp, ATM-150bp, ATM -100bp, ATM-50bp, ATM-25bp, ATM, ATM+25bp,
> ATM+50bp, ATM+100bp, ATM+150bp, ATM+200bp
>
> or the like. You would specify this in QuantLib via the strikeSpreads
> parameter with
>
> {-0.02, -0.0150, -0.01, -0.0050, -0.0025, 0.0, 0.0025, 0.0050, 0.01,
> 0.015, 0.02}
>
> You have to be careful with the quotes that are not given due to the low rates on the receiver side. The linearly interpolated cube will just blindly interpolate what you pass, so probably you should extrapolate the quotes flat to the left (for example) before you hand them into the constructor. The SABR cube ignores quotes below a cutoff strike given by a parameter in the constructor, which defaults to 1bp.
> I guess we should invest some work, so that we can process invalid (=
> empty) quotes passed to the cubes in the future. Besides I am currently working on shifted lognormal cubes.
>
> What do think of normal swaption cubes. Are they also relevant ?
>
> best regards
> Peter
>
>
> On 26 March 2015 at 22:07, Grison PG Pierre (External DEXIA-US) <
[hidden email]> wrote:
>> Hello,
>>
>> Do you know if there is a reason for:
>>
>> Rate minStrike() const { return 0.0; } Rate maxStrike() const {
>> return 1.0; }
>>
>> I have the feeling the strikes are expressed as spreads from the spot swap rate but I should be wrong. If have strikes such as -3bps (real strike = spot rate -3bps), -2bps, ..., +3bps and so on, should I convert them before using quantlib?
>>
>> Pierre
>>
>>
>>
>>
>> -----Original Message-----
>> From: Peter Caspers [mailto:
[hidden email]]
>> Sent: Friday, March 13, 2015 10:43 AM
>> To: Grison PG Pierre (External DEXIA-US)
>> Cc:
[hidden email]
>> Subject: Re: [Quantlib-users] swaption surface
>>
>> Hi Pierre,
>>
>> SwaptionVolCube1 (SABR) and SwaptionVolCube2 (linearly interpolated)
>> are the available choices in the production branch, both located in
>> ql / termstructures / volatility / swaption
>>
>> Best regards
>> Peter
>>
>>
>> On 13 March 2015 at 15:28, Grison PG Pierre (External DEXIA-US) <
[hidden email]> wrote:
>>> Hello all,
>>>
>>>
>>>
>>> What is the best way in QuantLib to define, for a given tenor, a
>>> swaption volatility surface such as vol=f(maturity,strike) ?
>>>
>>>
>>>
>>> Many thanks,
>>>
>>>
>>>
>>> Pierre
>>>
>>>
>>> --------------------------------------------------------------------
>>> -
>>> -
>>> -------- Dive into the World of Parallel Programming The Go Parallel
>>> Website, sponsored by Intel and developed in partnership with
>>> Slashdot Media, is your hub for all things parallel software
>>> development, from weekly thought leadership blogs to news, videos,
>>> case studies, tutorials and more. Take a look and join the conversation now.
>>>
http://goparallel.sourceforge.net/>>> _______________________________________________
>>> QuantLib-users mailing list
>>>
[hidden email]
>>>
https://lists.sourceforge.net/lists/listinfo/quantlib-users>>>
>>
>> _____________________________________________________________________
>> _ _______ Scanned by IBM Email Security Management Services powered
>> by MessageLabs. For more information please visit
>>
http://www-935.ibm.com/services/us/index.wss/offerfamily/iss/a1026954>> _____________________________________________________________________
>> _
>> _______
>
> ______________________________________________________________________
> _______ Scanned by IBM Email Security Management Services powered by
> MessageLabs. For more information please visit
>
http://www-935.ibm.com/services/us/index.wss/offerfamily/iss/a1026954> ______________________________________________________________________
> _______
Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit