Package org.drip.execution.impact
Class TransactionFunction
java.lang.Object
org.drip.function.definition.R1ToR1
org.drip.execution.impact.TransactionFunction
- Direct Known Subclasses:
TransactionFunctionLinear
,TransactionFunctionPower
public abstract class TransactionFunction extends R1ToR1
TransactionFunction exports the Temporary/Permanent Market Impact Displacement/Volatility
Functional Dependence on the Trade Rate. 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
- Bertsimas, D., and A. W. Lo (1998): Optimal Control of Execution Costs Journal of Financial Markets 1 1-50
- Chan, L. K. C., and J. Lakonishak (1995): The Behavior of Stock Prices around Institutional Trades Journal of Finance 50 1147-1174
- Keim, D. B., and A. Madhavan (1997): Transaction Costs and Investment Style: An Inter-exchange Analysis of Institutional Equity Trades Journal of Financial Economics 46 265-292
- Author:
- Lakshmi Krishnamurthy
-
Method Summary
Modifier and Type Method Description double
crossHoldingsDerivative(double dblTradeAmount, double dblTradeInterval)
Compute the Second Order Sensitivity to the Left/Right Holdingsdouble
evaluate(double dblTradeAmount, double dblTradeInterval)
Evaluate the Impact Function at the specified Trade Parametersdouble
leftHoldingsDerivative(double dblTradeAmount, double dblTradeInterval, int iOrder)
Compute the Sensitivity to the Left Holdingsabstract double
modulate(double dblTradeInterval)
Modulate/Scale the Impact Outputabstract double
regularize(double dblTradeInterval)
Regularize the Input Function using the specified Trade Inputsdouble
rightHoldingsDerivative(double dblTradeAmount, double dblTradeInterval, int iOrder)
Compute the Sensitivity to the Right HoldingsMethods inherited from class org.drip.function.definition.R1ToR1
antiDerivative, conditionNumber, derivative, differential, differential, evaluate, integrate, maxima, maxima, minima, minima, poleResidue
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Method Details
-
regularize
public abstract double regularize(double dblTradeInterval) throws java.lang.ExceptionRegularize the Input Function using the specified Trade Inputs- Parameters:
dblTradeInterval
- The Trade Interval- Returns:
- The Regularize Input
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
modulate
public abstract double modulate(double dblTradeInterval) throws java.lang.ExceptionModulate/Scale the Impact Output- Parameters:
dblTradeInterval
- The Trade Interval- Returns:
- The Modulated Output
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
evaluate
public double evaluate(double dblTradeAmount, double dblTradeInterval) throws java.lang.ExceptionEvaluate the Impact Function at the specified Trade Parameters- Parameters:
dblTradeAmount
- The Trade AmountdblTradeInterval
- The Trade Interval- Returns:
- The Value of the Impact Function
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
leftHoldingsDerivative
public double leftHoldingsDerivative(double dblTradeAmount, double dblTradeInterval, int iOrder) throws java.lang.ExceptionCompute the Sensitivity to the Left Holdings- Parameters:
dblTradeAmount
- The Trade AmountdblTradeInterval
- The Trade IntervaliOrder
- Order of the Derivative- Returns:
- The Sensitivity to the Left Holdings of the Impact Function
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
rightHoldingsDerivative
public double rightHoldingsDerivative(double dblTradeAmount, double dblTradeInterval, int iOrder) throws java.lang.ExceptionCompute the Sensitivity to the Right Holdings- Parameters:
dblTradeAmount
- The Trade AmountdblTradeInterval
- The Trade IntervaliOrder
- Order of the Derivative- Returns:
- The Sensitivity to the Right Holdings of the Impact Function
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
crossHoldingsDerivative
public double crossHoldingsDerivative(double dblTradeAmount, double dblTradeInterval) throws java.lang.ExceptionCompute the Second Order Sensitivity to the Left/Right Holdings- Parameters:
dblTradeAmount
- The Trade AmountdblTradeInterval
- The Trade Interval- Returns:
- The Second Order Sensitivity to the Left/Right Holdings of the Impact Function
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-