示例#1
0
        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);
        }
示例#2
0
 public void SetInceptionDate(DateTime date)
 {
     PriorSmaValues.Clear();
 }