20#ifndef quantlib_longstaff_schwartz_multi_path_pricer_hpp
21#define quantlib_longstaff_schwartz_multi_path_pricer_hpp
23#include <ql/termstructures/yieldtermstructure.hpp>
24#include <ql/methods/montecarlo/pathpricer.hpp>
25#include <ql/methods/montecarlo/multipath.hpp>
26#include <ql/methods/montecarlo/lsmbasissystem.hpp>
27#include <ql/experimental/mcbasket/pathpayoff.hpp>
28#include <ql/functional.hpp>
48 const std::vector<Size>& timePositions,
72 const ext::shared_ptr<PathPayoff>
payoff_;
81 mutable std::vector<PathInfo>
paths_;
1-D array used in linear algebra.
Shared handle to an observable.
Longstaff-Schwarz path pricer for early exercise options.
std::unique_ptr< Array[]> coeff_
const std::vector< Size > timePositions_
std::unique_ptr< Real[]> lowerBounds_
const std::vector< Handle< YieldTermStructure > > forwardTermStructures_
const std::vector< ext::function< Real(Array)> > v_
const ext::shared_ptr< PathPayoff > payoff_
std::vector< PathInfo > paths_
PathInfo transformPath(const MultiPath &path) const
Real operator()(const MultiPath &multiPath) const override
Correlated multiple asset paths.
base class for path pricers
std::size_t Size
size of a container
std::vector< Array > states