28 ext::shared_ptr<GeneralizedBlackScholesProcess> process)
29 : process_(
std::move(process)) {
35 ext::shared_ptr<PlainVanillaPayoff>
payoff =
36 ext::dynamic_pointer_cast<PlainVanillaPayoff>(
arguments_.payoff);
43 switch (
payoff->optionType()) {
46 "Strike must be positive or null");
54 "Strike must be positive");
71 ext::shared_ptr<PlainVanillaPayoff>
payoff =
72 ext::dynamic_pointer_cast<PlainVanillaPayoff>(
arguments_.payoff);
123 Real powss = std::pow(ss, -lambda);
141 Real powss = std::pow(ss, -lambda);
Analytic engine for continuous fixed-strike lookback.
CumulativeNormalDistribution f_
Time residualTime() const
Volatility volatility() const
DiscountFactor dividendDiscount() const
void calculate() const override
AnalyticContinuousFixedLookbackEngine(ext::shared_ptr< GeneralizedBlackScholesProcess > process)
Real stdDeviation() const
Rate riskFreeRate() const
ext::shared_ptr< GeneralizedBlackScholesProcess > process_
Rate dividendYield() const
DiscountFactor riskFreeDiscount() const
ContinuousFixedLookbackOption::results results_
ContinuousFixedLookbackOption::arguments arguments_
std::pair< iterator, bool > registerWith(const ext::shared_ptr< Observable > &)
#define QL_REQUIRE(condition, message)
throw an error if the given pre-condition is not verified
#define QL_FAIL(message)
throw an error (possibly with file and line information)
Option exercise classes and payoff function.
@ NoFrequency
null frequency
Real Time
continuous quantity with 1-year units
Real DiscountFactor
discount factor between dates
Real Volatility
volatility
ext::shared_ptr< QuantLib::Payoff > payoff