Beispiel #1
0
        public double?GetAssetsToLiabilities(CompanyDataPoco dataPoco)
        {
            var extractedValues      = new List <ExtractedValue>();
            var balanceSheets        = dataPoco.BalanceSheets;
            var orderedBalanceSheets = new List <ExtractedBalanceSheet>();

            orderedBalanceSheets = balanceSheets.OrderBy(x => x.Year).ToList();

            var lastYearBalanceSheet = orderedBalanceSheets.LastOrDefault();

            if (lastYearBalanceSheet == null)
            {
                return(null);
            }
            var extractedValue = new ExtractedValue();

            var totalAssets      = (double?)lastYearBalanceSheet.TotalAssets;
            var totalLiabelities = (double?)lastYearBalanceSheet.TotalLiabilities;

            double?assetsToLiabilities = 0;

            if (totalAssets != 0)
            {
                assetsToLiabilities = totalAssets / totalLiabelities;
            }

            var result = extractedValue.Value = assetsToLiabilities;

            extractedValue.Year      = lastYearBalanceSheet.Year;
            extractedValue.CompanyId = lastYearBalanceSheet.CompanyId;

            return(result);
        }
Beispiel #2
0
        public ExtractedValue GetStockPrice(CompanyDataPoco dataPoco)
        {
            var company        = dataPoco.Company;
            var extractedValue = new ExtractedValue();

            extractedValue.Value     = (double)company.StockPrice;
            extractedValue.CompanyId = company.Id;
            extractedValue.Year      = DateTime.Now.Year;

            return(extractedValue);
        }
Beispiel #3
0
        public List <ExtractedValue> GetEPS(CompanyDataPoco dataPoco)
        {
            var extractedValues  = new List <ExtractedValue>();
            var incomeStatements = dataPoco.IncomeStatements;

            foreach (var item in incomeStatements)
            {
                var extractedValue = new ExtractedValue();
                extractedValue.Year      = item.Year;
                extractedValue.Value     = (double?)item.EpsBasic;
                extractedValue.CompanyId = item.CompanyId;
                extractedValues.Add(extractedValue);
            }

            return(extractedValues.OrderBy(x => x.Year).ToList());
        }
Beispiel #4
0
        public List <ExtractedValue> GetRoic(CompanyDataPoco dataPoco)
        {
            var extractedValues = new List <ExtractedValue>();
            var keyRatios       = dataPoco.KeyRatios;

            foreach (var item in keyRatios)
            {
                var extractedValue = new ExtractedValue();
                extractedValue.Year      = item.Year;
                extractedValue.Value     = item.ReturnOnInvestedCapital;
                extractedValue.CompanyId = item.CompanyId;
                extractedValues.Add(extractedValue);
            }

            return(extractedValues.OrderBy(x => x.Year).ToList());
        }
Beispiel #5
0
        public StockAnalysis(CompanyDataPoco dataPoco)
        {
            var financial = new FinancialAnalysis();

            RoicSlopeInfo            = new SlopeInfo(financial.GetRoic(dataPoco));
            RevenueSlopeInfo         = new SlopeInfo(financial.GetRevenue(dataPoco));
            MarketCapSlopeInfo       = new SlopeInfo(financial.GetMarketCap(dataPoco));
            DividendsSlopeInfo       = new SlopeInfo(financial.GetDividends(dataPoco));
            EPSSlopeInfo             = new SlopeInfo(financial.GetEPS(dataPoco));
            EquitySlopeInfo          = new SlopeInfo(financial.GetEquity(dataPoco));
            PriceToEarningsSlopeInfo = new SlopeInfo(financial.GetPriceToEarnings(dataPoco));

            Company              = dataPoco.Company;
            IncomeStatements     = dataPoco.IncomeStatements;
            BalanceSheets        = dataPoco.BalanceSheets;
            KeyRatios            = dataPoco.KeyRatios;
            CashFlowStatements   = dataPoco.CashFlowStatements;
            IncomeStatementTtm   = dataPoco.IncomeStatementTtm;
            CashFlowStatementTtm = dataPoco.CashFlowStatementTtm;

            DebtToEquity        = financial.GetDebtToEquity(dataPoco);
            AssetsToLiabilities = financial.GetAssetsToLiabilities(dataPoco);
            if (financial.GetRoic(dataPoco).LastOrDefault() != null)
            {
                Roic = financial.GetRoic(dataPoco).LastOrDefault().Value;
            }
            if (financial.GetEquity(dataPoco).LastOrDefault() != null)
            {
                Equity = financial.GetEquity(dataPoco).LastOrDefault().Value;
            }
            if (financial.GetEPS(dataPoco).LastOrDefault() != null)
            {
                EPS = financial.GetEPS(dataPoco).LastOrDefault().Value;
            }
            if (financial.GetRevenue(dataPoco).LastOrDefault() != null)
            {
                Revenue = financial.GetRevenue(dataPoco).LastOrDefault().Value;
            }
            if (financial.GetPriceToEarnings(dataPoco).LastOrDefault() != null)
            {
                PERatio = financial.GetPriceToEarnings(dataPoco).LastOrDefault().Value;
            }
            if (financial.GetStockPrice(dataPoco) != null)
            {
                StockPrice = financial.GetStockPrice(dataPoco).Value;
            }
        }
