Logo
Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
Public Member Functions | List of all members
EquityOptionSurfaceStripper Class Reference

#include <qle/termstructures/eqcommoptionsurfacestripper.hpp>

+ Inheritance diagram for EquityOptionSurfaceStripper:
+ Collaboration diagram for EquityOptionSurfaceStripper:

Public Member Functions

 EquityOptionSurfaceStripper (const QuantLib::Handle< QuantExt::EquityIndex2 > &equityIndex, const QuantLib::ext::shared_ptr< OptionInterpolatorBase > &callSurface, const QuantLib::ext::shared_ptr< OptionInterpolatorBase > &putSurface, const QuantLib::Calendar &calendar, const QuantLib::DayCounter &dayCounter, QuantLib::Exercise::Type type=QuantLib::Exercise::European, bool lowerStrikeConstExtrap=true, bool upperStrikeConstExtrap=true, bool timeFlatExtrapolation=false, bool preferOutOfTheMoney=false, Solver1DOptions solverOptions={})
 
- Public Member Functions inherited from OptionSurfaceStripper
 OptionSurfaceStripper (const QuantLib::ext::shared_ptr< OptionInterpolatorBase > &callSurface, const QuantLib::ext::shared_ptr< OptionInterpolatorBase > &putSurface, const QuantLib::Calendar &calendar, const QuantLib::DayCounter &dayCounter, QuantLib::Exercise::Type type=QuantLib::Exercise::European, bool lowerStrikeConstExtrap=true, bool upperStrikeConstExtrap=true, bool timeFlatExtrapolation=false, bool preferOutOfTheMoney=false, Solver1DOptions solverOptions={})
 
void performCalculations () const override
 
QuantLib::ext::shared_ptr< QuantLib::BlackVolTermStructure > volSurface ()
 Return the stripped volatility structure. More...
 

OptionSurfaceStripper interface

QuantLib::Handle< QuantExt::EquityIndex2equityIndex_
 
QuantLib::ext::shared_ptr< QuantLib::GeneralizedBlackScholesProcess > process (const QuantLib::ext::shared_ptr< QuantLib::SimpleQuote > &volatilityQuote) const override
 Generate the relevant Black Scholes process for the underlying. More...
 
QuantLib::Real forward (const QuantLib::Date &date) const override
 Return the forward price at a given date. More...
 

Additional Inherited Members

- Protected Member Functions inherited from OptionSurfaceStripper
- Protected Attributes inherited from OptionSurfaceStripper
QuantLib::ext::shared_ptr< OptionInterpolatorBasecallSurface_
 
QuantLib::ext::shared_ptr< OptionInterpolatorBaseputSurface_
 
const QuantLib::Calendar & calendar_
 
const QuantLib::DayCounter & dayCounter_
 
QuantLib::Exercise::Type type_
 
bool lowerStrikeConstExtrap_
 
bool upperStrikeConstExtrap_
 
bool timeFlatExtrapolation_
 
bool preferOutOfTheMoney_
 

Detailed Description

Definition at line 150 of file eqcommoptionsurfacestripper.hpp.

Constructor & Destructor Documentation

◆ EquityOptionSurfaceStripper()

EquityOptionSurfaceStripper ( const QuantLib::Handle< QuantExt::EquityIndex2 > &  equityIndex,
const QuantLib::ext::shared_ptr< OptionInterpolatorBase > &  callSurface,
const QuantLib::ext::shared_ptr< OptionInterpolatorBase > &  putSurface,
const QuantLib::Calendar &  calendar,
const QuantLib::DayCounter &  dayCounter,
QuantLib::Exercise::Type  type = QuantLib::Exercise::European,
bool  lowerStrikeConstExtrap = true,
bool  upperStrikeConstExtrap = true,
bool  timeFlatExtrapolation = false,
bool  preferOutOfTheMoney = false,
Solver1DOptions  solverOptions = {} 
)

Definition at line 312 of file eqcommoptionsurfacestripper.cpp.

324 : OptionSurfaceStripper(callSurface, putSurface, calendar, dayCounter, type, lowerStrikeConstExtrap,
325 upperStrikeConstExtrap, timeFlatExtrapolation, preferOutOfTheMoney, solverOptions), equityIndex_(equityIndex) {
326 registerWith(equityIndex_);
327}
QuantLib::Handle< QuantExt::EquityIndex2 > equityIndex_
OptionSurfaceStripper(const QuantLib::ext::shared_ptr< OptionInterpolatorBase > &callSurface, const QuantLib::ext::shared_ptr< OptionInterpolatorBase > &putSurface, const QuantLib::Calendar &calendar, const QuantLib::DayCounter &dayCounter, QuantLib::Exercise::Type type=QuantLib::Exercise::European, bool lowerStrikeConstExtrap=true, bool upperStrikeConstExtrap=true, bool timeFlatExtrapolation=false, bool preferOutOfTheMoney=false, Solver1DOptions solverOptions={})

Member Function Documentation

◆ process()

QuantLib::ext::shared_ptr< GeneralizedBlackScholesProcess > process ( const QuantLib::ext::shared_ptr< QuantLib::SimpleQuote > &  volatilityQuote) const
overrideprotectedvirtual

Generate the relevant Black Scholes process for the underlying.

Implements OptionSurfaceStripper.

Definition at line 329 of file eqcommoptionsurfacestripper.cpp.

330 {
331
332 Handle<BlackVolTermStructure> vts(QuantLib::ext::make_shared<BlackConstantVol>(
333 callSurface_->referenceDate(), calendar_, Handle<Quote>(volatilityQuote), dayCounter_));
334
335 return QuantLib::ext::make_shared<BlackScholesMertonProcess>(equityIndex_->equitySpot(),
336 equityIndex_->equityDividendCurve(), equityIndex_->equityForecastCurve(), vts);
337}
const QuantLib::DayCounter & dayCounter_
QuantLib::ext::shared_ptr< OptionInterpolatorBase > callSurface_

◆ forward()

Real forward ( const QuantLib::Date &  date) const
overrideprotectedvirtual

Return the forward price at a given date.

Implements OptionSurfaceStripper.

Definition at line 339 of file eqcommoptionsurfacestripper.cpp.

339 {
340 return equityIndex_->forecastFixing(date);
341}

Member Data Documentation

◆ equityIndex_

QuantLib::Handle<QuantExt::EquityIndex2> equityIndex_
private

Definition at line 175 of file eqcommoptionsurfacestripper.hpp.