Logo
Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
blackindexcdsoptionengine.hpp
Go to the documentation of this file.
1/*
2 Copyright (C) 2021 Quaternion Risk Management Ltd
3 All rights reserved.
4
5 This file is part of ORE, a free-software/open-source library
6 for transparent pricing and risk analysis - http://opensourcerisk.org
7
8 ORE is free software: you can redistribute it and/or modify it
9 under the terms of the Modified BSD License. You should have received a
10 copy of the license along with this program.
11 The license is also available online at <http://opensourcerisk.org>
12
13 This program is distributed on the basis that it will form a useful
14 contribution to risk analytics and model standardisation, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16 FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.
17*/
18
19/*! \file qle/pricingengines/blackindexcdsoptionengine.hpp
20 \brief Black index credit default swap option engine.
21*/
22
23#pragma once
24
26
27namespace QuantExt {
28
29/*! Black index CDS option engine
30
31 Prices index CDS option instruments quoted in terms of strike spread or strike price. If the strike is in terms
32 of spread, it is assumed that the volatility structure's strike dimension, if there is one, is in terms of spread
33 also. This is the standard quotation convention for investment grade index families like CDX IG and ITraxx Europe.
34 If the strike is in terms of price, it is assumed that the volatility structure's strike dimension, if there is
35 one, is in terms of price also. This is the standard quotation convention for high yield index families like
36 CDX HY and CDX EM.
37
38 The valuation of the index CDS options with strike price is a reasonably straightforward application of Black's
39 formula. The approach is outlined for example in <em>Mark-to-market Credit Index Option Pricing and
40 Credit Volatility Index, John Yang and Lukasz Dobrek, 23 June 2015, Section 1.1</em>. Here, we calculate the
41 front end protection (FEP) adjusted forward price as opposed to deriving it from the market quotes of payer and
42 receiver CDS options with the same strike.
43
44 The valuation of the index CDS options with strike spread follows the approach outlined in <em>Modelling
45 Single-name and Multi-name Credit Derivatives, Dominic O'Kane, 2008, Section 11.7</em>. This is also the approach
46 outlined in <em>Credit Index Option, ICE, 2018</em>.
47*/
49public:
51
52private:
53 void doCalc() const override;
54
55 void spreadStrikeCalculate(QuantLib::Real fep) const;
56 void priceStrikeCalculate(QuantLib::Real fep) const;
57 QuantLib::Real forwardRiskyAnnuityStrike() const;
58};
59
60} // namespace QuantExt
void spreadStrikeCalculate(QuantLib::Real fep) const
void doCalc() const override
Engine specific calculation.
void priceStrikeCalculate(QuantLib::Real fep) const
QuantLib::Real fep() const
Calculate the discounted value of the front end protection.
IndexCdsOptionBaseEngine(const QuantLib::Handle< QuantLib::DefaultProbabilityTermStructure > &probability, QuantLib::Real recovery, const Handle< YieldTermStructure > &discountSwapCurrency, const Handle< YieldTermStructure > &discountTradeCollateral, const QuantLib::Handle< QuantExt::CreditVolCurve > &volatility)
Constructor taking a default probability term structure bootstrapped from the index spreads.
Base class for index cds option pricing engines.