public static Portfolio GenerateDefaultPortfolio() { Security goog = new Security {Symbol = "goog"}; Security msft = new Security {Symbol = "msft"}; Security aapl = new Security {Symbol = "aapl"}; Portfolio portfolio = new Portfolio { Name = "po' boy" }; Account mandingo = new Account { Name = "mandingo", Portfolio = portfolio }; AddPosition(mandingo, goog, 100M, 12.34M); AddPosition(mandingo, aapl, 200M, 23.45M); portfolio.Accounts.Add(mandingo); Account took = new Account { Name = "took", Portfolio = portfolio }; AddPosition(took, msft, 100M, 34.56M); portfolio.Accounts.Add(took); return portfolio; }
public static Portfolio GenerateEmptyPortfolio() { Portfolio portfolio = new Portfolio { Name = "po' boy" }; Account mandingo = new Account { Name = "mandingo", Portfolio = portfolio }; portfolio.Accounts.Add(mandingo); Account took = new Account { Name = "took", Portfolio = portfolio }; portfolio.Accounts.Add(took); return portfolio; }
public static Portfolio GenerateFundbotPortfolio() { Security xfn = new Security { Symbol = "XFN.TO" }; Security agg = new Security { Symbol = "AGG" }; Security xiu = new Security { Symbol = "XIU.TO" }; Security cpd = new Security { Symbol = "CPD.TO" }; Security efa = new Security { Symbol = "EFA" }; Portfolio portfolio = new Portfolio { Name = Guid.NewGuid().ToString() }; Account account = new Account { Name = portfolio.Name, Portfolio = portfolio }; portfolio.Accounts.Add(account); AddPosition(account, xfn, 100M, 29.97M); AddPosition(account, agg, 27M, 1000.69M); AddPosition(account, xiu, 100M, 21.1M); AddPosition(account, cpd, 500M, 16.55M); AddPosition(account, efa, 100M, 68.24M); return portfolio; }
private static void AddPosition(Account account, Security security, decimal shares, decimal price) { account.Positions.Add(new Position { Account = account, Shares = shares, Security = security }); account.Transactions.Add(new Transaction { Account = account, Date = DateTime.UtcNow, Price = price, Security = security, Shares = shares, Type = TransactionType.Buy }); }