Record Class DrawdownAnalytics.Drawdown

java.lang.Object
java.lang.Record
com.quantfinlib.backtest.DrawdownAnalytics.Drawdown
Enclosing class:
DrawdownAnalytics

public static record DrawdownAnalytics.Drawdown(int peakIndex, int troughIndex, int recoveryIndex, double depth) extends Record
One peak-to-recovery episode. recoveryIndex is -1 while the drawdown is still open at series end; duration then runs to the last bar.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Drawdown(int peakIndex, int troughIndex, int recoveryIndex, double depth)
    Creates an instance of a Drawdown record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    Returns the value of the depth record component.
    int
    duration(int seriesLength)
    Periods from peak to recovery, or to series end if open.
    final boolean
    Indicates whether some other object is "equal to" this one.
    final int
    Returns a hash code value for this object.
    int
    Returns the value of the peakIndex record component.
    int
    Returns the value of the recoveryIndex record component.
    final String
    Returns a string representation of this record class.
    int
    Returns the value of the troughIndex record component.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • Drawdown

      public Drawdown(int peakIndex, int troughIndex, int recoveryIndex, double depth)
      Creates an instance of a Drawdown record class.
      Parameters:
      peakIndex - the value for the peakIndex record component
      troughIndex - the value for the troughIndex record component
      recoveryIndex - the value for the recoveryIndex record component
      depth - the value for the depth record component
  • Method Details

    • duration

      public int duration(int seriesLength)
      Periods from peak to recovery, or to series end if open.
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • peakIndex

      public int peakIndex()
      Returns the value of the peakIndex record component.
      Returns:
      the value of the peakIndex record component
    • troughIndex

      public int troughIndex()
      Returns the value of the troughIndex record component.
      Returns:
      the value of the troughIndex record component
    • recoveryIndex

      public int recoveryIndex()
      Returns the value of the recoveryIndex record component.
      Returns:
      the value of the recoveryIndex record component
    • depth

      public double depth()
      Returns the value of the depth record component.
      Returns:
      the value of the depth record component