Exemple #1
0
        public void CompoundDailyReturnsForStrategy1()
        {
            List <CompoundDailyReturn> compoundDailyReturns = _capitalService.GetCompoundDailyReturnsForStrategy("Strategy1");

            List <CompoundDailyReturn> expectedCompoundDailyReturns = new List <CompoundDailyReturn> {
                new CompoundDailyReturn {
                    Strategy = "Strategy1", Date = DateTime.Parse("2017-01-01"), CompoundReturn = 0.05M
                },
                new CompoundDailyReturn {
                    Strategy = "Strategy1", Date = DateTime.Parse("2017-01-02"), CompoundReturn = 0.11M
                },
                new CompoundDailyReturn {
                    Strategy = "Strategy1", Date = DateTime.Parse("2017-01-03"), CompoundReturn = 0.09M
                },
                new CompoundDailyReturn {
                    Strategy = "Strategy1", Date = DateTime.Parse("2017-01-04"), CompoundReturn = 0.19M
                },
                new CompoundDailyReturn {
                    Strategy = "Strategy1", Date = DateTime.Parse("2017-01-07"), CompoundReturn = 0.215M
                },
                new CompoundDailyReturn {
                    Strategy = "Strategy1", Date = DateTime.Parse("2017-01-08"), CompoundReturn = 0.225M
                },
                new CompoundDailyReturn {
                    Strategy = "Strategy1", Date = DateTime.Parse("2017-02-02"), CompoundReturn = 0.25869M
                },
                new CompoundDailyReturn {
                    Strategy = "Strategy1", Date = DateTime.Parse("2017-03-10"), CompoundReturn = 0.28386M
                }
            };

            CollectionAssert.AreEquivalent(expectedCompoundDailyReturns, compoundDailyReturns);
        }
Exemple #2
0
        public IActionResult GetCompoundDailyReturns(string strategy)
        {
            if (string.IsNullOrWhiteSpace(strategy))
            {
                Logger.Error("Invalid request: Strategy was not provided");
                return(BadRequest("Strategy was not provided"));
            }

            var resultingCompoundDailyReturns = _capitalService.GetCompoundDailyReturnsForStrategy(strategy)
                                                .Select(compoundDailyReturns => new
            {
                strategy       = compoundDailyReturns.Strategy,
                date           = compoundDailyReturns.Date.ToString("yyyy-MM-dd"),
                compoundReturn = compoundDailyReturns.CompoundReturn
            });

            return(Ok(resultingCompoundDailyReturns));
        }