Class TimeSeries
- Namespace
- Balsam
- Assembly
- Balsam.Backtester.dll
Encapsulates a series of paired date/double observations.
[ProtoContract(IgnoreListHandling = true)]
public class TimeSeries : SeriesBase<double>, ISeries, IEnumerable<double>, IEnumerable, ICloneable
- Inheritance
-
TimeSeries
- Implements
- Derived
- Inherited Members
- Extension Methods
Constructors
TimeSeries()
Initializes an empty timeseries.
public TimeSeries()
TimeSeries(IEnumerable<DateTime>)
Initializes a new timeseries using the specified dates.
public TimeSeries(IEnumerable<DateTime> dates)
Parameters
dates
IEnumerable<DateTime>
TimeSeries(IEnumerable<DateTime>, IEnumerable<double>)
Initializes a new timeseries using the specified dates and values.
public TimeSeries(IEnumerable<DateTime> dates, IEnumerable<double> values)
Parameters
dates
IEnumerable<DateTime>values
IEnumerable<double>
TimeSeries(IEnumerable<DateTime>, double)
Initializes a new timeseries using the specified dates and value.
public TimeSeries(IEnumerable<DateTime> dates, double value)
Parameters
dates
IEnumerable<DateTime>value
double
TimeSeries(int)
Initializes a new timeseries using the specified capacity.
public TimeSeries(int capacity)
Parameters
capacity
int
Methods
Clone()
Returns a copy of this TimeSeries.
public TimeSeries Clone()
Returns
Compare(TimeSeries, TimeSeries, ComparisonOperator)
Returns a BooleanSeries comparing the left timeseries to the right using the specified comparison operator.
public static BooleanSeries Compare(TimeSeries left, TimeSeries right, ComparisonOperator op)
Parameters
left
TimeSeriesright
TimeSeriesop
ComparisonOperator
Returns
Exceptions
Compare(TimeSeries, double, ComparisonOperator)
Returns a BooleanSeries comparing the left timeseries to a double value using the specified comparison operator.
public static BooleanSeries Compare(TimeSeries series, double value, ComparisonOperator op)
Parameters
series
TimeSeriesvalue
doubleop
ComparisonOperator
Returns
Compare(double, TimeSeries, ComparisonOperator)
Returns a BooleanSeries comparing the double value to the specified timeseries using the specified comparison operator.
public static BooleanSeries Compare(double value, TimeSeries series, ComparisonOperator op)
Parameters
value
doubleseries
TimeSeriesop
ComparisonOperator
Returns
Compress(ICompressionProvider)
Returns a compressed TimeSeries using the specified compression provider.
public TimeSeries Compress(ICompressionProvider compressor)
Parameters
compressor
ICompressionProvider
Returns
Compress(ICompressionProvider, CompressionOperator)
Returns a compressed TimeSeries using the specified compression provider and compression operation.
public TimeSeries Compress(ICompressionProvider compressor, CompressionOperator operation)
Parameters
compressor
ICompressionProvideroperation
CompressionOperator
Returns
ContainsImaginaryNumbers()
Returns true if the TimeSeries contains any +/- Infinity or NaN values.
public bool ContainsImaginaryNumbers()
Returns
Equals(TimeSeries)
Returns true when the specified timeseries is identical to the current one (all dates and values are equal).
public bool Equals(TimeSeries series)
Parameters
series
TimeSeries
Returns
Equals(TimeSeries, TimeSeries)
Returns true when the specified timeseries are identical (all dates and values are equal).
public static bool Equals(TimeSeries left, TimeSeries right)
Parameters
left
TimeSeriesright
TimeSeries
Returns
Load(string)
Loads a timeseries from a text file.
public static TimeSeries Load(string file)
Parameters
file
string
Returns
Load(string, char, bool)
Loads a timeseries from a text file using the specified delimiter.
public static TimeSeries Load(string file, char delimiter, bool includeNaNs = false)
Parameters
Returns
RemoveImaginaryNumbers()
Removes all NaN, +Infinity, or -Infinity values from this TimeSeries.
public void RemoveImaginaryNumbers()
ReplaceImaginaryNumbers(double)
Converts all NaN or +/-Infinity values to 0 or a specified value.
public void ReplaceImaginaryNumbers(double replacementValue = 0)
Parameters
replacementValue
double
Subset(DateTime)
Returns a new TimeSeries starting at the specified date.
public TimeSeries Subset(DateTime startDate)
Parameters
startDate
DateTime
Returns
Subset(DateTime, DateTime)
Returns a subset of this TimeSeries inclusive of the specified start and end dates.
public TimeSeries Subset(DateTime startDate, DateTime endDate)
Parameters
Returns
Subset(int, int)
Returns a subset of this TimeSeries starting at the specified index.
public TimeSeries Subset(int index, int count)
Parameters
index
intThe starting index.
count
intThe number of observations to return. Automatically adjusted to prevent out-of-bounds errors.
Returns
Sync(ISeries)
Returns a new TimeSeries with dates synced to the specified series.
public TimeSeries Sync(ISeries series)
Parameters
series
ISeriesThe series to sync to.
Returns
Sync(ISeries, SyncOption)
Returns a new TimeSeries with dates synced to the specified series.
public TimeSeries Sync(ISeries series, SyncOption option)
Parameters
series
ISeriesThe series to sync to.
option
SyncOptionControls whether sync carries over the prior value or uses a zero for missing dates.
Returns
Sync(IEnumerable<DateTime>)
Returns a new TimeSeries synced to the specified enumerable of dates.
public TimeSeries Sync(IEnumerable<DateTime> syncDates)
Parameters
syncDates
IEnumerable<DateTime>
Returns
Sync(IEnumerable<DateTime>, SyncOption)
Returns a new TimeSeries synced to the specified enumerable of dates.
public TimeSeries Sync(IEnumerable<DateTime> syncDates, SyncOption option)
Parameters
syncDates
IEnumerable<DateTime>option
SyncOption
Returns
Operators
operator +(TimeSeries, TimeSeries)
Adds two timeseries.
public static TimeSeries operator +(TimeSeries left, TimeSeries right)
Parameters
left
TimeSeriesright
TimeSeries
Returns
operator +(TimeSeries, double)
Adds a timeseries and a double value.
public static TimeSeries operator +(TimeSeries left, double right)
Parameters
left
TimeSeriesright
double
Returns
operator +(double, TimeSeries)
Adds a double value and a timeseries.
public static TimeSeries operator +(double left, TimeSeries right)
Parameters
left
doubleright
TimeSeries
Returns
operator /(TimeSeries, TimeSeries)
Divides one timeseries by another.
public static TimeSeries operator /(TimeSeries numerator, TimeSeries denominator)
Parameters
numerator
TimeSeriesdenominator
TimeSeries
Returns
operator /(TimeSeries, double)
Divides a timeseries by a value.
public static TimeSeries operator /(TimeSeries numerator, double denominator)
Parameters
numerator
TimeSeriesdenominator
double
Returns
operator /(double, TimeSeries)
Divides a value by a timeseries.
public static TimeSeries operator /(double numerator, TimeSeries denominator)
Parameters
numerator
doubledenominator
TimeSeries
Returns
operator >(TimeSeries, TimeSeries)
Returns true when the value of the left is greater than the right.
public static BooleanSeries operator >(TimeSeries left, TimeSeries right)
Parameters
left
TimeSeriesright
TimeSeries
Returns
operator >(TimeSeries, double)
Returns true when the value of the left is greater than the right.
public static BooleanSeries operator >(TimeSeries left, double right)
Parameters
left
TimeSeriesright
double
Returns
operator >(double, TimeSeries)
Returns true when the value of the left is greater than the right.
public static BooleanSeries operator >(double left, TimeSeries right)
Parameters
left
doubleright
TimeSeries
Returns
operator >=(TimeSeries, TimeSeries)
Returns true when the value of the left is greater than or equal to the right.
public static BooleanSeries operator >=(TimeSeries left, TimeSeries right)
Parameters
left
TimeSeriesright
TimeSeries
Returns
operator >=(TimeSeries, double)
Returns true when the value of the left is greater than or equal to the right.
public static BooleanSeries operator >=(TimeSeries left, double right)
Parameters
left
TimeSeriesright
double
Returns
operator >=(double, TimeSeries)
Returns true when the value of the left is greater than or equal to the right.
public static BooleanSeries operator >=(double left, TimeSeries right)
Parameters
left
doubleright
TimeSeries
Returns
implicit operator TimeSeries(BooleanSeries)
Converts a BooleanSeries to a TimeSeries containing 1 for true and 0 for false.
public static implicit operator TimeSeries(BooleanSeries series)
Parameters
series
BooleanSeries
Returns
implicit operator TimeSeries(IntegerSeries)
Converts an integer series to a timeseries.
public static implicit operator TimeSeries(IntegerSeries series)
Parameters
series
IntegerSeries
Returns
operator <(TimeSeries, TimeSeries)
Returns true when the value of the left is less than the right.
public static BooleanSeries operator <(TimeSeries left, TimeSeries right)
Parameters
left
TimeSeriesright
TimeSeries
Returns
operator <(TimeSeries, double)
Returns true when the value of the left is less than the right.
public static BooleanSeries operator <(TimeSeries left, double right)
Parameters
left
TimeSeriesright
double
Returns
operator <(double, TimeSeries)
Returns true when the value of the left is less than the right.
public static BooleanSeries operator <(double left, TimeSeries right)
Parameters
left
doubleright
TimeSeries
Returns
operator <=(TimeSeries, TimeSeries)
Returns true when the value of the left is less than or equal to the right.
public static BooleanSeries operator <=(TimeSeries left, TimeSeries right)
Parameters
left
TimeSeriesright
TimeSeries
Returns
operator <=(TimeSeries, double)
Returns true when the value of the left is less than or equal to the right.
public static BooleanSeries operator <=(TimeSeries left, double right)
Parameters
left
TimeSeriesright
double
Returns
operator <=(double, TimeSeries)
Returns true when the value of the left is less than or equal to the right.
public static BooleanSeries operator <=(double left, TimeSeries right)
Parameters
left
doubleright
TimeSeries
Returns
operator *(TimeSeries, TimeSeries)
Multiplies the left timeseries by the right.
public static TimeSeries operator *(TimeSeries left, TimeSeries right)
Parameters
left
TimeSeriesright
TimeSeries
Returns
operator *(TimeSeries, double)
Multiplies the left timeseries by a value.
public static TimeSeries operator *(TimeSeries left, double right)
Parameters
left
TimeSeriesright
double
Returns
operator *(double, TimeSeries)
Multiplies the right timeseries by a value.
public static TimeSeries operator *(double left, TimeSeries right)
Parameters
left
doubleright
TimeSeries
Returns
operator -(TimeSeries, TimeSeries)
Subtracts the right timeseries from the left timeseries.
public static TimeSeries operator -(TimeSeries left, TimeSeries right)
Parameters
left
TimeSeriesright
TimeSeries
Returns
operator -(TimeSeries, double)
Subtracts a value from a timeseries.
public static TimeSeries operator -(TimeSeries left, double right)
Parameters
left
TimeSeriesright
double
Returns
operator -(double, TimeSeries)
Subtracts a timeseries from a value.
public static TimeSeries operator -(double left, TimeSeries right)
Parameters
left
doubleright
TimeSeries
Returns
operator -(TimeSeries)
Negates a timeseries.
public static TimeSeries operator -(TimeSeries series)
Parameters
series
TimeSeries