Class ScalarPnLExplainCrossPostProcessor

  • All Implemented Interfaces:
    IInputSelectorAware, IPnLExplainFormulaProviderAware, com.quartetfs.biz.pivot.postprocessing.IAggregatedMeasureAware, com.quartetfs.biz.pivot.postprocessing.IPartitionedPostProcessor<Double>, com.quartetfs.biz.pivot.postprocessing.IPostProcessor<Double>, com.quartetfs.fwk.types.IExtendedPluginValue, Serializable

    @QuartetExtendedPluginValue(intf=com.quartetfs.biz.pivot.postprocessing.IPostProcessor.class,
                                key="SCALAR_PNL_EXPLAIN_CROSS_POSTPROCESSOR")
    public class ScalarPnLExplainCrossPostProcessor
    extends AScalarPnLExplainPostProcessor
    Post-processor used to get PnL approximation for Delta, Gamma and Vega.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.quartetfs.biz.pivot.postprocessing.impl.ADynamicAggregationPostProcessor

        com.quartetfs.biz.pivot.postprocessing.impl.ADynamicAggregationPostProcessor.TransformationProcedure
      • Nested classes/interfaces inherited from class com.quartetfs.biz.pivot.postprocessing.impl.ABaseDynamicAggregationPostProcessor

        com.quartetfs.biz.pivot.postprocessing.impl.ABaseDynamicAggregationPostProcessor.DynamicAggregationPostProcessorPrefetcher
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String PLUGIN_KEY  
      protected com.quartetfs.biz.pivot.cube.hierarchy.ILevelInfo riskFactor1LevelInfo  
      protected com.quartetfs.biz.pivot.cube.hierarchy.ILevelInfo riskFactor2LevelInfo  
      • 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.quartetfs.biz.pivot.postprocessing.IPartitionedPostProcessor

        DEFAULT_PARTITIONING_ON_RANGE_LEVELS
      • Fields inherited from interface com.quartetfs.biz.pivot.postprocessing.IPostProcessor

        CONTINUOUS_QUERY_HANDLER_KEYS, IS_PARTITIONED_ON_RANGE_LEVELS_PROPERTY, SEPARATOR, UNDERLYING_MEASURES
    • Constructor Summary

      Constructors 
      Constructor Description
      ScalarPnLExplainCrossPostProcessor​(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 Double evaluateLeaf​(com.quartetfs.biz.pivot.ILocation leafLocation, Object[] underlyingMeasures)
      There are three underlying measures here: the Sensi value, 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 currentDateMeasure1, String previousDateMeasure1, String currentDateMeasure2, String previousDateMeasure2, String asOfDateLevel, String riskFactorLevel1, String riskFactorLevel2, String riskClassLevel, String sensitivityNameLevel, String[][] datesLevel, String ladderAvailabilityLevel, String sensitivityName, String formatter, String folder)  
      String getType()  
      void init​(Properties properties)
      The level corresponding to the risk class needs to be present in the configuration of the post-processor.
      static com.activeviam.copper.api.CopperMeasure measure​(com.activeviam.copper.api.CopperMeasure sensiValueMeasure, com.activeviam.copper.api.CopperMeasure sensiLadderMeasure, com.activeviam.copper.api.CopperMeasure currentDateMeasure1, com.activeviam.copper.api.CopperMeasure previousDateMeasure1, com.activeviam.copper.api.CopperMeasure currentDateMeasure2, com.activeviam.copper.api.CopperMeasure previousDateMeasure2, String asOfDateLevel, String riskFactorLevel1, String riskFactorLevel2, String riskClassLevel, String sensitivityNameLevel, String[][] datesLevel, String ladderAvailabilityLevel, String sensitivityName)  
      • 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
      • Methods inherited from interface com.quartetfs.biz.pivot.postprocessing.IPostProcessor

        getContextDependencies, getContinuousQueryHandlerKeys, getName, getOutputType, getPrefetchers, getProperties
    • Field Detail

      • riskFactor1LevelInfo

        protected com.quartetfs.biz.pivot.cube.hierarchy.ILevelInfo riskFactor1LevelInfo
      • riskFactor2LevelInfo

        protected com.quartetfs.biz.pivot.cube.hierarchy.ILevelInfo riskFactor2LevelInfo
    • Constructor Detail

      • ScalarPnLExplainCrossPostProcessor

        public ScalarPnLExplainCrossPostProcessor​(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 currentDateMeasure1,
                                                                                                                                                                      String previousDateMeasure1,
                                                                                                                                                                      String currentDateMeasure2,
                                                                                                                                                                      String previousDateMeasure2,
                                                                                                                                                                      String asOfDateLevel,
                                                                                                                                                                      String riskFactorLevel1,
                                                                                                                                                                      String riskFactorLevel2,
                                                                                                                                                                      String riskClassLevel,
                                                                                                                                                                      String sensitivityNameLevel,
                                                                                                                                                                      String[][] datesLevel,
                                                                                                                                                                      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 currentDateMeasure1,
                                                                      com.activeviam.copper.api.CopperMeasure previousDateMeasure1,
                                                                      com.activeviam.copper.api.CopperMeasure currentDateMeasure2,
                                                                      com.activeviam.copper.api.CopperMeasure previousDateMeasure2,
                                                                      String asOfDateLevel,
                                                                      String riskFactorLevel1,
                                                                      String riskFactorLevel2,
                                                                      String riskClassLevel,
                                                                      String sensitivityNameLevel,
                                                                      String[][] datesLevel,
                                                                      String ladderAvailabilityLevel,
                                                                      String sensitivityName)
      • init

        public void init​(Properties properties)
                  throws com.quartetfs.fwk.QuartetException
        Description copied from class: AScalarPnLExplainPostProcessor
        The level corresponding to the risk class needs to be present in the configuration of the post-processor.
        • Risk class: its value is the string risk class, e.g.
          "RiskClass@Risk Classes@Risk"
        Specified by:
        init in interface com.quartetfs.biz.pivot.postprocessing.IPostProcessor<Double>
        Overrides:
        init in class AScalarPnLExplainPostProcessor
        Throws:
        com.quartetfs.fwk.QuartetException
      • evaluateLeaf

        protected Double evaluateLeaf​(com.quartetfs.biz.pivot.ILocation leafLocation,
                                      Object[] underlyingMeasures)
        There are three underlying measures here: the Sensi value, Current date market data, Previous date market data. The PnL explain computation is done in the method calculatePnL.
        Specified by:
        evaluateLeaf in class com.quartetfs.biz.pivot.postprocessing.impl.ADynamicAggregationPostProcessor<Double,​Double>
        Parameters:
        leafLocation - current location
        underlyingMeasures - sensiValue, currentDate, previousDate or just sensiValue
        Returns:
        The pnl explain
      • getType

        public String getType()