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 Holdings
    double evaluate​(double dblTradeAmount, double dblTradeInterval)
    Evaluate the Impact Function at the specified Trade Parameters
    double leftHoldingsDerivative​(double dblTradeAmount, double dblTradeInterval, int iOrder)
    Compute the Sensitivity to the Left Holdings
    abstract double modulate​(double dblTradeInterval)
    Modulate/Scale the Impact Output
    abstract double regularize​(double dblTradeInterval)
    Regularize the Input Function using the specified Trade Inputs
    double rightHoldingsDerivative​(double dblTradeAmount, double dblTradeInterval, int iOrder)
    Compute the Sensitivity to the Right Holdings

    Methods 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.Exception
      Regularize 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.Exception
      Modulate/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.Exception
      Evaluate the Impact Function at the specified Trade Parameters
      Parameters:
      dblTradeAmount - The Trade Amount
      dblTradeInterval - 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.Exception
      Compute the Sensitivity to the Left Holdings
      Parameters:
      dblTradeAmount - The Trade Amount
      dblTradeInterval - The Trade Interval
      iOrder - 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.Exception
      Compute the Sensitivity to the Right Holdings
      Parameters:
      dblTradeAmount - The Trade Amount
      dblTradeInterval - The Trade Interval
      iOrder - 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.Exception
      Compute the Second Order Sensitivity to the Left/Right Holdings
      Parameters:
      dblTradeAmount - The Trade Amount
      dblTradeInterval - 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