Logo Search packages:      
Sourcecode: quantlib version File versions  Download package

QuantLib::QuantoForwardVanillaOption Class Reference

#include <quantoforwardvanillaoption.hpp>

Inheritance diagram for QuantLib::QuantoForwardVanillaOption:

QuantLib::QuantoVanillaOption QuantLib::VanillaOption QuantLib::OneAssetStrikedOption QuantLib::OneAssetOption QuantLib::Option QuantLib::Instrument QuantLib::LazyObject QuantLib::Observable QuantLib::Observer

List of all members.


Detailed Description

Quanto version of a forward vanilla option.

Definition at line 34 of file quantoforwardvanillaoption.hpp.


Public Types

typedef QuantoOptionArguments
< ForwardVanillaOption::arguments
arguments
typedef QuantoEngine
< ForwardVanillaOption::arguments,
ForwardVanillaOption::results
engine
typedef QuantoOptionResults
< ForwardVanillaOption::results
results
enum  Type { Call, Put }

Public Member Functions

Volatility impliedVolatility (Real price, Real accuracy=1.0e-4, Size maxEvaluations=100, Volatility minVol=QL_MIN_VOLATILITY, Volatility maxVol=QL_MAX_VOLATILITY) const
void notifyObservers ()
 QuantoForwardVanillaOption (const Handle< YieldTermStructure > &foreignRiskFreeTS, const Handle< BlackVolTermStructure > &exchRateVolTS, const Handle< Quote > &correlation, Real moneyness, Date resetDate, const boost::shared_ptr< StochasticProcess > &, const boost::shared_ptr< StrikedTypePayoff > &, const boost::shared_ptr< Exercise > &, const boost::shared_ptr< PricingEngine > &engine)
template<class T>
void registerWith (const boost::shared_ptr< T > &h)
void setupArguments (Arguments *) const
template<class T>
void unregisterWith (const boost::shared_ptr< T > &h)
greeks
Real delta () const
Real deltaForward () const
Real dividendRho () const
Real elasticity () const
Real gamma () const
Real itmCashProbability () const
Real rho () const
Real theta () const
Real thetaPerDay () const
Real vega () const
Inspectors
Real errorEstimate () const
 returns the error estimate on the NPV when available.
Real NPV () const
 returns the net present value of the instrument.
Calculations
These methods do not modify the structure of the object and are therefore declared as const. Data members which will be calculated on demand need to be declared as mutable.

void freeze ()
void recalculate ()
void unfreeze ()
Instrument interface
bool isExpired () const
 returns whether the instrument is still tradable.
greeks
Real qlambda () const
Real qrho () const
Real qvega () const
Modifiers
void setPricingEngine (const boost::shared_ptr< PricingEngine > &)
 set the pricing engine to be used.
greeks
Real strikeSensitivity () const
Observer interface
void update ()

Protected Member Functions

void setupExpired () const
Calculations
void calculate () const

Protected Attributes

bool calculated_
Handle< Quotecorrelation_
Real delta_
Real deltaForward_
Real dividendRho_
Real elasticity_
boost::shared_ptr< PricingEngineengine_
Handle< BlackVolTermStructureexchRateVolTS_
boost::shared_ptr< Exerciseexercise_
Handle< YieldTermStructureforeignRiskFreeTS_
bool frozen_
Real gamma_
Real itmCashProbability_
boost::shared_ptr< Payoffpayoff_
Real qlambda_
Real qrho_
Real qvega_
Real rho_
boost::shared_ptr
< StochasticProcess
stochasticProcess_
Real strikeSensitivity_
Real theta_
Real thetaPerDay_
Real vega_
Results
The value of this attribute and any other that derived classes might declare must be set during calculation.

Real errorEstimate_
Real NPV_

Private Member Functions

void performCalculations () const

Private Attributes

Real moneyness_
Date resetDate_

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &, Option::Type)

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index