Class PnLExplainPostProcessor
- java.lang.Object
-
- com.quartetfs.biz.pivot.postprocessing.impl.AAdvancedPostProcessor<OutputT>
-
- com.quartetfs.biz.pivot.postprocessing.impl.ABaseDynamicAggregationPostProcessor<LeafType,OutputType>
-
- com.quartetfs.biz.pivot.postprocessing.impl.ADynamicAggregationPostProcessor<com.qfs.vector.IVector,com.qfs.vector.IVector>
-
- com.activeviam.risk.core.postprocessor.impl.PnLExplainPostProcessor
-
- All Implemented Interfaces:
IInputSelectorAware
,IPnLExplainFormulaProviderAware
,com.quartetfs.biz.pivot.postprocessing.IAggregatedMeasureAware
,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="PNL_EXPLAIN_POSTPROCESSOR") public class PnLExplainPostProcessor extends com.quartetfs.biz.pivot.postprocessing.impl.ADynamicAggregationPostProcessor<com.qfs.vector.IVector,com.qfs.vector.IVector> implements IPnLExplainFormulaProviderAware, IInputSelectorAware
Post-processor used to get PnL approximation for Delta, Gamma and Vega.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected com.quartetfs.biz.pivot.cube.hierarchy.ILevelInfo
asOfDateLevelInfo
protected com.quartetfs.biz.pivot.cube.hierarchy.ILevelInfo
ladderAvailabilityLevelInfo
static String
PLUGIN_KEY
protected com.quartetfs.biz.pivot.cube.hierarchy.ILevelInfo
riskClassLevelInfo
protected com.quartetfs.biz.pivot.cube.hierarchy.ILevelInfo
sensitivityNameLevelInfo
-
Fields inherited from class com.quartetfs.biz.pivot.postprocessing.impl.ABaseDynamicAggregationPostProcessor
AGGREGATION_FUNCTION, aggregationFunction, DYNAMIC_AGGREGATION_POST_PROCESSOR_PREFETCHER, hierarchiesInfo, isPartitionedOnRangeLevels, LEAF_LEVELS, LEAF_TYPE, leafLevelsInfo, leafType, partitioningLevelsInfo
-
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.services.IInputSelectorAware
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
-
-
Constructor Summary
Constructors Constructor Description PnLExplainPostProcessor(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
evaluateLeaf(com.quartetfs.biz.pivot.ILocation leafLocation, Object[] underlyingMeasures)
There are four underlying measures here: the Sensi value, the Sensi ladder, Current date market data, Previous date market data.static Function<com.activeviam.desc.build.ICanStartBuildingMeasures,com.activeviam.desc.build.IHasAtLeastOneMeasure>
getPostProcessorDescription(String measureName, String sensiValueMeasure, String sensiLadderMeasure, String currentDateMeasure, String previousDateMeasure, String asOfDateLevel, String riskFactorLevel, String riskClassLevel, String sensitivityNameLevel, String ladderAvailabilityLevel, String sensitivityName, String formatter, String folder)
String
getType()
void
init(Properties properties)
static com.activeviam.copper.api.CopperMeasure
measure(com.activeviam.copper.api.CopperMeasure sensiValueMeasure, com.activeviam.copper.api.CopperMeasure sensiLadderMeasure, com.activeviam.copper.api.CopperMeasure currentDateMeasure, com.activeviam.copper.api.CopperMeasure previousDateMeasure, String asOfDateLevel, String riskFactorLevel, String riskClassLevel, String sensitivityNameLevel, String ladderAvailabilityLevel, String sensitivityName)
protected double
removeNaN(double v)
void
setInputSelector(IInputSelector selector)
Set the implementation ofIInputSelector
void
setPnLExplainFormulaProvider(IPnLExplainFormulaProvider pnLExplainFormulaProvider)
Set the implementation ofIPnLExplainFormulaProvider
-
Methods inherited from class com.quartetfs.biz.pivot.postprocessing.impl.ADynamicAggregationPostProcessor
createLeafEvaluationProcedure, evaluateLeaf
-
Methods inherited from class com.quartetfs.biz.pivot.postprocessing.impl.ABaseDynamicAggregationPostProcessor
checkLeafType, checkPrefetchers, compute, computeLeafType, computeLeafTypeFromGenericType, computePartitioningLevels, computePrefetchFilter, createAggregationFunction, createPrefetchers, getAggregationFunction, getHierarchiesInfo, getLeafLevelsInfo, getLeafType, getTypeFromLiteralType, handleNoLeafLevel, initializeLeafLevels, initializeUnderlyingMeasures, reduce, reduceLeavesAndContribute, retrieveLeaves, 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
-
riskClassLevelInfo
protected com.quartetfs.biz.pivot.cube.hierarchy.ILevelInfo riskClassLevelInfo
-
asOfDateLevelInfo
protected com.quartetfs.biz.pivot.cube.hierarchy.ILevelInfo asOfDateLevelInfo
-
ladderAvailabilityLevelInfo
protected com.quartetfs.biz.pivot.cube.hierarchy.ILevelInfo ladderAvailabilityLevelInfo
-
sensitivityNameLevelInfo
protected com.quartetfs.biz.pivot.cube.hierarchy.ILevelInfo sensitivityNameLevelInfo
-
-
Constructor Detail
-
PnLExplainPostProcessor
public PnLExplainPostProcessor(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 sensiValueMeasure, String sensiLadderMeasure, String currentDateMeasure, String previousDateMeasure, String asOfDateLevel, String riskFactorLevel, String riskClassLevel, String sensitivityNameLevel, String ladderAvailabilityLevel, String sensitivityName, String formatter, String folder)
-
measure
public static com.activeviam.copper.api.CopperMeasure measure(com.activeviam.copper.api.CopperMeasure sensiValueMeasure, com.activeviam.copper.api.CopperMeasure sensiLadderMeasure, com.activeviam.copper.api.CopperMeasure currentDateMeasure, com.activeviam.copper.api.CopperMeasure previousDateMeasure, String asOfDateLevel, String riskFactorLevel, String riskClassLevel, String sensitivityNameLevel, String ladderAvailabilityLevel, String sensitivityName)
-
init
public void init(Properties properties) throws com.quartetfs.fwk.QuartetException
- Specified by:
init
in interfacecom.quartetfs.biz.pivot.postprocessing.IPostProcessor<com.qfs.vector.IVector>
- Overrides:
init
in classcom.quartetfs.biz.pivot.postprocessing.impl.ABaseDynamicAggregationPostProcessor<com.qfs.vector.IVector,com.qfs.vector.IVector>
- Throws:
com.quartetfs.fwk.QuartetException
-
evaluateLeaf
protected com.qfs.vector.IVector evaluateLeaf(com.quartetfs.biz.pivot.ILocation leafLocation, Object[] underlyingMeasures)
There are four underlying measures here: the Sensi value, the Sensi ladder, Current date market data, Previous date market data. The PnL explain computation is done in the method calculatePnL.- Specified by:
evaluateLeaf
in classcom.quartetfs.biz.pivot.postprocessing.impl.ADynamicAggregationPostProcessor<com.qfs.vector.IVector,com.qfs.vector.IVector>
-
removeNaN
protected double removeNaN(double v)
-
getType
public String getType()
- Specified by:
getType
in interfacecom.quartetfs.fwk.types.IExtendedPluginValue
-
setPnLExplainFormulaProvider
public void setPnLExplainFormulaProvider(IPnLExplainFormulaProvider pnLExplainFormulaProvider)
Description copied from interface:IPnLExplainFormulaProviderAware
Set the implementation ofIPnLExplainFormulaProvider
- Specified by:
setPnLExplainFormulaProvider
in interfaceIPnLExplainFormulaProviderAware
- Parameters:
pnLExplainFormulaProvider
- the implementation ofIPnLExplainFormulaProvider
-
setInputSelector
public void setInputSelector(IInputSelector selector)
Description copied from interface:IInputSelectorAware
Set the implementation ofIInputSelector
- Specified by:
setInputSelector
in interfaceIInputSelectorAware
- Parameters:
selector
- the implementation ofIInputSelector
-
-