private Dictionary <DateTime, double> GetTimeSeries(VariablePair vp) { Dictionary <DateTime, double> series; IDataQuerier q = mCustomTickerHistoryDataQuerier.HasTicker(vp.ticker) ? mCustomTickerHistoryDataQuerier : mReferenceDataQuerier; switch (vp.seriesType) { case SeriesType.Price: series = q.GetClosePriceSeries(mMraParams.fromDt, mMraParams.toDt, vp.ticker); break; case SeriesType.NavTr: { series = q.GetNavPriceSeries(mMraParams.fromDt, mMraParams.toDt, vp.ticker); Dictionary <DateTime, double> divSeries = q.GetEtfDividendSeries(mMraParams.fromDt, mMraParams.toDt, vp.ticker); AddCumulativeDivsToTimeSeries(series, divSeries); break; } case SeriesType.PriceTr: { series = q.GetClosePriceSeries(mMraParams.fromDt, mMraParams.toDt, vp.ticker); Dictionary <DateTime, double> divSeries = q.GetStockDividendSeries(mMraParams.fromDt, mMraParams.toDt, vp.ticker); AddCumulativeDivsToTimeSeries(series, divSeries); break; } default: throw new Exception("Unexpected Series Type: " + vp.seriesType + " ticker: " + vp.ticker); } if (series == null || series.Count <= 0) { throw new Exception("No data retrieved for series Type: " + vp.seriesType + " ticker: " + vp.ticker); } return(series); }
public AnalysisEngine(MraParams p, IDataQuerier q, CustomTickerHistoryDataQuerier c) { this.mMraParams = p; this.mReferenceDataQuerier = q; this.mCustomTickerHistoryDataQuerier = c; }