Class TriDimensionalMarketDataPostProcessor
- java.lang.Object
-
- com.quartetfs.biz.pivot.postprocessing.impl.AAdvancedPostProcessor<OutputType>
-
- com.quartetfs.biz.pivot.postprocessing.impl.ABasicPostProcessor<com.qfs.vector.IVector>
-
- com.activeviam.risk.core.postprocessor.impl.AMarketDataPostProcessor
-
- com.activeviam.risk.core.postprocessor.impl.TriDimensionalMarketDataPostProcessor
-
- All Implemented Interfaces:
IMaturityConverterAware
,ITenorUtilAware
,IPnLExplainFormulaProviderAware
,com.quartetfs.biz.pivot.postprocessing.IAggregatedMeasureAware
,com.quartetfs.biz.pivot.postprocessing.IBasicPostProcessor<com.qfs.vector.IVector>
,com.quartetfs.biz.pivot.postprocessing.IEvaluator<com.qfs.vector.IVector>
,com.quartetfs.biz.pivot.postprocessing.IPartitionedPostProcessor<com.qfs.vector.IVector>
,com.quartetfs.biz.pivot.postprocessing.IPostProcessor<com.qfs.vector.IVector>
,com.quartetfs.fwk.types.IExtendedPluginValue
,Serializable
@QuartetExtendedPluginValue(intf=com.quartetfs.biz.pivot.postprocessing.IPostProcessor.class, key="3D_MARKETDATA_POSTPROCESSOR") public class TriDimensionalMarketDataPostProcessor extends AMarketDataPostProcessor
Post-processor used to get market data for current and previous date values for Vega. It extends the abstract market data postprocessor.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
BUCKET_TYPE_MATURITY
static String
BUCKET_TYPE_MONEYNESS
static String
BUCKET_TYPE_TENOR
static String
PLUGIN_KEY
-
Fields inherited from class com.activeviam.risk.core.postprocessor.impl.AMarketDataPostProcessor
asOfDateLevelInfo, DATE_INFO, dateProperty, DEFAULT_MAX_FALLBACK_DAYS, identifier, IDENTIFIER, KEY_LEAF_LEVELS, MARKET_DATA_STORE_FIELDS, MARKET_DATA_STORE_NAME, marketDataFields, marketDataSetLevelInfo, marketDataStoreName, maturityConverter, MAX_FALLBACK_DAYS, maxFallbackDays, PERFORM_INTERPOLATION, provider, quoteField, riskClassLevelInfo, riskFactorLevelInfo, SENSITIVITY_NAME_LEVEL, SENSITIVITY_NAME_PROPERTY, sensitivityName, sensitivityNameLevelInfo, TENOR_AND_MATURITY_DEFAULT_VALUE, tenorAndMaturityDefaultValue, tenorUtil
-
Fields inherited from class com.quartetfs.biz.pivot.postprocessing.impl.ABasicPostProcessor
BASIC_POST_PROCESSOR_PREFETCHER, isPartitionedOnRangeLevels
-
Fields inherited from class com.quartetfs.biz.pivot.postprocessing.impl.AAdvancedPostProcessor
aggregatedMeasureName, ANALYSIS_LEVELS_PROPERTY, analysisLevelsToExpand, continuousQueryHandlerKeys, derivedContextDependencies, evaluator, EVALUATOR, explicitContextDependencies, logger, measuresProvider, name, OUTPUT_TYPE, outputType, pivot, prefetchers, PRINT_TIMINGS, printTimings, properties, underlyingMeasures
-
Fields inherited from interface com.activeviam.risk.core.dates.IMaturityConverterAware
PROPERTY_NAME
-
Fields inherited from interface com.quartetfs.biz.pivot.postprocessing.IPartitionedPostProcessor
DEFAULT_PARTITIONING_ON_RANGE_LEVELS
-
Fields inherited from interface com.activeviam.risk.core.services.IPnLExplainFormulaProviderAware
PROPERTY_NAME
-
Fields inherited from interface com.quartetfs.biz.pivot.postprocessing.IPostProcessor
CONTINUOUS_QUERY_HANDLER_KEYS, IS_PARTITIONED_ON_RANGE_LEVELS_PROPERTY, SEPARATOR, UNDERLYING_MEASURES
-
Fields inherited from interface com.activeviam.risk.core.dates.ITenorUtilAware
PROPERTY_NAME
-
-
Constructor Summary
Constructors Constructor Description TriDimensionalMarketDataPostProcessor(String name, com.quartetfs.biz.pivot.cube.hierarchy.measures.IPostProcessorCreationContext creationContext)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected com.qfs.vector.IVector
doEvaluate(com.quartetfs.biz.pivot.ILocation location, LocalDate asOfDate, String marketDataSet, String riskFactor, String riskClass, String sensitivityName)
boolean
getEnableMDStringDebug()
static Function<com.activeviam.desc.build.ICanStartBuildingMeasures,com.activeviam.desc.build.IHasAtLeastOneMeasure>
getPostProcessorDescription(String measureName, String underlyingMeasures, String asOfDateLevel, String marketDataSetLevel, String riskFactorLevel, String riskClassLevel, Integer maxFallbackDays, String dateInfo, String sensitivityName, BucketType bucketTypeTenor, BucketType bucketTypeMaturity, BucketType bucketTypeMoneyness, String marketDataStoreName, String quoteField, String tenorLabelField, String underlyingMaturityField, String moneynessField, String tenorAndMaturityDefaultValue, String sensitivityNameLevelInfo, String interpolationDebugStringIdentifier, String formatter, String folder)
This will create a PP configurationString
getType()
void
init(Properties properties)
One custom property needs to be present in the configuration of the post-processor: keyLeafLevels: It is the value representing the key levels: Tenor level, risk class, maturity level, e.g.
""Tenor@Tenors@Risk", "RiskClass@Risk Classes@Risk", "Maturity@Maturities@Risk" On top of those custom properties the analysisLevels property needs to be defined for the scenario level since that level is part of an analysis hierarchy, e.g.
"Tenor@Tenors@Risk"static com.activeviam.copper.api.CopperMeasure
measure(com.activeviam.copper.api.CopperMeasure underlyingMeasures, String asOfDateLevel, String marketDataSetLevel, String riskFactorLevel, String riskClassLevel, Integer maxFallbackDays, String dateInfo, String sensitivityName, BucketType bucketTypeTenor, BucketType bucketTypeMaturity, BucketType bucketTypeMoneyness, String marketDataStoreName, String quoteField, String tenorLabelField, String underlyingMaturityField, String moneynessField, String tenorAndMaturityDefaultValue, String sensitivityNameLevelInfo, String interpolationDebugStringIdentifier)
This will create a PP configuration-
Methods inherited from class com.activeviam.risk.core.postprocessor.impl.AMarketDataPostProcessor
convertBucketToMaturity, convertBucketToMaturity, evaluate, getMarketDataRecord, getPostProcessorDescription, measure, setMaturityConverter, setPnLExplainFormulaProvider, setTenorUtil, stepDate
-
Methods inherited from class com.quartetfs.biz.pivot.postprocessing.impl.ABasicPostProcessor
checkPrefetchers, compute, computePrefetchFilter, createPrefetchers, createProcedure, evaluate, initializeUnderlyingMeasures, reduce, setPartitioningLevels, supportsAnalysisLevels
-
Methods inherited from class com.quartetfs.biz.pivot.postprocessing.impl.AAdvancedPostProcessor
addContextDependency, checkInterruption, checkOutputType, computeNamePath, computeOutputType, createEvaluator, expandResult, getActivePivot, getContext, getContextDependencies, getContinuousQueryHandlerKeys, getCurrentMeasure, getDatastoreVersion, getDerivedContextDependencies, getExpansionProcedure, getGenericOutputType, getMeasuresProvider, getName, getOutputType, getOutputTypeFromGenericClassParameter, getOutputTypeFromProperties, getPrefetchers, getProperties, getQueryCache, getTypeFromClass, handleCircularDependency, handleNotSupportedAnalysisLevels, handleUnknownUnderlyingMeasure, hideEvaluator, initializeContinuousQueryHandlerKeys, removeAnalysisLevelsFromFilter, restrictLocationAnalysisLevels, retrieveAnalysisLevelsToExpand, retrieveNamedPrefetchAggregatesWithAnalysisLevels, retrievePrefetchAggregates, retrievePrefetchAggregatesWithAnalysisLevels, setAggregatedMeasureName, toString
-
-
-
-
Field Detail
-
PLUGIN_KEY
public static final String PLUGIN_KEY
- See Also:
- Constant Field Values
-
BUCKET_TYPE_TENOR
public static final String BUCKET_TYPE_TENOR
- See Also:
- Constant Field Values
-
BUCKET_TYPE_MATURITY
public static final String BUCKET_TYPE_MATURITY
- See Also:
- Constant Field Values
-
BUCKET_TYPE_MONEYNESS
public static final String BUCKET_TYPE_MONEYNESS
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TriDimensionalMarketDataPostProcessor
public TriDimensionalMarketDataPostProcessor(String name, com.quartetfs.biz.pivot.cube.hierarchy.measures.IPostProcessorCreationContext creationContext)
-
-
Method Detail
-
getPostProcessorDescription
public static Function<com.activeviam.desc.build.ICanStartBuildingMeasures,com.activeviam.desc.build.IHasAtLeastOneMeasure> getPostProcessorDescription(String measureName, String underlyingMeasures, String asOfDateLevel, String marketDataSetLevel, String riskFactorLevel, String riskClassLevel, Integer maxFallbackDays, String dateInfo, String sensitivityName, BucketType bucketTypeTenor, BucketType bucketTypeMaturity, BucketType bucketTypeMoneyness, String marketDataStoreName, String quoteField, String tenorLabelField, String underlyingMaturityField, String moneynessField, String tenorAndMaturityDefaultValue, String sensitivityNameLevelInfo, String interpolationDebugStringIdentifier, String formatter, String folder)
This will create a PP configuration- Parameters:
measureName
- Name of the postprocessorunderlyingMeasures
- The underlying measureasOfDateLevel
- Level containing the asOfSDatemarketDataSetLevel
- Level containing the market data set levelriskFactorLevel
- risk factor labelriskClassLevel
- risk class labelmaxFallbackDays
- max fallback daysdateInfo
- date infosensitivityName
- sensitivity namebucketTypeTenor
- bucket type tenorbucketTypeMaturity
- bucket type maturitybucketTypeMoneyness
- bucket type moneynessmarketDataStoreName
- market data store namequoteField
- quote fieldtenorLabelField
- tenor label fieldunderlyingMaturityField
- underlying maturity fieldmoneynessField
- moneyness fieldtenorAndMaturityDefaultValue
- default value for tenors and maturitiessensitivityNameLevelInfo
- sensitivity name level infointerpolationDebugStringIdentifier
- internal identifier used in the query cache. The keys in the query cache that will be used have the following pattern: measure name + identifier + locationformatter
- formatterfolder
- Folder name of the metric, if not provider aka null measure is invisible- Returns:
- measure builder
-
measure
public static com.activeviam.copper.api.CopperMeasure measure(com.activeviam.copper.api.CopperMeasure underlyingMeasures, String asOfDateLevel, String marketDataSetLevel, String riskFactorLevel, String riskClassLevel, Integer maxFallbackDays, String dateInfo, String sensitivityName, BucketType bucketTypeTenor, BucketType bucketTypeMaturity, BucketType bucketTypeMoneyness, String marketDataStoreName, String quoteField, String tenorLabelField, String underlyingMaturityField, String moneynessField, String tenorAndMaturityDefaultValue, String sensitivityNameLevelInfo, String interpolationDebugStringIdentifier)
This will create a PP configuration- Parameters:
underlyingMeasures
- The underlying measureasOfDateLevel
- Level containing the asOfSDatemarketDataSetLevel
- Level containing the market data set levelriskFactorLevel
- risk factor labelriskClassLevel
- risk class labelmaxFallbackDays
- max fallback daysdateInfo
- date infosensitivityName
- sensitivity namebucketTypeTenor
- bucket type tenorbucketTypeMaturity
- bucket type maturitybucketTypeMoneyness
- bucket type moneynessmarketDataStoreName
- market data store namequoteField
- quote fieldtenorLabelField
- tenor label fieldunderlyingMaturityField
- underlying maturity fieldmoneynessField
- moneyness fieldtenorAndMaturityDefaultValue
- default value for tenors and maturitiessensitivityNameLevelInfo
- sensitivity name level infointerpolationDebugStringIdentifier
- internal identifier used in the query cache. The keys in the query cache that will be used have the following pattern: measure name + identifier + location- Returns:
- measure
-
init
public void init(Properties properties) throws com.quartetfs.fwk.QuartetException
One custom property needs to be present in the configuration of the post-processor:- keyLeafLevels: It is the value representing the key levels: Tenor level, risk class, maturity level, e.g.
""Tenor@Tenors@Risk", "RiskClass@Risk Classes@Risk", "Maturity@Maturities@Risk"
"Tenor@Tenors@Risk"- Specified by:
init
in interfacecom.quartetfs.biz.pivot.postprocessing.IEvaluator<com.qfs.vector.IVector>
- Specified by:
init
in interfacecom.quartetfs.biz.pivot.postprocessing.IPostProcessor<com.qfs.vector.IVector>
- Overrides:
init
in classAMarketDataPostProcessor
- Parameters:
properties
- The properties object.s- Throws:
com.quartetfs.fwk.QuartetException
- keyLeafLevels: It is the value representing the key levels: Tenor level, risk class, maturity level, e.g.
-
doEvaluate
protected com.qfs.vector.IVector doEvaluate(com.quartetfs.biz.pivot.ILocation location, LocalDate asOfDate, String marketDataSet, String riskFactor, String riskClass, String sensitivityName)
- Specified by:
doEvaluate
in classAMarketDataPostProcessor
-
getEnableMDStringDebug
public boolean getEnableMDStringDebug()
-
getType
public String getType()
-
-