Table of Contents

Struct Periodicity

Namespace
Balsam
Assembly
Balsam.Backtester.dll

A structure that encapsulates periodicity information.

[ProtoContract]
public struct Periodicity : IComparable<Periodicity>, IEquatable<Periodicity>
Implements
Inherited Members

Constructors

Periodicity(BarUnit)

Initializes a new Periodicity structure using the specified bar size.

public Periodicity(BarUnit units)

Parameters

units BarUnit

Periodicity(BarUnit, double)

Initializes a new Periodicity structure with the specified bar size and periods.

public Periodicity(BarUnit units, double periods)

Parameters

units BarUnit
periods double

Fields

CalendarDays

Calendar days periodicity.

public static readonly Periodicity CalendarDays

Field Value

Periodicity

Daily

Daily periodicity.

public static readonly Periodicity Daily

Field Value

Periodicity

Hourly

1 hour periodicity.

public static readonly Periodicity Hourly

Field Value

Periodicity

Minute

1 minute periodicty.

public static readonly Periodicity Minute

Field Value

Periodicity

Monthly

Monthly periodicity.

public static readonly Periodicity Monthly

Field Value

Periodicity

Periods

The number of periods in a bar.

[ProtoMember(1)]
public readonly double Periods

Field Value

double

Quarterly

Quarterly periodicity.

public static readonly Periodicity Quarterly

Field Value

Periodicity

Units

The unit of measurement.

[ProtoMember(2)]
public readonly BarUnit Units

Field Value

BarUnit

Unknown

Unknown periodicity.

public static readonly Periodicity Unknown

Field Value

Periodicity

Weekly

Weekly periodicity.

public static readonly Periodicity Weekly

Field Value

Periodicity

Yearly

Yearly periodicity.

public static readonly Periodicity Yearly

Field Value

Periodicity

Methods

CompareTo(Periodicity)

For time based bar sizes, converts periods to seconds to allow for comparison.

public int CompareTo(Periodicity other)

Parameters

other Periodicity

Returns

int

Equals(Periodicity)

Returns true if all fields are equal to the specified periodicity. Use CompareTo to compare disparate units (i.e. 60 Min != 1 Hour).

public bool Equals(Periodicity other)

Parameters

other Periodicity

Returns

bool

Equals(object)

Returns true if the specified object is equal to this instance.

public override bool Equals(object obj)

Parameters

obj object

Returns

bool

EstimatePeriodicity(IEnumerable<DateTime>)

Returns the estimated periodicity of the specifed enumerable of dates.

public static Periodicity EstimatePeriodicity(IEnumerable<DateTime> dates)

Parameters

dates IEnumerable<DateTime>

Returns

Periodicity

FromMinutes(int)

Returns a new periodicity of the specified minutes.

public static Periodicity FromMinutes(int minutes)

Parameters

minutes int

Returns

Periodicity

GetAnnualizationFactor()

Returns the number of periods per year for use in annualization calculations.

public int GetAnnualizationFactor()

Returns

int

GetAnnualizationFactor(Periodicity)

Returns the number of periods per year for use in annualization calculations.

public static int GetAnnualizationFactor(Periodicity periodicity)

Parameters

periodicity Periodicity

Returns

int

GetHashCode()

Returns a hash code for this instance.

public override int GetHashCode()

Returns

int

ToString()

Returns a string representation of this periodicity.

public override string ToString()

Returns

string

ToTimeSpan()

Returns the Periodicity as a TimeSpan. Only valid for second, minute, hourly or daily units.

public TimeSpan ToTimeSpan()

Returns

TimeSpan

Operators

operator ==(Periodicity, Periodicity)

Returns true if the left periodicity is equal to the right.

public static bool operator ==(Periodicity left, Periodicity right)

Parameters

left Periodicity
right Periodicity

Returns

bool

operator >(Periodicity, Periodicity)

Returns true if the left periodicity is greater than the right.

public static bool operator >(Periodicity left, Periodicity right)

Parameters

left Periodicity
right Periodicity

Returns

bool

operator >=(Periodicity, Periodicity)

Returns true if the left periodicity is greater than or equal to the right.

public static bool operator >=(Periodicity left, Periodicity right)

Parameters

left Periodicity
right Periodicity

Returns

bool

implicit operator BarUnit(Periodicity)

Implicity converts periodicity to BarUnit.

public static implicit operator BarUnit(Periodicity p)

Parameters

p Periodicity

Returns

BarUnit

operator !=(Periodicity, Periodicity)

Returns true if the left periodicity is not equal to the right.

public static bool operator !=(Periodicity left, Periodicity right)

Parameters

left Periodicity
right Periodicity

Returns

bool

operator <(Periodicity, Periodicity)

Returns true if the left periodicity is less than the right.

public static bool operator <(Periodicity left, Periodicity right)

Parameters

left Periodicity
right Periodicity

Returns

bool

operator <=(Periodicity, Periodicity)

Returns true if the left periodicity is less than or equal to the right.

public static bool operator <=(Periodicity left, Periodicity right)

Parameters

left Periodicity
right Periodicity

Returns

bool