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 double
derivative(double dblTradeRate, int iOrder)
Calculate the derivative as a doubledouble
evaluate(double dblTradeRate)
Evaluate for the given variatedouble
modulate(double dblTradeInterval)
Modulate/Scale the Impact Outputstatic ParticipationRateLinear
NoImpact()
Construct a Vanilla Zero-Impact ParticipationRateLinear Instancedouble
offset()
Retrieve the Offset Market Impact Parameterdouble
regularize(double dblTradeInterval)
Regularize the Input Function using the specified Trade Inputsdouble
slope()
Retrieve the Linear Market Impact Slope Parameterstatic ParticipationRateLinear
SlopeOnly(double dblSlope)
Construct a Vanilla Slope-Only ParticipationRateLinear InstanceMethods inherited from class org.drip.execution.impact.TransactionFunction
crossHoldingsDerivative, evaluate, leftHoldingsDerivative, rightHoldingsDerivative
Methods inherited from class org.drip.function.definition.R1ToR1
antiDerivative, conditionNumber, differential, differential, integrate, maxima, maxima, minima, minima, poleResidue
Methods 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:
slope
in classTransactionFunctionLinear
- Returns:
- The Linear Market Impact Slope Parameter
-
offset
public double offset()Retrieve the Offset Market Impact Parameter- Specified by:
offset
in classTransactionFunctionLinear
- Returns:
- The Offset Market Impact Parameter
-
regularize
public double regularize(double dblTradeInterval) throws java.lang.ExceptionDescription copied from class:TransactionFunction
Regularize the Input Function using the specified Trade Inputs- Specified by:
regularize
in 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:TransactionFunction
Modulate/Scale the Impact Output- Specified by:
modulate
in 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:R1ToR1
Evaluate for the given variate -
derivative
public double derivative(double dblTradeRate, int iOrder) throws java.lang.ExceptionDescription copied from class:R1ToR1
Calculate the derivative as a double- Overrides:
derivative
in 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
-