Class ParticipationRatePower


public class ParticipationRatePower
extends TransactionFunctionPower
ParticipationRatePower implements a Power-Law Based Temporary/Permanent Market Impact Function where the Price Change scales as a Power of 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
  • Almgren, R., and N. Chriss (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
  • Bertsimas, D., and A. W. Lo (1998): Optimal Control of Execution Costs Journal of Financial Markets 1 1-50


Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • ParticipationRatePower

      public ParticipationRatePower​(double dblConstant, double dblExponent) throws java.lang.Exception
      ParticipationRatePower Constructor
      Parameters:
      dblConstant - The Market Impact Constant Parameter
      dblExponent - The Market Impact Power Law Exponent
      Throws:
      java.lang.Exception - Propagated up from R1ToR1
  • Method Details

    • constant

      public double constant()
      Description copied from class: TransactionFunctionPower
      Retrieve the Constant Market Impact Parameter
      Specified by:
      constant in class TransactionFunctionPower
      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 class TransactionFunctionPower
      Returns:
      The Power Law Exponent Market Impact Parameter
    • regularize

      public double regularize​(double dblTradeInterval) throws java.lang.Exception
      Description copied from class: TransactionFunction
      Regularize the Input Function using the specified Trade Inputs
      Specified by:
      regularize in class TransactionFunction
      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.Exception
      Description copied from class: TransactionFunction
      Modulate/Scale the Impact Output
      Specified by:
      modulate in class TransactionFunction
      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.Exception
      Description copied from class: R1ToR1
      Evaluate for the given variate
      Specified by:
      evaluate in class R1ToR1
      Parameters:
      dblTradeRate - Variate
      Returns:
      Returns the calculated value
      Throws:
      java.lang.Exception - Thrown if evaluation cannot be done
    • derivative

      public double derivative​(double dblTradeRate, int iOrder) throws java.lang.Exception
      Description copied from class: R1ToR1
      Calculate the derivative as a double
      Overrides:
      derivative in class R1ToR1
      Parameters:
      dblTradeRate - Variate at which the derivative is to be calculated
      iOrder - Order of the derivative to be computed
      Returns:
      The Derivative
      Throws:
      java.lang.Exception - Thrown if Inputs are Invalid