qlLegDuration shows wrong number while qlLegBPS & NPV is correct

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

qlLegDuration shows wrong number while qlLegBPS & NPV is correct

imachabeli
In the same spreadsheet for the same vanilla ATM 5Y usd swap I'm computing duration and BPS,NPV
While bps shows 485(correct value for ATM 5Y)
=qlLegBPS(FixedLeg,TermStructure,IncludeSettlementDateFlows,SettlementDate)

NPV is close to 0 , also ok

duration produced by formula is 2.6 does not make sense to me

=qlLegDuration(FixedLeg,FixedLegRate,FixedLegDayCounter,"Simple","Semiannual","Modified",IncludeSettlementDateFlows,SettlementDate,SettlementDate)


Does this formula really calculates duration?
Reply | Threaded
Open this post in threaded view
|

Re: qlLegDuration shows wrong number while qlLegBPS & NPV is correct

Ferdinando M. Ametrano-2
why 2.6 doesn't make sense to you?


On Tue, Oct 8, 2013 at 8:49 PM, imachabeli <[hidden email]> wrote:
In the same spreadsheet for the same vanilla ATM 5Y usd swap I'm computing
duration and BPS,NPV
While bps shows 485(correct value for ATM 5Y)
=qlLegBPS(FixedLeg,TermStructure,IncludeSettlementDateFlows,SettlementDate)

NPV is close to 0 , also ok

duration produced by formula is 2.6 does not make sense to me

=qlLegDuration(FixedLeg,FixedLegRate,FixedLegDayCounter,"Simple","Semiannual","Modified",IncludeSettlementDateFlows,SettlementDate,SettlementDate)


Does this formula really calculates duration?



--
View this message in context: http://quantlib.10058.n7.nabble.com/qlLegDuration-shows-wrong-number-while-qlLegBPS-NPV-is-correct-tp14566.html
Sent from the quantlib-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users


------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: qlLegDuration shows wrong number while qlLegBPS & NPV is correct

imachabeli
Ok. I see whats going on , the final payment of notional is not included in the leg. Is there a way to include notional payment in the both fixed and floating legs?
What does Duration of leg 2(floating leg) calculates? it returns something like 3.56  is it just a cashflow duration i.e. cash flow is kept constant(instead of adjusting for the rate shock) when rate shock is applied ?

On 10/9/2013 5:05 AM, Ferdinando M. Ametrano wrote:
why 2.6 doesn't make sense to you?


On Tue, Oct 8, 2013 at 8:49 PM, imachabeli <[hidden email]> wrote:
In the same spreadsheet for the same vanilla ATM 5Y usd swap I'm computing
duration and BPS,NPV
While bps shows 485(correct value for ATM 5Y)
=qlLegBPS(FixedLeg,TermStructure,IncludeSettlementDateFlows,SettlementDate)

NPV is close to 0 , also ok

duration produced by formula is 2.6 does not make sense to me

=qlLegDuration(FixedLeg,FixedLegRate,FixedLegDayCounter,"Simple","Semiannual","Modified",IncludeSettlementDateFlows,SettlementDate,SettlementDate)


Does this formula really calculates duration?



--
View this message in context: http://quantlib.10058.n7.nabble.com/qlLegDuration-shows-wrong-number-while-qlLegBPS-NPV-is-correct-tp14566.html
Sent from the quantlib-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users



------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: qlLegDuration shows wrong number while qlLegBPS & NPV is correct

Luigi Ballabio
In C++ you can make a copy of the leg and add the notional payment
manually; I'm not sure you can do it from Excel without modifying the
swap class and recompiling.

Duration of the floating leg is a cashflow duration as you guessed.

Luigi


On Wed, Oct 9, 2013 at 2:54 PM, Irakli Machabeli
<[hidden email]> wrote:

