private TimeSeries GetEqualSeries(TimeSeries values1, TimeSeries values2) { TimeSeries timeSeries = new TimeSeries(); for (int index = 0; index < values2.Count; ++index) { DateTime dateTime = values1.GetDateTime(index); if (values2.Contains(dateTime)) timeSeries.Add(dateTime, values1[index]); } return timeSeries; }
public double GetCovariance(TimeSeries series) { if (series == null) { throw new ArgumentException("Argument series should be of TimeSeries type"); } double num = this.GetMean(); double num2 = series.GetMean(); double num3 = 0.0; double num4 = 0.0; for (int i = 0; i < this.Count; i++) { DateTime dateTime = this.GetDateTime(i); if (series.Contains(dateTime)) { num4 += (this[i] - num) * (series[dateTime, SearchOption.Exact] - num2); num3 += 1.0; } } if (num3 <= 1.0) { return 0.0; } return num4 / (num3 - 1.0); }