AnalyticEuropeanEngine and Multi-Curve Discounting

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

AnalyticEuropeanEngine and Multi-Curve Discounting

Paul Giltinan-2

Hi,

 

I am using AnalyticEuropeanEngine to price vanilla equity options, but wish to use separate curves for discounting and estimation of the equity forward price. The existing AnalyticEuropeanEngine only takes a GeneralisedBlackScholesProcess as input, and hence only has access to a “risk free rate curve” and a “dividend yield curve”. This is sufficient to match quoted forward prices, but is not flexible enough to enable pricing with reference to a separate discount curve.

 

I therefore propose extending AnalyticEuropeanEngine to take an optional second input argument for a discount curve (Handle<YieldTermStructure>). If this is not provided the engine defaults to the existing behaviour, but if it is provided the engine will use this curve when discounting cash flows.

 

Please take a look at the attached for a proposed implementation. It’s quite straightforward. If people are happy with this change then maybe I can submit a pull request?

 

Kind regards,

Paul


------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users

analyticeuropeanengine_multi.cpp (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: AnalyticEuropeanEngine and Multi-Curve Discounting

Marianne James

Hi All,

I'm trying to understand what this would mean for the measure being used. If the calculations are being done in the risk neutral measure then shouldn’t all of the discounting should be at the risk free rate to avoid arbitrage. If you use the risk neutral measure to forward price the stock but don't use the risk free rate for discounting in the Black formula then what measure is the calculation effectively being done under ?

 

Cheers

Ed

 

From: Paul Giltinan [mailto:[hidden email]]
Sent: 07 December 2016 14:34
To: [hidden email]
Subject: [Quantlib-users] AnalyticEuropeanEngine and Multi-Curve Discounting

 

Hi,

 

I am using AnalyticEuropeanEngine to price vanilla equity options, but wish to use separate curves for discounting and estimation of the equity forward price. The existing AnalyticEuropeanEngine only takes a GeneralisedBlackScholesProcess as input, and hence only has access to a “risk free rate curve” and a “dividend yield curve”. This is sufficient to match quoted forward prices, but is not flexible enough to enable pricing with reference to a separate discount curve.

 

I therefore propose extending AnalyticEuropeanEngine to take an optional second input argument for a discount curve (Handle<YieldTermStructure>). If this is not provided the engine defaults to the existing behaviour, but if it is provided the engine will use this curve when discounting cash flows.

 

Please take a look at the attached for a proposed implementation. It’s quite straightforward. If people are happy with this change then maybe I can submit a pull request?

 

Kind regards,

Paul


This email has been scanned by BullGuard antivirus protection.
For more info visit www.bullguard.com

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: AnalyticEuropeanEngine and Multi-Curve Discounting

Paul Giltinan-2
Hi Ed,

Let's put the question of probability measures to one side for now, and make two observations. 
1. In the market we can observe forward/futures prices as well as spot prices. Naturally these forward prices are necessary for pricing to avoid arbitrage.
2. The QL pricing engines do not take forward prices as input, but instead take dividend yields and a "risk free" rate term structure. In practice, practitioners imply their dividend yields from the forward price term structure; this bootstrap also takes an interest rate curve as input.

So, in our QL pricing engine we need the input dividend yields and risk free rate curve to reproduce the forward prices. So the input risk free rate curve needs to be the same as was used in the dividend yield bootstrap. 

But what is the "risk free discount rate" in practice? Libor? Ois? Treasury yield? My aim with the proposed change is to decouple this choice from the separate necessity to reproduce forward prices.

Kind regards, 
Paul 

On 9 Dec 2016 11:36, "Ed James" <[hidden email]> wrote:

Hi All,

I'm trying to understand what this would mean for the measure being used. If the calculations are being done in the risk neutral measure then shouldn’t all of the discounting should be at the risk free rate to avoid arbitrage. If you use the risk neutral measure to forward price the stock but don't use the risk free rate for discounting in the Black formula then what measure is the calculation effectively being done under ?

 

Cheers

Ed

 

From: Paul Giltinan [mailto:[hidden email]]
Sent: 07 December 2016 14:34
To: [hidden email]
Subject: [Quantlib-users] AnalyticEuropeanEngine and Multi-Curve Discounting

 

Hi,

 

I am using AnalyticEuropeanEngine to price vanilla equity options, but wish to use separate curves for discounting and estimation of the equity forward price. The existing AnalyticEuropeanEngine only takes a GeneralisedBlackScholesProcess as input, and hence only has access to a “risk free rate curve” and a “dividend yield curve”. This is sufficient to match quoted forward prices, but is not flexible enough to enable pricing with reference to a separate discount curve.

 

I therefore propose extending AnalyticEuropeanEngine to take an optional second input argument for a discount curve (Handle<YieldTermStructure>). If this is not provided the engine defaults to the existing behaviour, but if it is provided the engine will use this curve when discounting cash flows.

 

Please take a look at the attached for a proposed implementation. It’s quite straightforward. If people are happy with this change then maybe I can submit a pull request?

 

Kind regards,

Paul


This email has been scanned by BullGuard antivirus protection.
For more info visit www.bullguard.com

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: AnalyticEuropeanEngine and Multi-Curve Discounting

Marianne James

Hi Paul,

          Great, thanks for the explanation. That makes perfect sense now.

Cheers

Ed

 

From: Paul Giltinan [mailto:[hidden email]]
Sent: 09 December 2016 12:33
To: Ed James <[hidden email]>
Cc: [hidden email]
Subject: RE: [Quantlib-users] AnalyticEuropeanEngine and Multi-Curve Discounting

 

Hi Ed,

 

Let's put the question of probability measures to one side for now, and make two observations. 

1. In the market we can observe forward/futures prices as well as spot prices. Naturally these forward prices are necessary for pricing to avoid arbitrage.

2. The QL pricing engines do not take forward prices as input, but instead take dividend yields and a "risk free" rate term structure. In practice, practitioners imply their dividend yields from the forward price term structure; this bootstrap also takes an interest rate curve as input.

 

So, in our QL pricing engine we need the input dividend yields and risk free rate curve to reproduce the forward prices. So the input risk free rate curve needs to be the same as was used in the dividend yield bootstrap. 

 

But what is the "risk free discount rate" in practice? Libor? Ois? Treasury yield? My aim with the proposed change is to decouple this choice from the separate necessity to reproduce forward prices.

 

Kind regards, 

Paul 

 

On 9 Dec 2016 11:36, "Ed James" <[hidden email]> wrote:

Hi All,

I'm trying to understand what this would mean for the measure being used. If the calculations are being done in the risk neutral measure then shouldn’t all of the discounting should be at the risk free rate to avoid arbitrage. If you use the risk neutral measure to forward price the stock but don't use the risk free rate for discounting in the Black formula then what measure is the calculation effectively being done under ?

 

Cheers

Ed

 

From: Paul Giltinan [mailto:[hidden email]]
Sent: 07 December 2016 14:34
To: [hidden email]
Subject: [Quantlib-users] AnalyticEuropeanEngine and Multi-Curve Discounting

 

Hi,

 

I am using AnalyticEuropeanEngine to price vanilla equity options, but wish to use separate curves for discounting and estimation of the equity forward price. The existing AnalyticEuropeanEngine only takes a GeneralisedBlackScholesProcess as input, and hence only has access to a “risk free rate curve” and a “dividend yield curve”. This is sufficient to match quoted forward prices, but is not flexible enough to enable pricing with reference to a separate discount curve.

 

I therefore propose extending AnalyticEuropeanEngine to take an optional second input argument for a discount curve (Handle<YieldTermStructure>). If this is not provided the engine defaults to the existing behaviour, but if it is provided the engine will use this curve when discounting cash flows.

 

Please take a look at the attached for a proposed implementation. It’s quite straightforward. If people are happy with this change then maybe I can submit a pull request?

 

Kind regards,

Paul

 

This email has been scanned by BullGuard antivirus protection.

For more info visit www.bullguard.com


This email has been scanned by BullGuard antivirus protection.
For more info visit www.bullguard.com

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Loading...