public Portfolio(IEnvironment environment, PortfolioSetup portfolioSetup, Strategy strategy) { Environment = environment ?? throw new ArgumentNullException(nameof(environment)); PortfolioSetup = portfolioSetup ?? throw new ArgumentNullException(nameof(portfolioSetup)); Strategy = strategy ?? throw new ArgumentNullException(nameof(strategy)); Positions = new List <Position>(); PendingTrades = new List <Trade>(); // Set initial value in PriorSMA for portfolio inception date PriorSmaValues.Add(Calendar.PriorTradingDay(portfolioSetup.InceptionDate), portfolioSetup.InitialCashBalance); }
public void SetInceptionDate(DateTime date) { PriorSmaValues.Clear(); }