Logo
Reference manual - version ored_version
Namespaces | Enumerations | Functions
parsers.hpp File Reference

Map text representations to QuantLib/QuantExt types. More...

#include <ored/configuration/commoditycurveconfig.hpp>
#include <ored/configuration/conventions.hpp>
#include <ored/portfolio/types.hpp>
#include <ored/utilities/log.hpp>
#include <ql/cashflows/cpicoupon.hpp>
#include <ql/compounding.hpp>
#include <ql/currency.hpp>
#include <ql/exercise.hpp>
#include <ql/instruments/doublebarriertype.hpp>
#include <ql/experimental/fx/deltavolquote.hpp>
#include <ql/instruments/averagetype.hpp>
#include <ql/instruments/barriertype.hpp>
#include <ql/instruments/bond.hpp>
#include <ql/instruments/capfloor.hpp>
#include <ql/instruments/inflationcapfloor.hpp>
#include <ql/instruments/overnightindexfuture.hpp>
#include <ql/instruments/swaption.hpp>
#include <ql/methods/finitedifferences/solvers/fdmbackwardsolver.hpp>
#include <ql/methods/montecarlo/lsmbasissystem.hpp>
#include <ql/position.hpp>
#include <ql/termstructures/bootstraphelper.hpp>
#include <ql/time/businessdayconvention.hpp>
#include <ql/time/calendar.hpp>
#include <ql/time/date.hpp>
#include <ql/time/dategenerationrule.hpp>
#include <ql/time/daycounter.hpp>
#include <ql/time/period.hpp>
#include <ql/types.hpp>
#include <qle/cashflows/commoditycashflow.hpp>
#include <qle/currencies/configurablecurrency.hpp>
#include <qle/indexes/bondindex.hpp>
#include <qle/instruments/cdsoption.hpp>
#include <qle/methods/multipathgeneratorbase.hpp>
#include <qle/models/crossassetmodel.hpp>
#include <boost/algorithm/string/trim.hpp>
#include <boost/tokenizer.hpp>
#include <boost/variant.hpp>

Namespaces

 ore
 Serializable Credit Default Swap.
 
 ore::data
 

Enumerations

enum class  AmortizationType {
  None , FixedAmount , RelativeToInitialNotional , RelativeToPreviousNotional ,
  Annuity , LinearToMaturity
}
 
enum class  AssetClass {
  EQ , FX , COM , IR ,
  INF , CR , BOND , BOND_INDEX
}
 
enum class  Extrapolation { None , UseInterpolator , Flat }
 Enumeration for holding various extrapolation settings.
 
enum class  MomentType { Variance , Volatility }
 
enum class  CreditPortfolioSensitivityDecomposition { Underlying , NotionalWeighted , LossWeighted , DeltaWeighted }
 Enumeration CreditPortfolioSensitivityDecomposition.
 

Functions

QuantLib::Date parseDate (const string &s)
 Convert std::string to QuantLib::Date.
 
QuantLib::Real parseReal (const string &s)
 Convert text to Real.
 
bool tryParseReal (const string &s, QuantLib::Real &result)
 Attempt to convert text to Real. More...
 
QuantLib::Integer parseInteger (const string &s)
 Convert text to QuantLib::Integer.
 
bool parseBool (const string &s)
 Convert text to bool.
 
QuantLib::Calendar parseCalendar (const string &s)
 Convert text to QuantLib::Calendar. More...
 
bool isOnePeriod (const string &s)
 return true if s represents a period of the form [0-9]D|W|M|Y
 
QuantLib::Period parsePeriod (const string &s)
 Convert text to QuantLib::Period.
 
QuantLib::BusinessDayConvention parseBusinessDayConvention (const string &s)
 Convert text to QuantLib::BusinessDayConvention.
 
QuantLib::DayCounter parseDayCounter (const string &s)
 Convert text to QuantLib::DayCounter.
 
QuantLib::Currency parseCurrency (const string &s)
 Convert text to QuantLib::Currency.
 
QuantLib::Currency parseMinorCurrency (const string &s)
 Convert text to QuantLib::Currency for minor currencies e.g GBp -> GBPCurrency()
 
QuantLib::Currency parseCurrencyWithMinors (const string &s)
 Convert text to QuantLib::Currency.
 
std::pair< QuantLib::Currency, QuantLib::Currency > parseCurrencyPair (const string &s, const string &delimiters)
 Convert text to std::pair<QuantLib::Currency, QuantLib::Currency>
 
bool checkCurrency (const string &code)
 check for vaid currency code, including minors and pseudo currencies
 
bool isPseudoCurrency (const string &code)
 check for pseudo currency = precious metal or crypto currency *‍/
 
bool isPreciousMetal (const string &code)
 check for precious metal *‍/
 
