26#include <ql/math/matrix.hpp>
27#include <ql/math/matrixutilities/pseudosqrt.hpp>
28#include <ql/types.hpp>
33using QuantLib::Matrix;
36using QuantLib::SalvagingAlgorithm;
45std::vector<Size>
stopLightBounds(
const std::vector<Real>& stopLightP,
const Size observations,
46 const Size numberOfDays = 10,
const Real p = 0.99,
const Size numberOfPortfolios = 1,
47 const Matrix& correlation = Matrix(1, 1, 1.0),
const Size samples = 1500000,
49 const SalvagingAlgorithm::Type salvaging = SalvagingAlgorithm::Spectral,
50 const Size exceptions = Null<Size>(), Real* cumProb =
nullptr);
54 const Size numberOfDays = 10,
const Real p = 0.99);
57std::vector<Size>
stopLightBounds(
const std::vector<Real>& stopLightP,
const Size observations,
const Real p,
58 const Size exceptions = Null<Size>(), Real* cumProb =
nullptr);
62std::vector<std::pair<Size, std::vector<Size>>>
64 const Size samples,
const Size seed,
const Size numberOfDays = 10,
const Real p = 0.99);
std::vector< Size > stopLightBoundsTabulated(const std::vector< Real > &stopLightP, const Size observations, const Size numberOfDays, const Real p)
std::vector< std::pair< Size, std::vector< Size > > > generateStopLightBoundTable(const std::vector< Size > &observations, const std::vector< Real > &stopLightP, const Size samples, const Size seed, const Size numberOfDays, const Real p)
std::vector< Size > stopLightBounds(const std::vector< Real > &stopLightP, const Size observations, const Size numberOfDays, const Real p, const Size numberOfPortfolios, const Matrix &correlation, const Size samples, const Size seed, const SalvagingAlgorithm::Type salvaging, const Size exceptions, Real *cumProb)