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 double
agentObjectiveValue(double underlierPrice, double positionValueAdjustment)
Compute the Agent's Objective Function Value For the Underlier PriceUtilityFunction
agentOptimizer()
Retrieve the Agent Optimization Utility FunctionClaimsPositionPricer
claimsPositionPricer()
Retrieve the Claims Position PricerClaimsUtilityExpectationInferenceRun
inferPositionAdjustment(R1Univariate underlierPriceDistribution, double targetUtilityExpectationValue)
Run the Position Adjustment Inference for the Claims given the Target Utility Expectation ValueClaimsUtilityExpectationInferenceRun
inferPositionAdjustment(R1Distribution underlierPriceDistribution, double[] underlierPriceArray, double targetUtilityExpectationValue)
Run the Position Value Inference for the Claims given the Target Utility Expectation ValueInventoryVertex
inventoryVertex()
Retrieve the Inventory Vertexdouble
moneyMarketPrice()
Retrieve the Price of Money Market EntityUtilityExpectationOptimizationRun
optimizationRun(R1Univariate underlierPriceDistribution, double positionValueAdjustment)
Generate the Utility Expectation Optimization Run given the Underlier Price DistributionUtilityExpectationOptimizationRun
optimizationRun(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
-