Class ScalarPnLExplainPostProcessor

  • 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_POSTPROCESSOR")
    public class ScalarPnLExplainPostProcessor
    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 riskFactorLevelInfo  
      • 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
      ScalarPnLExplainPostProcessor​(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 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[][] 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 currentDateMeasure, com.activeviam.copper.api.CopperMeasure previousDateMeasure, String asOfDateLevel, String riskFactorLevel, 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

      • riskFactorLevelInfo

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

      • ScalarPnLExplainPostProcessor

        public ScalarPnLExplainPostProcessor​(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[][] 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 currentDateMeasure,
                                                                      com.activeviam.copper.api.CopperMeasure previousDateMeasure,
                                                                      String asOfDateLevel,
                                                                      String riskFactorLevel,
                                                                      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 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 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()