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). It provides the following Functions:
- PermanentImpactQuasiArbitrage Constructor
- Retrieve the Liquidity Factor
- Retrieve the Asset Flow Parameters
- Regularize the Input Function using the specified Trade Inputs
- Modulate/Scale the Impact Output
- Retrieve the Constant Market Impact Parameter
- Retrieve the Power Law Exponent Market Impact Parameter
- Evaluate the Impact for the given Normalized Holdings
- Calculate the Ordered Derivative
- 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 assetFlowSettings)PermanentImpactQuasiArbitrage Constructor -
Method Summary
Modifier and Type Method Description AssetFlowSettingsassetFlowSettings()Retrieve the Asset Flow Parametersdoubleconstant()Retrieve the Constant Market Impact Parameterdoublederivative(double normalizedX, int order)Calculate the Ordered Derivativedoubleevaluate(double normalizedX)Evaluate the Impact for the given Normalized Holdingsdoubleexponent()Retrieve the Power Law Exponent Market Impact ParameterdoubleliquidityFactor()Retrieve the Liquidity Factordoublemodulate(double tradeInterval)Modulate/Scale the Impact Outputdoubleregularize(double tradeInterval)Regularize the Input Function using the specified Trade InputsMethods 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
-
PermanentImpactQuasiArbitrage
public PermanentImpactQuasiArbitrage(AssetFlowSettings assetFlowSettings) throws java.lang.ExceptionPermanentImpactQuasiArbitrage Constructor- Parameters:
assetFlowSettings- 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
-
assetFlowSettings
Retrieve the Asset Flow Parameters- Returns:
- The Asset Flow Parameters
-
regularize
public double regularize(double tradeInterval) throws java.lang.ExceptionRegularize the Input Function using the specified Trade Inputs- Specified by:
regularizein classTransactionFunction- Parameters:
tradeInterval- The Trade Interval- Returns:
- The Regularize Input
- Throws:
java.lang.Exception- Thrown if the Inputs are Invalid
-
modulate
public double modulate(double tradeInterval) throws java.lang.ExceptionModulate/Scale the Impact Output- Specified by:
modulatein classTransactionFunction- Parameters:
tradeInterval- The Trade Interval- Returns:
- The Modulated Output
- Throws:
java.lang.Exception- Thrown if the Inputs are Invalid
-
constant
public double constant()Retrieve the Constant Market Impact Parameter- Specified by:
constantin classTransactionFunctionPower- Returns:
- The Constant Market Impact Parameter
-
exponent
public double exponent()Retrieve the Power Law Exponent Market Impact Parameter- Specified by:
exponentin classTransactionFunctionPower- Returns:
- The Power Law Exponent Market Impact Parameter
-
evaluate
public double evaluate(double normalizedX) throws java.lang.ExceptionEvaluate the Impact for the given Normalized Holdings -
derivative
public double derivative(double normalizedX, int order) throws java.lang.ExceptionCalculate the Ordered Derivative- Overrides:
derivativein classR1ToR1- Parameters:
normalizedX- Normalized Holdingsorder- Order of the derivative to be computed- Returns:
- The Ordered Derivative
- Throws:
java.lang.Exception- Thrown if Inputs are Invalid
-