OneAssetOption Class Reference
#include <ql/instruments/oneassetoption.hpp>
Inheritance diagram for OneAssetOption:

Detailed Description
Base class for options on a single asset.
Public Member Functions | |
OneAssetOption (const boost::shared_ptr< StochasticProcess > &, const boost::shared_ptr< Payoff > &, const boost::shared_ptr< Exercise > &, const boost::shared_ptr< PricingEngine > &engine=boost::shared_ptr< PricingEngine >()) | |
Volatility | impliedVolatility (Real price, Real accuracy=1.0e-4, Size maxEvaluations=100, Volatility minVol=1.0e-7, Volatility maxVol=4.0) const |
void | setupArguments (PricingEngine::arguments *) const |
void | fetchResults (const PricingEngine::results *) const |
Instrument interface | |
bool | isExpired () const |
returns whether the instrument is still tradable. | |
greeks | |
Real | delta () const |
Real | deltaForward () const |
Real | elasticity () const |
Real | gamma () const |
Real | theta () const |
Real | thetaPerDay () const |
Real | vega () const |
Real | rho () const |
Real | dividendRho () const |
Real | itmCashProbability () const |
Protected Member Functions | |
void | setupExpired () const |
Protected Attributes | |
Real | delta_ |
Real | deltaForward_ |
Real | elasticity_ |
Real | gamma_ |
Real | theta_ |
Real | thetaPerDay_ |
Real | vega_ |
Real | rho_ |
Real | dividendRho_ |
Real | itmCashProbability_ |
boost::shared_ptr< StochasticProcess > | stochasticProcess_ |
Classes | |
class | arguments |
Arguments for single-asset option calculation More... | |
class | results |
Results from single-asset option calculation More... |
Member Function Documentation
Volatility impliedVolatility | ( | Real | price, | |
Real | accuracy = 1.0e-4 , |
|||
Size | maxEvaluations = 100 , |
|||
Volatility | minVol = 1.0e-7 , |
|||
Volatility | maxVol = 4.0 | |||
) | const |
- Warning:
- currently, this method returns the Black-Scholes implied volatility. It will give unconsistent results if the pricing was performed with any other methods (such as jump-diffusion models.)
- Warning:
- options with a gamma that changes sign have values that are not monotonic in the volatility, e.g binary options. In these cases the calculation can fail and the result (if any) is almost meaningless. Another possible source of failure is to have a target value that is not attainable with any volatility, e.g., a target value lower than the intrinsic value in the case of American options.
void fetchResults | ( | const PricingEngine::results * | ) | const [virtual] |
When a derived result structure is defined for an instrument, this method should be overridden to read from it. This is mandatory in case a pricing engine is used.
Reimplemented from Instrument.
Reimplemented in ForwardVanillaOption, OneAssetStrikedOption, and QuantoVanillaOption.
void setupExpired | ( | ) | const [protected, virtual] |
This method must leave the instrument in a consistent state when the expiration condition is met.
Reimplemented from Instrument.
Reimplemented in OneAssetStrikedOption, and QuantoVanillaOption.