Package org.drip.execution.athl
Class PermanentImpactQuasiArbitrage
java.lang.Object
org.drip.function.definition.R1ToR1
org.drip.execution.impact.TransactionFunction
org.drip.execution.impact.TransactionFunctionPower
org.drip.execution.athl.PermanentImpactQuasiArbitrage
public class PermanentImpactQuasiArbitrage extends TransactionFunctionPower
PermanentImpactQuasiArbitrage implements the Linear Permanent Market Impact with Coefficients that
have been determined empirically by Almgren, Thum, Hauptmann, and Li (2005), independent of the no Quasi-
Arbitrage Criterion identified by Huberman and Stanzl (2004). The References are:
- Almgren, R., and N. Chriss (2000): Optimal Execution of Portfolio Transactions Journal of Risk 3 (2) 5-39
- Almgren, R. (2003): Optimal Execution with Nonlinear Impact Functions and Trading-Enhanced Risk Applied Mathematical Finance 10 (1) 1-18
- Almgren, R., and N. Chriss (2003): Bidding Principles Risk 97-102
- Almgren, R., C. Thum, E. Hauptmann, and H. Li (2005): Equity Market Impact Risk 18 (7) 57-62
- Huberman, G., and W. Stanzl (2004): Price Manipulation and Quasi-arbitrage Econometrics 72 (4) 1247-1275
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description PermanentImpactQuasiArbitrage(AssetFlowSettings afp)
PermanentImpactQuasiArbitrage Constructor -
Method Summary
Modifier and Type Method Description AssetFlowSettings
assetFlowParameters()
Retrieve the Asset Flow Parametersdouble
constant()
Retrieve the Constant Market Impact Parameterdouble
derivative(double dblNormalizedX, int iOrder)
Calculate the derivative as a doubledouble
evaluate(double dblNormalizedX)
Evaluate for the given variatedouble
exponent()
Retrieve the Power Law Exponent Market Impact Parameterdouble
liquidityFactor()
Retrieve the Liquidity Factordouble
modulate(double dblTradeInterval)
Modulate/Scale the Impact Outputdouble
regularize(double dblTradeInterval)
Regularize the Input Function using the specified Trade InputsMethods 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
-
PermanentImpactQuasiArbitrage
PermanentImpactQuasiArbitrage Constructor- Parameters:
afp
- The Asset Flow Parameters- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
-
Method Details
-
liquidityFactor
public double liquidityFactor()Retrieve the Liquidity Factor- Returns:
- The Liquidity Factor
-
assetFlowParameters
Retrieve the Asset Flow Parameters- Returns:
- The Asset Flow Parameters
-
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
-
constant
public double constant()Description copied from class:TransactionFunctionPower
Retrieve the Constant Market Impact Parameter- Specified by:
constant
in classTransactionFunctionPower
- Returns:
- The Constant Market Impact Parameter
-
exponent
public double exponent()Description copied from class:TransactionFunctionPower
Retrieve the Power Law Exponent Market Impact Parameter- Specified by:
exponent
in classTransactionFunctionPower
- Returns:
- The Power Law Exponent Market Impact Parameter
-
evaluate
public double evaluate(double dblNormalizedX) throws java.lang.ExceptionDescription copied from class:R1ToR1
Evaluate for the given variate -
derivative
public double derivative(double dblNormalizedX, int iOrder) throws java.lang.ExceptionDescription copied from class:R1ToR1
Calculate the derivative as a double- Overrides:
derivative
in classR1ToR1
- Parameters:
dblNormalizedX
- 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
-