Beispiel #6
0
        public List <ExtractedValue> GetMarketCap(CompanyDataPoco dataPoco)
        {
            var extractedValues = new List <ExtractedValue>();
            var keyRatios       = dataPoco.KeyRatios;

            foreach (var item in keyRatios)
            {
                var extractedValue = new ExtractedValue();

                extractedValue.Year      = item.Year;
                extractedValue.Value     = (double?)item.MarketCapitalization;
                extractedValue.CompanyId = item.CompanyId;
                extractedValues.Add(extractedValue);
            }

            return(extractedValues.OrderBy(x => x.Year).ToList());
        }
Beispiel #7
0
        public List <ExtractedValue> GetEquity(CompanyDataPoco dataPoco)
        {
            var extractedValues = new List <ExtractedValue>();
            var balanceSheets   = dataPoco.BalanceSheets;

            foreach (var item in balanceSheets)
            {
                var extractedValue = new ExtractedValue();

                extractedValue.Year      = item.Year;
                extractedValue.Value     = (double?)(item.TotalAssets - item.TotalLiabilities);
                extractedValue.CompanyId = item.CompanyId;
                extractedValues.Add(extractedValue);
            }

            return(extractedValues.OrderBy(x => x.Year).ToList());
        }
Beispiel #8
0
        public List <ExtractedValue> GetDividends(CompanyDataPoco dataPoco)
        {
            var extractedValues = new List <ExtractedValue>();
            var keyRatios       = dataPoco.KeyRatios;

            foreach (var item in keyRatios)
            {
                var extractedValue = new ExtractedValue();

                extractedValue.Year      = item.Year;
                extractedValue.Value     = item.DividendsPerShare;
                extractedValue.CompanyId = item.CompanyId;
                extractedValues.Add(extractedValue);
            }

            return(extractedValues.OrderBy(x => x.Year).ToList());
        }
Beispiel #9
0
        public List <ExtractedValue> GetPriceToEarnings(CompanyDataPoco dataPoco)
        {
            if (dataPoco.KeyRatios == null)
            {
                return(null);
            }
            var extractedValues = new List <ExtractedValue>();
            var keyRatios       = dataPoco.KeyRatios;

            foreach (var item in keyRatios)
            {
                var extractedValue = new ExtractedValue();

                extractedValue.Year      = item.Year;
                extractedValue.Value     = item.PriceToEarnings;
                extractedValue.CompanyId = item.CompanyId;
                extractedValues.Add(extractedValue);
            }

            return(extractedValues.OrderBy(x => x.Year).ToList());
        }
Beispiel #10
0
        public double?GetDebtToEquity(CompanyDataPoco dataPoco)
        {
            var extractedValues      = new List <ExtractedValue>();
            var balanceSheets        = dataPoco.BalanceSheets;
            var orderedBalanceSheets = new List <ExtractedBalanceSheet>();

            orderedBalanceSheets = balanceSheets.OrderBy(x => x.Year).ToList();

            var lastYearBalanceSheet = orderedBalanceSheets.LastOrDefault();

            if (lastYearBalanceSheet == null)
            {
                return(null);
            }

            var extractedValue = new ExtractedValue();

            var totalLiabilities   = lastYearBalanceSheet.TotalLiabilities;
            var shareholdersEquity = lastYearBalanceSheet.ShareholdersEquity;

            if (totalLiabilities == null || shareholdersEquity == null)
            {
                return(null);
            }

            decimal?debtToEquity = 0;

            if (shareholdersEquity != 0)
            {
                debtToEquity = totalLiabilities / shareholdersEquity;
            }

            var result = extractedValue.Value = (double?)debtToEquity;

            extractedValue.CompanyId = lastYearBalanceSheet.Id;
            extractedValue.Year      = lastYearBalanceSheet.Year;

            return(result);
        }
 public CompanyDetailsController()
 {
     this.dataPoco = new CompanyDataPoco();
     this.analysis = new AnalysisBusinessObject();
 }