Class TemporaryImpact


public class TemporaryImpact
extends TransactionFunctionPower
TemporaryImpact implements the Temporary Market Impact with Exponent/Coefficients that have been determined empirically by Almgren, Thum, Hauptmann, and Li (2005), using the Parameterization of Almgren (2003). It provides the following Functions:
  • TemporaryImpact Constructor
  • Retrieve the Asset Flow Settings
  • 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
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
  • 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

Module Computational Core Module
Library Numerical Optimizer Library
Project Optimal Impact/Capture Based Trading Trajectories - Deterministic, Stochastic, Static, and Dynamic
Package Almgren-Thum-Hauptmann-Li Calibration
Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • TemporaryImpact

      public TemporaryImpact​(AssetFlowSettings assetFlowSettings) throws java.lang.Exception
      TemporaryImpact Constructor
      Parameters:
      assetFlowSettings - Asset Flow Settings
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • assetFlowSettings

      public AssetFlowSettings assetFlowSettings()
      Retrieve the Asset Flow Settings
      Returns:
      The Asset Flow Settings
    • regularize

      public double regularize​(double tradeInterval) throws java.lang.Exception
      Regularize the Input Function using the specified Trade Inputs
      Specified by:
      regularize in class TransactionFunction
      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.Exception
      Modulate/Scale the Impact Output
      Specified by:
      modulate in class TransactionFunction
      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:
      constant in class TransactionFunctionPower
      Returns:
      The Constant Market Impact Parameter
    • exponent

      public double exponent()
      Retrieve the Power Law Exponent Market Impact Parameter
      Specified by:
      exponent in class TransactionFunctionPower
      Returns:
      The Power Law Exponent Market Impact Parameter
    • evaluate

      public double evaluate​(double normalizedX) throws java.lang.Exception
      Evaluate the Impact for the given Normalized Holdings
      Specified by:
      evaluate in class R1ToR1
      Parameters:
      normalizedX - Normalized Holdings
      Returns:
      The calculated Impact
      Throws:
      java.lang.Exception - Thrown if evaluation cannot be done
    • derivative

      public double derivative​(double normalizedX, int order) throws java.lang.Exception
      Calculate the Ordered Derivative
      Overrides:
      derivative in class R1ToR1
      Parameters:
      normalizedX - Normalized Holdings
      order - Order of the derivative to be computed
      Returns:
      The Ordered Derivative
      Throws:
      java.lang.Exception - Thrown if Inputs are Invalid