Class UtilityFunctionExpectation

java.lang.Object
org.drip.oms.indifference.UtilityFunctionExpectation

public class UtilityFunctionExpectation
extends java.lang.Object
UtilityFunctionExpectation implements the Expectation of Utility Function across Realized Underlier Values using its Terminal Measure. The References are:

  • Birge, J. R. (2008): Financial Engineering Elsevier Amsterdam Netherlands
  • Carmona, R. (2009): Indifference Pricing: Theory and Applications Princeton University Press Princeton NJ
  • Vassilis, P. (2005): Slow and Fast Markets Journal of Economics and Business 57 (6) 576-593
  • Weiss, D. (2006): After the Trade is Made: Processing Securities Transactions Portfolio Publishing London UK
  • Wikipedia (2021): Indifference Price https://en.wikipedia.org/wiki/Indifference_price


Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • UtilityFunctionExpectation

      public UtilityFunctionExpectation​(UtilityFunction agentOptimizer, ClaimsPositionPricer claimsPositionPricer, InventoryVertex inventoryVertex, double moneyMarketPrice) throws java.lang.Exception
      UtilityFunctionExpectation Constructor
      Parameters:
      agentOptimizer - Agent Optimization Utility Function
      claimsPositionPricer - Claims Position Pricer
      inventoryVertex - Inventory Vertex
      moneyMarketPrice - Price of Money Market Entity
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • agentOptimizer

      public UtilityFunction agentOptimizer()
      Retrieve the Agent Optimization Utility Function
      Returns:
      Agent Optimization Utility Function
    • inventoryVertex

      public InventoryVertex inventoryVertex()
      Retrieve the Inventory Vertex
      Returns:
      The Inventory Vertex
    • moneyMarketPrice

      public double moneyMarketPrice()
      Retrieve the Price of Money Market Entity
      Returns:
      Price of Money Market Entity
    • claimsPositionPricer

      public ClaimsPositionPricer claimsPositionPricer()
      Retrieve the Claims Position Pricer
      Returns:
      The Claims Position Pricer
    • agentObjectiveValue

      public double agentObjectiveValue​(double underlierPrice, double positionValueAdjustment) throws java.lang.Exception
      Compute the Agent's Objective Function Value For the Underlier Price
      Parameters:
      underlierPrice - The Underlier Price
      positionValueAdjustment - Position Value Adjustment
      Returns:
      The Agent's Objective Function Value For the Underlier Price
      Throws:
      java.lang.Exception - Thrown if the Agent's Objective Function Value cannot be calculated
    • optimizationRun

      public UtilityExpectationOptimizationRun optimizationRun​(R1Distribution underlierPriceDistribution, double[] underlierPriceArray, double positionValueAdjustment)
      Generate the Utility Expectation Optimization Run given the Underlier Price Array and Discrete Distribution
      Parameters:
      underlierPriceDistribution - Discrete Underlier Price Distribution
      underlierPriceArray - Underlier Price Array
      positionValueAdjustment - Position Value Adjustment
      Returns:
      The Utility Expectation Optimization Run Results
    • inferPositionAdjustment

      public ClaimsUtilityExpectationInferenceRun inferPositionAdjustment​(R1Distribution underlierPriceDistribution, double[] underlierPriceArray, double targetUtilityExpectationValue)
      Run the Position Value Inference for the Claims given the Target Utility Expectation Value
      Parameters:
      underlierPriceDistribution - Discrete Underlier Price Distribution
      targetUtilityExpectationValue - Target Utility Expectation Value
      Returns:
      Claims Position Value Inference
    • optimizationRun

      public UtilityExpectationOptimizationRun optimizationRun​(R1Univariate underlierPriceDistribution, double positionValueAdjustment)
      Generate the Utility Expectation Optimization Run given the Underlier Price Distribution
      Parameters:
      underlierPriceDistribution - Discrete Underlier Price Distribution
      positionValueAdjustment - Position Value Adjustment
      Returns:
      Utility Expectation Optimization Run
    • inferPositionAdjustment

      public ClaimsUtilityExpectationInferenceRun inferPositionAdjustment​(R1Univariate underlierPriceDistribution, double targetUtilityExpectationValue) throws java.lang.Exception
      Run the Position Adjustment Inference for the Claims given the Target Utility Expectation Value
      Parameters:
      underlierPriceDistribution - Discrete Underlier Price Distribution
      targetUtilityExpectationValue - Target Utility Expectation Value
      Returns:
      The Position Adjustment Inference Run
      Throws:
      java.lang.Exception