Package org.drip.execution.risk
Class PowerVarianceObjectiveUtility
java.lang.Object
org.drip.execution.risk.PowerVarianceObjectiveUtility
- All Implemented Interfaces:
ObjectiveUtility
public class PowerVarianceObjectiveUtility extends java.lang.Object implements ObjectiveUtility
PowerVarianceObjectiveUtility implements the Mean-Power-Variance Objective Utility Function that
needs to be optimized to extract the Optimal Execution Trajectory. The Exact Objective Function is of the
Form:
U[x] = E[x] + lambda * (V[x] ^p)
where p is greater than 0.
p = 1
is the Regular Mean-Variance, and
p = 0.5
is VaR Minimization (L-VaR). The References are:
- Almgren, R., and N. Chriss (1999): Value under Liquidation Risk 12 (12)
- Almgren, R., and N. Chriss (2000): Optimal Execution of Portfolio Transactions Journal of Risk 3 (2) 5-39
- Almgren, R. (2003): Optimal Execution with Non-linear Impact Functions and Trading Enhanced Risk Applied Mathematical Finance 10 (1) 1-18
- Artzner, P., F. Delbaen, J. M. Eber, and D. Heath (1999): Coherent Measures of Risk Mathematical Finance 9 203-228
- Basak, S., and A. Shapiro (2001): Value-at-Risk Based Risk Management: Optimal Policies and Asset Prices Review of Financial Studies 14 371-405
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description PowerVarianceObjectiveUtility(double dblVarianceExponent, double dblRiskAversion)
PowerVarianceObjectiveUtility Constructor -
Method Summary
Modifier and Type Method Description static PowerVarianceObjectiveUtility
LiquidityVaR(double dblRiskAversion)
Generate the Liquidity VaR Version of the Power Variance Utility Functiondouble
riskAversion()
Retrieve the Risk Aversion ParameterControlNodesGreek
sensitivity(TrajectoryControlNodesGreek tcngExpectation, TrajectoryControlNodesGreek tcngVariance)
Generate the Objective Function Sensitivity given the Expectation and the Variance Control Node Sensitivitydouble
varianceExponent()
Retrieve the Variance ExponentMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
PowerVarianceObjectiveUtility
public PowerVarianceObjectiveUtility(double dblVarianceExponent, double dblRiskAversion) throws java.lang.ExceptionPowerVarianceObjectiveUtility Constructor- Parameters:
dblVarianceExponent
- The Variance ExponentdblRiskAversion
- The Risk Aversion Parameter- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
-
Method Details
-
LiquidityVaR
Generate the Liquidity VaR Version of the Power Variance Utility Function- Parameters:
dblRiskAversion
- The Risk Aversion Parameter- Returns:
- The Liquidity VaR Version of the Power Variance Utility Function
-
riskAversion
public double riskAversion()Retrieve the Risk Aversion Parameter- Returns:
- The Risk Aversion Parameter
-
varianceExponent
public double varianceExponent()Retrieve the Variance Exponent- Returns:
- The Variance Exponent
-
sensitivity
public ControlNodesGreek sensitivity(TrajectoryControlNodesGreek tcngExpectation, TrajectoryControlNodesGreek tcngVariance)Description copied from interface:ObjectiveUtility
Generate the Objective Function Sensitivity given the Expectation and the Variance Control Node Sensitivity- Specified by:
sensitivity
in interfaceObjectiveUtility
- Parameters:
tcngExpectation
- The Control Node Trajectory Expectation SensitivitytcngVariance
- The Control Node Trajectory Variance Sensitivity- Returns:
- The Control Node Trajectory Objective Function Sensitivity Sensitivity
-