22#include <ql/instruments/oneassetoption.hpp>
23#include <ql/exercise.hpp>
24#include <ql/event.hpp>
29 const ext::shared_ptr<Payoff>& payoff,
30 const ext::shared_ptr<Exercise>& exercise)
31 :
Option(payoff, exercise) {}
46 "forward delta not provided");
95 "strike sensitivity not provided");
102 "in-the-money cash probability not provided");
116 QL_ENSURE(
results !=
nullptr,
"no greeks returned from pricing engine");
132 const auto* moreResults =
dynamic_cast<const MoreGreeks*
>(r);
133 QL_ENSURE(moreResults !=
nullptr,
"no more greeks returned from pricing engine");
virtual bool hasOccurred(const Date &refDate=Date(), ext::optional< bool > includeRefDate=ext::nullopt) const
returns true if an event has already occurred before a date
additional option results
void calculate() const override
virtual void fetchResults(const PricingEngine::results *) const
virtual void setupExpired() const
more additional option results
template class providing a null value for a given type.
Results from single-asset option calculation
bool isExpired() const override
returns whether the instrument might have value greater than zero.
OneAssetOption(const ext::shared_ptr< Payoff > &, const ext::shared_ptr< Exercise > &)
Real itmCashProbability() const
Real strikeSensitivity() const
void setupExpired() const override
void fetchResults(const PricingEngine::results *) const override
Real deltaForward() const
ext::shared_ptr< Exercise > exercise_