Class DiscreteTradingTrajectory

java.lang.Object
org.drip.execution.strategy.DiscreteTradingTrajectory
All Implemented Interfaces:
TradingTrajectory
Direct Known Subclasses:
EfficientTradingTrajectoryDiscrete, MinimumImpactTradingTrajectory

public class DiscreteTradingTrajectory
extends java.lang.Object
implements TradingTrajectory
DiscreteTradingTrajectory holds the Trajectory of a Trading Block that is to be executed over a Discrete Time Set. 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
  • Constructor Summary

    Constructors
    Constructor Description
    DiscreteTradingTrajectory​(double[] adblExecutionTimeNode, double[] adblHoldings, double[] adblTradeList)
    DiscreteTradingTrajectory Constructor
  • Method Summary

    Modifier and Type Method Description
    double executedBlockSize()
    Retrieve the Executed Block Size
    double executionTime()
    Retrieve the Execution Time
    double[] executionTimeNode()
    Retrieve the Array containing the Execution Time Nodes Sequence
    double[] holdings()
    Retrieve the Array of the Number of Units Outstanding
    double[] innerHoldings()
    Retrieve the Array of the Inner Holdings
    double instantTradeRate()
    Retrieve the Instant Trade Rate
    static DiscreteTradingTrajectory Linear​(double[] adblExecutionTimeNode, double dblStartHoldings, double dblFinishHoldings)
    Construct a Linear DiscreteTradingTrajectory Instance
    int numberOfTrades()
    Retrieve the Number of Trades
    static DiscreteTradingTrajectory Standard​(double[] adblExecutionTimeNode, double[] adblHoldings)
    Construct a Standard DiscreteTradingTrajectory Instance
    double[] tradeList()
    Retrieve the Trade List, i.e., the Array of the Number of Units executed
    double tradeSize()
    Retrieve the Trade Size

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DiscreteTradingTrajectory

      public DiscreteTradingTrajectory​(double[] adblExecutionTimeNode, double[] adblHoldings, double[] adblTradeList) throws java.lang.Exception
      DiscreteTradingTrajectory Constructor
      Parameters:
      adblExecutionTimeNode - Array containing the Trajectory Time Nodes
      adblHoldings - Array containing the Holdings
      adblTradeList - Array containing the Trade List
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • Standard

      public static DiscreteTradingTrajectory Standard​(double[] adblExecutionTimeNode, double[] adblHoldings)
      Construct a Standard DiscreteTradingTrajectory Instance
      Parameters:
      adblExecutionTimeNode - Array containing the Trajectory Time Nodes
      adblHoldings - Array containing the Holdings
      Returns:
      The DiscreteTradingTrajectory Instance
    • Linear

      public static final DiscreteTradingTrajectory Linear​(double[] adblExecutionTimeNode, double dblStartHoldings, double dblFinishHoldings)
      Construct a Linear DiscreteTradingTrajectory Instance
      Parameters:
      adblExecutionTimeNode - Array of the Execution Time Nodes
      dblStartHoldings - Trajectory Start Holdings
      dblFinishHoldings - Trajectory Finish Holdings
      Returns:
      The Linear TradingTrajectory Instance
    • tradeSize

      public double tradeSize()
      Description copied from interface: TradingTrajectory
      Retrieve the Trade Size
      Specified by:
      tradeSize in interface TradingTrajectory
      Returns:
      The Trade Size
    • executedBlockSize

      public double executedBlockSize()
      Description copied from interface: TradingTrajectory
      Retrieve the Executed Block Size
      Specified by:
      executedBlockSize in interface TradingTrajectory
      Returns:
      The Executed Block Size
    • executionTime

      public double executionTime()
      Description copied from interface: TradingTrajectory
      Retrieve the Execution Time
      Specified by:
      executionTime in interface TradingTrajectory
      Returns:
      The Execution Time
    • instantTradeRate

      public double instantTradeRate()
      Description copied from interface: TradingTrajectory
      Retrieve the Instant Trade Rate
      Specified by:
      instantTradeRate in interface TradingTrajectory
      Returns:
      The Instant Trade Rate
    • executionTimeNode

      public double[] executionTimeNode()
      Retrieve the Array containing the Execution Time Nodes Sequence
      Returns:
      The Array containing the Execution Time Nodes Sequence
    • holdings

      public double[] holdings()
      Retrieve the Array of the Number of Units Outstanding
      Returns:
      The Array of the Number of Units Outstanding
    • tradeList

      public double[] tradeList()
      Retrieve the Trade List, i.e., the Array of the Number of Units executed
      Returns:
      The Trade List, i.e., the Array of the Number of Units executed
    • numberOfTrades

      public int numberOfTrades()
      Retrieve the Number of Trades
      Returns:
      The Number of Trades
    • innerHoldings

      public double[] innerHoldings()
      Retrieve the Array of the Inner Holdings
      Returns:
      The Array of the Inner Holdings