bool isCryptoCurrency (const string &code)
 check for crypto currency *‍/
 
QuantLib::Real convertMinorToMajorCurrency (const std::string &s, QuantLib::Real value)
 Convert a value from a minor ccy to major. More...
 
QuantLib::DateGeneration::Rule parseDateGenerationRule (const string &s)
 Convert text to QuantLib::DateGeneration::Rule.
 
QuantLib::Frequency parseFrequency (const string &s)
 Convert text to QuantLib::Frequency.
 
QuantLib::Compounding parseCompounding (const string &s)
 Convert text to QuantLib::Compounding;.
 
QuantLib::Position::Type parsePositionType (const string &s)
 Convert text to QuantLib::Position::Type.
 
QuantLib::Protection::Side parseProtectionSide (const string &s)
 Convert text to QuantLib::Protection::Side.
 
QuantLib::Settlement::Type parseSettlementType (const string &s)
 Convert text to QuantLib::Settlement::Type.
 
QuantLib::Settlement::Method parseSettlementMethod (const string &s)
 Convert text to QuantLib::Settlement::Method.
 
QuantLib::Exercise::Type parseExerciseType (const string &s)
 Convert text to QuantLib::Exercise::Type.
 
QuantLib::Option::Type parseOptionType (const string &s)
 Convert text to QuantLib::Option::Type.
 
QuantLib::Bond::Price::Type parseBondPriceType (const string &s)
 Convert text to QuantLib::Bond::Price::Type.
 
boost::variant< QuantLib::Date, QuantLib::Period > parseDateOrPeriod (const string &s)
 Convert text to QuantLib::Period or QuantLib::Date.
 
void parseDateOrPeriod (const string &s, QuantLib::Date &d, QuantLib::Period &p, bool &isDate)
 Convert text to QuantLib::Period or QuantLib::Date (deprecated version)
 
QuantLib::LsmBasisSystem::PolynomialType parsePolynomType (const std::string &s)
 Convert text to QuantLib::LsmBasisSystem::PolynomialType.
 
std::ostream & operator<< (std::ostream &os, QuantLib::LsmBasisSystem::PolynomialType a)
 Write QuantLib::LsmBasisSystem::PolynomialType to stream.
 
QuantLib::SobolBrownianGenerator::Ordering parseSobolBrownianGeneratorOrdering (const std::string &s)
 Convert text to QuantLib::SobolBrownianGenerator::Ordering.
 
QuantLib::SobolRsg::DirectionIntegers parseSobolRsgDirectionIntegers (const std::string &s)
 Convert text to QuantLib::SobolRsg::DirectionIntegers.
 
QuantLib::Weekday parseWeekday (const std::string &s)
 
QuantLib::Month parseMonth (const std::string &s)
 
PaymentLag parsePaymentLag (const string &s)
 Convert text to PaymentLag.
 
template<class T >
std::vector< T > parseListOfValues (string s, std::function< T(string)> parser)
 Convert comma separated list of values to vector of values.
 
template<class T >
std::vector< T > parseVectorOfValues (std::vector< std::string > str, std::function< T(string)> parser)
 
std::vector< string > parseListOfValues (string s, const char escape='\\', const char delim=',', const char quote='\"')
 
AmortizationType parseAmortizationType (const std::string &s)
 
QuantExt::SequenceType parseSequenceType (const std::string &s)
 Convert string to sequence type.
 
QuantLib::CPI::InterpolationType parseObservationInterpolation (const std::string &s)
 Convert string to observation interpolation.
 
QuantLib::FdmSchemeDesc parseFdmSchemeDesc (const std::string &s)
 Convert string to fdm scheme desc.
 
AssetClass parseAssetClass (const std::string &s)
 Convert text to ore::data::AssetClass.
 
std::ostream & operator<< (std::ostream &os, AssetClass a)
 Write ore::data::AssetClass to stream.
 
QuantLib::DeltaVolQuote::AtmType parseAtmType (const std::string &s)
 Convert text to QuantLib::DeltaVolQuote::AtmType.
 
QuantLib::DeltaVolQuote::DeltaType parseDeltaType (const std::string &s)
 Convert text to QuantLib::DeltaVolQuote::DeltaType.
 
QuantLib::Rounding::Type parseRoundingType (const std::string &s)
 Convert text to QuantLib::Rounding.
 
QuantLib::Barrier::Type parseBarrierType (const string &s)
 Convert std::string to QuantLib::BarrierType.
 
QuantLib::DoubleBarrier::Type parseDoubleBarrierType (const string &s)
 Convert std::string to QuantLib::DoubleBarrierType.
 
template<class T >
bool tryParse (const std::string &str, T &obj, std::function< T(std::string)> parser)
 
