コード例 #1
0
        public async Task CalculateReturnsAsync(string stock, DateTime from)
        {
            //Set context
            Beginning = from;
            End       = from.AddYears(1);

            StockPerformanceCalculator calc = new StockPerformanceCalculator();

            Return14 = await calc.CalculateStockPerformanceAsync(stock, from, from.AddDays(14));

            await Task.Delay(500);

            Return30 = await calc.CalculateStockPerformanceAsync(stock, from, from.AddDays(30));

            await Task.Delay(500);

            Return90 = await calc.CalculateStockPerformanceAsync(stock, from, from.AddDays(90));

            await Task.Delay(500);

            Return180 = await calc.CalculateStockPerformanceAsync(stock, from, from.AddDays(180));

            await Task.Delay(500);

            Return360 = await calc.CalculateStockPerformanceAsync(stock, from, from.AddDays(360));
        }
コード例 #2
0
        public async Task CalculateAverageReturnsAsync(string stock, DateTime beginning, DateTime end)
        {
            //Set context
            Beginning = beginning;
            End       = end;

            //Get the performance since that time
            StockPerformanceCalculator calc = new StockPerformanceCalculator();
            float FullReturn = await calc.CalculateStockPerformanceAsync(stock, beginning, end);

            TimeSpan ts   = end - beginning;
            float    days = Convert.ToSingle(ts.Days);

            //Percent
            Return14  = Convert.ToSingle(Math.Pow(1f + FullReturn, Convert.ToSingle(14) / days) - 1);
            Return30  = Convert.ToSingle(Math.Pow(1f + FullReturn, Convert.ToSingle(30) / days) - 1);
            Return90  = Convert.ToSingle(Math.Pow(1f + FullReturn, Convert.ToSingle(90) / days) - 1);
            Return180 = Convert.ToSingle(Math.Pow(1f + FullReturn, Convert.ToSingle(180) / days) - 1);
            Return360 = Convert.ToSingle(Math.Pow(1f + FullReturn, Convert.ToSingle(360) / days) - 1);
        }