Package org.drip.oms.indifference
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
- Module = Product Core Module
- Library = Transaction Cost Analytics
- Project = Rd Order Specification, Handling, and Management
- Package = Reservation Price Good-deal Bounds
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description UtilityFunctionExpectation(UtilityFunction agentOptimizer, ClaimsPositionPricer claimsPositionPricer, InventoryVertex inventoryVertex, double moneyMarketPrice)UtilityFunctionExpectation Constructor -
Method Summary
Modifier and Type Method Description doubleagentObjectiveValue(double underlierPrice, double positionValueAdjustment)Compute the Agent's Objective Function Value For the Underlier PriceUtilityFunctionagentOptimizer()Retrieve the Agent Optimization Utility FunctionClaimsPositionPricerclaimsPositionPricer()Retrieve the Claims Position PricerClaimsUtilityExpectationInferenceRuninferPositionAdjustment(R1Univariate underlierPriceDistribution, double targetUtilityExpectationValue)Run the Position Adjustment Inference for the Claims given the Target Utility Expectation ValueClaimsUtilityExpectationInferenceRuninferPositionAdjustment(R1Distribution underlierPriceDistribution, double[] underlierPriceArray, double targetUtilityExpectationValue)Run the Position Value Inference for the Claims given the Target Utility Expectation ValueInventoryVertexinventoryVertex()Retrieve the Inventory VertexdoublemoneyMarketPrice()Retrieve the Price of Money Market EntityUtilityExpectationOptimizationRunoptimizationRun(R1Univariate underlierPriceDistribution, double positionValueAdjustment)Generate the Utility Expectation Optimization Run given the Underlier Price DistributionUtilityExpectationOptimizationRunoptimizationRun(R1Distribution underlierPriceDistribution, double[] underlierPriceArray, double positionValueAdjustment)Generate the Utility Expectation Optimization Run given the Underlier Price Array and Discrete DistributionMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
UtilityFunctionExpectation
public UtilityFunctionExpectation(UtilityFunction agentOptimizer, ClaimsPositionPricer claimsPositionPricer, InventoryVertex inventoryVertex, double moneyMarketPrice) throws java.lang.ExceptionUtilityFunctionExpectation Constructor- Parameters:
agentOptimizer- Agent Optimization Utility FunctionclaimsPositionPricer- Claims Position PricerinventoryVertex- Inventory VertexmoneyMarketPrice- Price of Money Market Entity- Throws:
java.lang.Exception- Thrown if the Inputs are Invalid
-
-
Method Details
-
agentOptimizer
Retrieve the Agent Optimization Utility Function- Returns:
- Agent Optimization Utility Function
-
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
Retrieve the Claims Position Pricer- Returns:
- The Claims Position Pricer
-
agentObjectiveValue
public double agentObjectiveValue(double underlierPrice, double positionValueAdjustment) throws java.lang.ExceptionCompute the Agent's Objective Function Value For the Underlier Price- Parameters:
underlierPrice- The Underlier PricepositionValueAdjustment- 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 DistributionunderlierPriceArray- Underlier Price ArraypositionValueAdjustment- 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 DistributiontargetUtilityExpectationValue- 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 DistributionpositionValueAdjustment- Position Value Adjustment- Returns:
- Utility Expectation Optimization Run
-
inferPositionAdjustment
public ClaimsUtilityExpectationInferenceRun inferPositionAdjustment(R1Univariate underlierPriceDistribution, double targetUtilityExpectationValue) throws java.lang.ExceptionRun the Position Adjustment Inference for the Claims given the Target Utility Expectation Value- Parameters:
underlierPriceDistribution- Discrete Underlier Price DistributiontargetUtilityExpectationValue- Target Utility Expectation Value- Returns:
- The Position Adjustment Inference Run
- Throws:
java.lang.Exception
-