bool tryParseCurrency (const std::string &str, Currency &obj)
 
Extrapolation parseExtrapolation (const std::string &s)
 Parse Extrapolation from string.
 
std::ostream & operator<< (std::ostream &os, Extrapolation extrap)
 Write Extrapolation, extrap, to stream.
 
QuantLib::VolatilityType parseVolatilityQuoteType (const std::string &s)
 
QuantLib::CapFloor::Type parseCapFloorType (const std::string &s)
 
QuantLib::YoYInflationCapFloor::Type parseYoYInflationCapFloorType (const std::string &s)
 
QuantExt::CrossAssetModel::AssetType parseCamAssetType (const std::string &s)
 
std::pair< string, string > parseBoostAny (const boost::any &anyType, Size precision=8)
 
QuantLib::RateAveraging::Type parseOvernightIndexFutureNettingType (const std::string &s)
 Convert text to QuantLib::RateAveraging::Type.
 
std::ostream & operator<< (std::ostream &os, QuantLib::RateAveraging::Type t)
 Write QuantLib::RateAveraging::Type to stream.
 
FutureConvention::DateGenerationRule parseFutureDateGenerationRule (const std::string &s)
 Convert text to FutureConvention::DateGeneration.
 
std::ostream & operator<< (std::ostream &os, FutureConvention::DateGenerationRule t)
 Write QuantLib::RateAveraging::Type to stream.
 
InflationSwapConvention::PublicationRoll parseInflationSwapPublicationRoll (const std::string &s)
 Convert text to InflationSwapConvention::PublicationRoll.
 
std::ostream & operator<< (std::ostream &os, InflationSwapConvention::PublicationRoll pr)
 Write InflationSwapConvention::PublicationRoll to stream.
 
std::ostream & operator<< (std::ostream &os, SobolBrownianGenerator::Ordering t)
 Write QuantLib::SobolBrownianGenerator::Ordering to stream.
 
std::ostream & operator<< (std::ostream &os, SobolRsg::DirectionIntegers t)
 Write QuantLib::SobolRsg::DirectionIntegers to stream.
 
std::ostream & operator<< (std::ostream &os, QuantExt::CrossAssetModel::Discretization type)
 Enum to string used in ScenarioGeneratorData's toXML.
 
CommodityFutureConvention::AveragingData::CalculationPeriod parseAveragingDataPeriod (const std::string &s)
 Convert text to CommodityFutureConvention::AveragingData::CalculationPeriod.
 
std::ostream & operator<< (std::ostream &os, CommodityFutureConvention::AveragingData::CalculationPeriod cp)
 Write CommodityFutureConvention::AveragingData::CalculationPeriod to stream.
 
PriceSegment::Type parsePriceSegmentType (const std::string &s)
 Convert text to PriceSegment::Type.
 
std::ostream & operator<< (std::ostream &os, PriceSegment::Type pst)
 Write PriceSegment::Type to stream.
 
QuantExt::CommodityQuantityFrequency parseCommodityQuantityFrequency (const std::string &s)
 Convert text to QuantExt::CommodityQuantityFrequency.
 
std::ostream & operator<< (std::ostream &os, QuantExt::CommodityQuantityFrequency cqf)
 Write QuantExt::CommodityQuantityFrequency to stream.
 
QuantExt::CdsOption::StrikeType parseCdsOptionStrikeType (const std::string &s)
 
QuantLib::Average::Type parseAverageType (const std::string &s)
 
QuantExt::BondIndex::PriceQuoteMethod parsePriceQuoteMethod (const std::string &s)
 
std::ostream & operator<< (std::ostream &os, QuantExt::BondIndex::PriceQuoteMethod)
 Write PriceQuoteMethod to stream.
 
std::vector< std::string > getCorrelationTokens (const std::string &name)
 Helper function to get the two tokens in a correlation name Index2:Index1.
 
string fxDominance (const string &s1, const string &s2)
 Convert FX pair to market standard dominance. More...
 
string normaliseFxIndex (const std::string &indexName)
 Convert FX index name to market standard dominance.
 
MomentType parseMomentType (const std::string &s)
 Convert text to ore::data::MomentType.
 
CreditPortfolioSensitivityDecomposition parseCreditPortfolioSensitivityDecomposition (const std::string &s)
 Convert text to CreditPortfolioSensitivitiyDecomposition.
 
std::ostream & operator<< (std::ostream &os, const CreditPortfolioSensitivityDecomposition d)
 Output operator for CreditPortfolioSensitivityDecomposition.
 
QuantLib::Pillar::Choice parsePillarChoice (const std::string &s)
 Convert text to QuantLib::Pillar::Choice.
 

Detailed Description

Map text representations to QuantLib/QuantExt types.