> Ok. I see whats going on , the final payment of notional is not included in
> the leg. Is there a way to include notional payment in the both fixed and
> floating legs?
> What does Duration of leg 2(floating leg) calculates? it returns something
> like 3.56  is it just a cashflow duration i.e. cash flow is kept
> constant(instead of adjusting for the rate shock) when rate shock is applied
> ?
>
>
> On 10/9/2013 5:05 AM, Ferdinando M. Ametrano wrote:
>
> why 2.6 doesn't make sense to you?
>
>
> On Tue, Oct 8, 2013 at 8:49 PM, imachabeli <[hidden email]> wrote:
>>
>> In the same spreadsheet for the same vanilla ATM 5Y usd swap I'm computing
>> duration and BPS,NPV
>> While bps shows 485(correct value for ATM 5Y)
>>
>> =qlLegBPS(FixedLeg,TermStructure,IncludeSettlementDateFlows,SettlementDate)
>>
>> NPV is close to 0 , also ok
>>
>> duration produced by formula is 2.6 does not make sense to me
>>
>>
>> =qlLegDuration(FixedLeg,FixedLegRate,FixedLegDayCounter,"Simple","Semiannual","Modified",IncludeSettlementDateFlows,SettlementDate,SettlementDate)
>>
>>
>> Does this formula really calculates duration?
>>
>>
>>
>> --
>> View this message in context:
>> http://quantlib.10058.n7.nabble.com/qlLegDuration-shows-wrong-number-while-qlLegBPS-NPV-is-correct-tp14566.html
>> Sent from the quantlib-users mailing list archive at Nabble.com.
>>
>>
>> ------------------------------------------------------------------------------
>> October Webinars: Code for Performance
>> Free Intel webinars can help you accelerate application performance.
>> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
>> from
>> the latest Intel processors and coprocessors. See abstracts and register >
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
>> _______________________________________________
>> QuantLib-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
>
>
>
> ------------------------------------------------------------------------------
> October Webinars: Code for Performance
> Free Intel webinars can help you accelerate application performance.
> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
> from
> the latest Intel processors and coprocessors. See abstracts and register >
> http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>



--
<https://implementingquantlib.blogspot.com>
<https://twitter.com/lballabio>

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: qlLegDuration shows wrong number while qlLegBPS & NPV is correct

imachabeli
Where can I find list of supported keywords for qlInstrumentResults for
Swaption (=qlInstrumentResults(C78,"vega",Triggers)/100 )
vega worked but other obvious candidates like delta, gamma, theta
produce error like qlInstrumentResults  delta not provided.

I dig into instruments.xml but no go from there, binding looks beyond my
understanding of QuantlibXL

On 10/9/2013 9:02 AM, Luigi Ballabio wrote:

> In C++ you can make a copy of the leg and add the notional payment
> manually; I'm not sure you can do it from Excel without modifying the
> swap class and recompiling.
>
> Duration of the floating leg is a cashflow duration as you guessed.
>
> Luigi
>
>
> On Wed, Oct 9, 2013 at 2:54 PM, Irakli Machabeli
> <[hidden email]> wrote:
>> Ok. I see whats going on , the final payment of notional is not included in
>> the leg. Is there a way to include notional payment in the both fixed and
>> floating legs?
>> What does Duration of leg 2(floating leg) calculates? it returns something
>> like 3.56  is it just a cashflow duration i.e. cash flow is kept
>> constant(instead of adjusting for the rate shock) when rate shock is applied
>> ?
>>
>>
>> On 10/9/2013 5:05 AM, Ferdinando M. Ametrano wrote:
>>
>> why 2.6 doesn't make sense to you?
>>
>>
>> On Tue, Oct 8, 2013 at 8:49 PM, imachabeli <[hidden email]> wrote:
>>> In the same spreadsheet for the same vanilla ATM 5Y usd swap I'm computing
>>> duration and BPS,NPV
>>> While bps shows 485(correct value for ATM 5Y)
>>>
>>> =qlLegBPS(FixedLeg,TermStructure,IncludeSettlementDateFlows,SettlementDate)
>>>
>>> NPV is close to 0 , also ok
>>>
>>> duration produced by formula is 2.6 does not make sense to me
>>>
>>>
>>> =qlLegDuration(FixedLeg,FixedLegRate,FixedLegDayCounter,"Simple","Semiannual","Modified",IncludeSettlementDateFlows,SettlementDate,SettlementDate)
>>>
>>>
>>> Does this formula really calculates duration?
>>>
>>>
>>>
>>> --
>>> View this message in context:
>>> http://quantlib.10058.n7.nabble.com/qlLegDuration-shows-wrong-number-while-qlLegBPS-NPV-is-correct-tp14566.html
>>> Sent from the quantlib-users mailing list archive at Nabble.com.
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> October Webinars: Code for Performance
>>> Free Intel webinars can help you accelerate application performance.
>>> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
>>> from
>>> the latest Intel processors and coprocessors. See abstracts and register >
>>>
>>> http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
>>> _______________________________________________
>>> QuantLib-users mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>>
>>
>>
>> ------------------------------------------------------------------------------
>> October Webinars: Code for Performance
>> Free Intel webinars can help you accelerate application performance.
>> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
>> from
>> the latest Intel processors and coprocessors. See abstracts and register >
>> http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
>> _______________________________________________
>> QuantLib-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>>
>
>


