public PortfolioData GetPortfolioData(string portfolioName, List <Trade> allTrades)
        {
            List <string> distinctTickers = allTrades.Select(t => t.Ticker).Distinct().ToList();

            PortfolioData userPortfolio = new PortfolioData(portfolioName);

            foreach (string ticker in distinctTickers)
            {
                PositionFormulas position = new PositionFormulas(ticker);
                foreach (Trade trade in allTrades)
                {
                    if (trade.Ticker == ticker)
                    {
                        position.AddTransaction(trade);
                    }
                }
                List <SecurityPrices> marketPrices      = _repo.GetSecurityPrices(ticker);
                DataFrame             marketPricesFrame = CreatePriceTable(marketPrices);

                position.CalculateDailyValuation(marketPricesFrame);
                userPortfolio.AddPositon(position);
            }
            return(userPortfolio);
        }