Package org.drip.execution.impact
Class ParticipationRateLinear
java.lang.Object
org.drip.function.definition.R1ToR1
org.drip.execution.impact.TransactionFunction
org.drip.execution.impact.TransactionFunctionLinear
org.drip.execution.impact.ParticipationRateLinear
- Direct Known Subclasses:
PermanentImpactNoArbitrage
public class ParticipationRateLinear extends TransactionFunctionLinear
ParticipationRateLinear implements a Linear Temporary/Permanent Market Impact Function where the
Price Change scales linearly with the Trade Rate, along with an Offset. 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
-
Constructor Summary
Constructors Constructor Description ParticipationRateLinear(double dblOffset, double dblSlope)ParticipationRateLinear Constructor -
Method Summary
Modifier and Type Method Description doublederivative(double dblTradeRate, int iOrder)Calculate the derivative as a doubledoubleevaluate(double dblTradeRate)Evaluate for the given variatedoublemodulate(double dblTradeInterval)Modulate/Scale the Impact Outputstatic ParticipationRateLinearNoImpact()Construct a Vanilla Zero-Impact ParticipationRateLinear Instancedoubleoffset()Retrieve the Offset Market Impact Parameterdoubleregularize(double dblTradeInterval)Regularize the Input Function using the specified Trade Inputsdoubleslope()Retrieve the Linear Market Impact Slope Parameterstatic ParticipationRateLinearSlopeOnly(double dblSlope)Construct a Vanilla Slope-Only ParticipationRateLinear InstanceMethods inherited from class org.drip.execution.impact.TransactionFunction
crossHoldingsDerivative, evaluate, leftHoldingsDerivative, rightHoldingsDerivativeMethods inherited from class org.drip.function.definition.R1ToR1
antiDerivative, conditionNumber, differential, differential, integrate, maxima, maxima, minima, minima, poleResidueMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
ParticipationRateLinear
public ParticipationRateLinear(double dblOffset, double dblSlope) throws java.lang.ExceptionParticipationRateLinear Constructor- Parameters:
dblOffset- The Offset Market Impact ParameterdblSlope- The Linear Market Impact Slope Parameter- Throws:
java.lang.Exception- Propagated up from R1ToR1
-
-
Method Details
-
NoImpact
Construct a Vanilla Zero-Impact ParticipationRateLinear Instance- Returns:
- The Vanilla Zero-Impact ParticipationRateLinear Instance
-
SlopeOnly
Construct a Vanilla Slope-Only ParticipationRateLinear Instance- Parameters:
dblSlope- The Slope- Returns:
- The Vanilla Slope-Only ParticipationRateLinear Instance
-
slope
public double slope()Retrieve the Linear Market Impact Slope Parameter- Specified by:
slopein classTransactionFunctionLinear- Returns:
- The Linear Market Impact Slope Parameter
-
offset
public double offset()Retrieve the Offset Market Impact Parameter- Specified by:
offsetin classTransactionFunctionLinear- Returns:
- The Offset Market Impact Parameter
-
regularize
public double regularize(double dblTradeInterval) throws java.lang.ExceptionDescription copied from class:TransactionFunctionRegularize the Input Function using the specified Trade Inputs- Specified by:
regularizein classTransactionFunction- Parameters:
dblTradeInterval- The Trade Interval- Returns:
- The Regularize Input
- Throws:
java.lang.Exception- Thrown if the Inputs are Invalid
-
modulate
public double modulate(double dblTradeInterval) throws java.lang.ExceptionDescription copied from class:TransactionFunctionModulate/Scale the Impact Output- Specified by:
modulatein classTransactionFunction- Parameters:
dblTradeInterval- The Trade Interval- Returns:
- The Modulated Output
- Throws:
java.lang.Exception- Thrown if the Inputs are Invalid
-
evaluate
public double evaluate(double dblTradeRate) throws java.lang.ExceptionDescription copied from class:R1ToR1Evaluate for the given variate -
derivative
public double derivative(double dblTradeRate, int iOrder) throws java.lang.ExceptionDescription copied from class:R1ToR1Calculate the derivative as a double- Overrides:
derivativein classR1ToR1- Parameters:
dblTradeRate- Variate at which the derivative is to be calculatediOrder- Order of the derivative to be computed- Returns:
- The Derivative
- Throws:
java.lang.Exception- Thrown if Inputs are Invalid
-