------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: qlLegDuration shows wrong number while qlLegBPS & NPV is correct

Peter Caspers-4
In C++ you can get all available results from

Instrument::addtionalResults()

with the keys of the returned map being the available keywords you are
looking for. From the Addin there seem no way to get such a list of keys
at the moment.

You can also look up the results in the respective pricing engine
directly. For the BlackSwaptionEngine we have e.g.

spreadCorrection
strike
atmForward
annuity
swapLength
stdDev
vega

kind regards
   Peter


Irakli Machabeli <[hidden email]> writes:

> Where can I find list of supported keywords for qlInstrumentResults for
> Swaption (=qlInstrumentResults(C78,"vega",Triggers)/100 )
> vega worked but other obvious candidates like delta, gamma, theta
> produce error like qlInstrumentResults  delta not provided.
>
> I dig into instruments.xml but no go from there, binding looks beyond my
> understanding of QuantlibXL
>
> On 10/9/2013 9:02 AM, Luigi Ballabio wrote:
>> In C++ you can make a copy of the leg and add the notional payment
>> manually; I'm not sure you can do it from Excel without modifying the
>> swap class and recompiling.
>>
>> Duration of the floating leg is a cashflow duration as you guessed.
>>
>> Luigi
>>
>>
>> On Wed, Oct 9, 2013 at 2:54 PM, Irakli Machabeli
>> <[hidden email]> wrote:
>>> Ok. I see whats going on , the final payment of notional is not included in
>>> the leg. Is there a way to include notional payment in the both fixed and
>>> floating legs?
>>> What does Duration of leg 2(floating leg) calculates? it returns something
>>> like 3.56  is it just a cashflow duration i.e. cash flow is kept
>>> constant(instead of adjusting for the rate shock) when rate shock is applied
>>> ?
>>>
>>>
>>> On 10/9/2013 5:05 AM, Ferdinando M. Ametrano wrote:
>>>
>>> why 2.6 doesn't make sense to you?
>>>
>>>
>>> On Tue, Oct 8, 2013 at 8:49 PM, imachabeli <[hidden email]> wrote:
>>>> In the same spreadsheet for the same vanilla ATM 5Y usd swap I'm computing
>>>> duration and BPS,NPV
>>>> While bps shows 485(correct value for ATM 5Y)
>>>>
>>>> =qlLegBPS(FixedLeg,TermStructure,IncludeSettlementDateFlows,SettlementDate)
>>>>
>>>> NPV is close to 0 , also ok
>>>>
>>>> duration produced by formula is 2.6 does not make sense to me
>>>>
>>>>
>>>> =qlLegDuration(FixedLeg,FixedLegRate,FixedLegDayCounter,"Simple","Semiannual","Modified",IncludeSettlementDateFlows,SettlementDate,SettlementDate)
>>>>
>>>>
>>>> Does this formula really calculates duration?
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://quantlib.10058.n7.nabble.com/qlLegDuration-shows-wrong-number-while-qlLegBPS-NPV-is-correct-tp14566.html
>>>> Sent from the quantlib-users mailing list archive at Nabble.com.
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> October Webinars: Code for Performance
>>>> Free Intel webinars can help you accelerate application performance.
>>>> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
>>>> from
>>>> the latest Intel processors and coprocessors. See abstracts and register >
>>>>
>>>> http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
>>>> _______________________________________________
>>>> QuantLib-users mailing list
>>>> [hidden email]
>>>> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> October Webinars: Code for Performance
>>> Free Intel webinars can help you accelerate application performance.
>>> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
>>> from
>>> the latest Intel processors and coprocessors. See abstracts and register >
>>> http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
>>> _______________________________________________
>>> QuantLib-users mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>>>
>>
>>
>
>
> ------------------------------------------------------------------------------
> October Webinars: Code for Performance
> Free Intel webinars can help you accelerate application performance.
> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
> the latest Intel processors and coprocessors. See abstracts and register >
> http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users