25#ifndef quantlib_forward_vanilla_option_hpp
26#define quantlib_forward_vanilla_option_hpp
36 template <
class ArgumentsType>
53 const Date& resetDate,
54 const ext::shared_ptr<StrikedTypePayoff>&
payoff,
55 const ext::shared_ptr<Exercise>&
exercise);
68 template <
class ArgumentsType>
70 ArgumentsType::validate();
73 QL_REQUIRE(moneyness > 0.0,
"negative or zero moneyness given");
77 "reset date in the past");
78 QL_REQUIRE(this->exercise->lastDate() > resetDate,
79 "reset date later or equal to maturity");
Arguments for forward (strike-resetting) option calculation
void validate() const override
Forward version of a vanilla option
void setupArguments(PricingEngine::arguments *) const override
OneAssetOption::results results
ForwardOptionArguments< OneAssetOption::arguments > arguments
void fetchResults(const PricingEngine::results *) const override
template class providing a null value for a given type.
Results from single-asset option calculation
Base class for options on a single asset.
ext::shared_ptr< Payoff > payoff() const
ext::shared_ptr< Exercise > exercise() const
static Settings & instance()
access to the unique instance
#define QL_REQUIRE(condition, message)
throw an error if the given pre-condition is not verified
Option exercise classes and payoff function.
Option on a single asset.
Payoffs for various options.
global repository for run-time library settings