Exemplo n.º 1
0
        public List <PointData> GetAdjustedSymbolTradekData(int symbolId)
        {
            IDataLoader dataLoader = Bootstrapper.container.GetInstance <IDataLoader>();
            //get stock trade data
            List <PointData> listPointData = dataLoader.GetSymbolTradeData(symbolId);
            //get stock dividend data
            List <Dividend> dividends = dataLoader.GetDividend(symbolId);

            //get stock capital increase data
            //compute adjusted data
            foreach (Dividend d in dividends)
            {
                double dividendFactor = 0;
                //find final price at dividend date and calculate dividend factor
                List <PointData> pointDataAfterDividendDate = listPointData.Where(p => p.Date > d.Date).ToList <PointData>();
                pointDataAfterDividendDate.Sort((a, b) => a.Date.CompareTo(b.Date));
                dividendFactor = d.Value / pointDataAfterDividendDate.FirstOrDefault().Final;

                foreach (PointData pointData in listPointData)
                {
                    if (d.Date < pointData.Date)
                    {
                        pointData.Final *= (1 + dividendFactor);
                    }
                }
            }
            return(listPointData);
        }
Exemplo n.º 2
0
        public double MaxPrice(int symbolId, int numberOfDays)
        {
            double           result     = 0;
            IDataLoader      dataLoader = Bootstrapper.container.GetInstance <IDataLoader>();
            List <PointData> stockData  = dataLoader.GetSymbolTradeData(symbolId);

            if (stockData.Count == 0)
            {
                return(result);
            }
            stockData.Sort((p1, p2) => p2.Date.CompareTo(p1.Date));
            for (int i = 0; i < stockData.Count && i < numberOfDays; i++)
            {
                double tempMax = stockData[i].Max;
                if (tempMax > result)
                {
                    result = tempMax;
                }
            }

            return(result);
        }
Exemplo n.º 3
0
        public List <PointData> GetSymbolTradeData(int symbolId)
        {
            IDataLoader dataLoader = Bootstrapper.container.GetInstance <IDataLoader>();

            return(dataLoader.GetSymbolTradeData(symbolId));
        }