Exemple #1
0
        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);
        }
Exemple #2
0
 public AnalysisEngine(MraParams p, IDataQuerier q, CustomTickerHistoryDataQuerier c)
 {
     this.mMraParams                      = p;
     this.mReferenceDataQuerier           = q;
     this.mCustomTickerHistoryDataQuerier = c;
 }