Example #1
0
 /// <summary>
 /// Creates an instance of the OperationRatios class
 /// </summary>
 public OperationRatios()
 {
     RevenueGrowth          = new RevenueGrowth();
     OperationIncomeGrowth  = new OperationIncomeGrowth();
     NetIncomeGrowth        = new NetIncomeGrowth();
     NetIncomeContOpsGrowth = new NetIncomeContOpsGrowth();
     CFOGrowth = new CFOGrowth();
     FCFGrowth = new FCFGrowth();
     OperationRevenueGrowth3MonthAvg = new OperationRevenueGrowth3MonthAvg();
     GrossMargin      = new GrossMargin();
     OperationMargin  = new OperationMargin();
     PretaxMargin     = new PretaxMargin();
     NetMargin        = new NetMargin();
     TaxRate          = new TaxRate();
     EBITMargin       = new EBITMargin();
     EBITDAMargin     = new EBITDAMargin();
     SalesPerEmployee = new SalesPerEmployee();
     CurrentRatio     = new CurrentRatio();
     QuickRatio       = new QuickRatio();
     LongTermDebtTotalCapitalRatio = new LongTermDebtTotalCapitalRatio();
     InterestCoverage          = new InterestCoverage();
     LongTermDebtEquityRatio   = new LongTermDebtEquityRatio();
     FinancialLeverage         = new FinancialLeverage();
     TotalDebtEquityRatio      = new TotalDebtEquityRatio();
     NormalizedNetProfitMargin = new NormalizedNetProfitMargin();
     DaysInSales         = new DaysInSales();
     DaysInInventory     = new DaysInInventory();
     DaysInPayment       = new DaysInPayment();
     CashConversionCycle = new CashConversionCycle();
     ReceivableTurnover  = new ReceivableTurnover();
     InventoryTurnover   = new InventoryTurnover();
     PaymentTurnover     = new PaymentTurnover();
     FixAssetsTuronver   = new FixAssetsTuronver();
     AssetsTurnover      = new AssetsTurnover();
     ROE                  = new ROE();
     ROA                  = new ROA();
     ROIC                 = new ROIC();
     FCFSalesRatio        = new FCFSalesRatio();
     FCFNetIncomeRatio    = new FCFNetIncomeRatio();
     CapExSalesRatio      = new CapExSalesRatio();
     DebttoAssets         = new DebttoAssets();
     CommonEquityToAssets = new CommonEquityToAssets();
     CapitalExpenditureAnnual5YrGrowth = new CapitalExpenditureAnnual5YrGrowth();
     GrossProfitAnnual5YrGrowth        = new GrossProfitAnnual5YrGrowth();
     GrossMargin5YrAvg   = new GrossMargin5YrAvg();
     PostTaxMargin5YrAvg = new PostTaxMargin5YrAvg();
     PreTaxMargin5YrAvg  = new PreTaxMargin5YrAvg();
     ProfitMargin5YrAvg  = new ProfitMargin5YrAvg();
     ROE5YrAvg           = new ROE5YrAvg();
     ROA5YrAvg           = new ROA5YrAvg();
     AVG5YrsROIC         = new AVG5YrsROIC();
     NormalizedROIC      = new NormalizedROIC();
     RegressionGrowthOperatingRevenue5Years = new RegressionGrowthOperatingRevenue5Years();
 }
Example #2
0
 /// <summary>
 /// Sets values for non existing periods from a previous instance
 /// </summary>
 /// <remarks>Used to fill-forward values from previous dates</remarks>
 /// <param name="previous">The previous instance</param>
 public void UpdateValues(OperationRatios previous)
 {
     RevenueGrowth.UpdateValues(previous.RevenueGrowth);
     OperationIncomeGrowth.UpdateValues(previous.OperationIncomeGrowth);
     NetIncomeGrowth.UpdateValues(previous.NetIncomeGrowth);
     NetIncomeContOpsGrowth.UpdateValues(previous.NetIncomeContOpsGrowth);
     CFOGrowth.UpdateValues(previous.CFOGrowth);
     FCFGrowth.UpdateValues(previous.FCFGrowth);
     OperationRevenueGrowth3MonthAvg.UpdateValues(previous.OperationRevenueGrowth3MonthAvg);
     GrossMargin.UpdateValues(previous.GrossMargin);
     OperationMargin.UpdateValues(previous.OperationMargin);
     PretaxMargin.UpdateValues(previous.PretaxMargin);
     NetMargin.UpdateValues(previous.NetMargin);
     TaxRate.UpdateValues(previous.TaxRate);
     EBITMargin.UpdateValues(previous.EBITMargin);
     EBITDAMargin.UpdateValues(previous.EBITDAMargin);
     SalesPerEmployee.UpdateValues(previous.SalesPerEmployee);
     CurrentRatio.UpdateValues(previous.CurrentRatio);
     QuickRatio.UpdateValues(previous.QuickRatio);
     LongTermDebtTotalCapitalRatio.UpdateValues(previous.LongTermDebtTotalCapitalRatio);
     InterestCoverage.UpdateValues(previous.InterestCoverage);
     LongTermDebtEquityRatio.UpdateValues(previous.LongTermDebtEquityRatio);
     FinancialLeverage.UpdateValues(previous.FinancialLeverage);
     TotalDebtEquityRatio.UpdateValues(previous.TotalDebtEquityRatio);
     NormalizedNetProfitMargin.UpdateValues(previous.NormalizedNetProfitMargin);
     DaysInSales.UpdateValues(previous.DaysInSales);
     DaysInInventory.UpdateValues(previous.DaysInInventory);
     DaysInPayment.UpdateValues(previous.DaysInPayment);
     CashConversionCycle.UpdateValues(previous.CashConversionCycle);
     ReceivableTurnover.UpdateValues(previous.ReceivableTurnover);
     InventoryTurnover.UpdateValues(previous.InventoryTurnover);
     PaymentTurnover.UpdateValues(previous.PaymentTurnover);
     FixAssetsTuronver.UpdateValues(previous.FixAssetsTuronver);
     AssetsTurnover.UpdateValues(previous.AssetsTurnover);
     ROE.UpdateValues(previous.ROE);
     ROA.UpdateValues(previous.ROA);
     ROIC.UpdateValues(previous.ROIC);
     FCFSalesRatio.UpdateValues(previous.FCFSalesRatio);
     FCFNetIncomeRatio.UpdateValues(previous.FCFNetIncomeRatio);
     CapExSalesRatio.UpdateValues(previous.CapExSalesRatio);
     DebttoAssets.UpdateValues(previous.DebttoAssets);
     CommonEquityToAssets.UpdateValues(previous.CommonEquityToAssets);
     CapitalExpenditureAnnual5YrGrowth.UpdateValues(previous.CapitalExpenditureAnnual5YrGrowth);
     GrossProfitAnnual5YrGrowth.UpdateValues(previous.GrossProfitAnnual5YrGrowth);
     GrossMargin5YrAvg.UpdateValues(previous.GrossMargin5YrAvg);
     PostTaxMargin5YrAvg.UpdateValues(previous.PostTaxMargin5YrAvg);
     PreTaxMargin5YrAvg.UpdateValues(previous.PreTaxMargin5YrAvg);
     ProfitMargin5YrAvg.UpdateValues(previous.ProfitMargin5YrAvg);
     ROE5YrAvg.UpdateValues(previous.ROE5YrAvg);
     ROA5YrAvg.UpdateValues(previous.ROA5YrAvg);
     AVG5YrsROIC.UpdateValues(previous.AVG5YrsROIC);
     NormalizedROIC.UpdateValues(previous.NormalizedROIC);
     RegressionGrowthOperatingRevenue5Years.UpdateValues(previous.RegressionGrowthOperatingRevenue5Years);
 }
Example #3
0
        /// <summary>
        /// Sets values for non existing periods from a previous instance
        /// </summary>
        /// <remarks>Used to fill-forward values from previous dates</remarks>
        /// <param name="previous">The previous instance</param>
        public void UpdateValues(OperationRatios previous)
        {
            if (previous == null)
            {
                return;
            }

            if (RevenueGrowth != null)
            {
                RevenueGrowth.UpdateValues(previous.RevenueGrowth);
            }
            if (OperationIncomeGrowth != null)
            {
                OperationIncomeGrowth.UpdateValues(previous.OperationIncomeGrowth);
            }
            if (NetIncomeGrowth != null)
            {
                NetIncomeGrowth.UpdateValues(previous.NetIncomeGrowth);
            }
            if (NetIncomeContOpsGrowth != null)
            {
                NetIncomeContOpsGrowth.UpdateValues(previous.NetIncomeContOpsGrowth);
            }
            if (CFOGrowth != null)
            {
                CFOGrowth.UpdateValues(previous.CFOGrowth);
            }
            if (FCFGrowth != null)
            {
                FCFGrowth.UpdateValues(previous.FCFGrowth);
            }
            if (OperationRevenueGrowth3MonthAvg != null)
            {
                OperationRevenueGrowth3MonthAvg.UpdateValues(previous.OperationRevenueGrowth3MonthAvg);
            }
            if (GrossMargin != null)
            {
                GrossMargin.UpdateValues(previous.GrossMargin);
            }
            if (OperationMargin != null)
            {
                OperationMargin.UpdateValues(previous.OperationMargin);
            }
            if (PretaxMargin != null)
            {
                PretaxMargin.UpdateValues(previous.PretaxMargin);
            }
            if (NetMargin != null)
            {
                NetMargin.UpdateValues(previous.NetMargin);
            }
            if (TaxRate != null)
            {
                TaxRate.UpdateValues(previous.TaxRate);
            }
            if (EBITMargin != null)
            {
                EBITMargin.UpdateValues(previous.EBITMargin);
            }
            if (EBITDAMargin != null)
            {
                EBITDAMargin.UpdateValues(previous.EBITDAMargin);
            }
            if (SalesPerEmployee != null)
            {
                SalesPerEmployee.UpdateValues(previous.SalesPerEmployee);
            }
            if (CurrentRatio != null)
            {
                CurrentRatio.UpdateValues(previous.CurrentRatio);
            }
            if (QuickRatio != null)
            {
                QuickRatio.UpdateValues(previous.QuickRatio);
            }
            if (LongTermDebtTotalCapitalRatio != null)
            {
                LongTermDebtTotalCapitalRatio.UpdateValues(previous.LongTermDebtTotalCapitalRatio);
            }
            if (InterestCoverage != null)
            {
                InterestCoverage.UpdateValues(previous.InterestCoverage);
            }
            if (LongTermDebtEquityRatio != null)
            {
                LongTermDebtEquityRatio.UpdateValues(previous.LongTermDebtEquityRatio);
            }
            if (FinancialLeverage != null)
            {
                FinancialLeverage.UpdateValues(previous.FinancialLeverage);
            }
            if (TotalDebtEquityRatio != null)
            {
                TotalDebtEquityRatio.UpdateValues(previous.TotalDebtEquityRatio);
            }
            if (NormalizedNetProfitMargin != null)
            {
                NormalizedNetProfitMargin.UpdateValues(previous.NormalizedNetProfitMargin);
            }
            if (DaysInSales != null)
            {
                DaysInSales.UpdateValues(previous.DaysInSales);
            }
            if (DaysInInventory != null)
            {
                DaysInInventory.UpdateValues(previous.DaysInInventory);
            }
            if (DaysInPayment != null)
            {
                DaysInPayment.UpdateValues(previous.DaysInPayment);
            }
            if (CashConversionCycle != null)
            {
                CashConversionCycle.UpdateValues(previous.CashConversionCycle);
            }
            if (ReceivableTurnover != null)
            {
                ReceivableTurnover.UpdateValues(previous.ReceivableTurnover);
            }
            if (InventoryTurnover != null)
            {
                InventoryTurnover.UpdateValues(previous.InventoryTurnover);
            }
            if (PaymentTurnover != null)
            {
                PaymentTurnover.UpdateValues(previous.PaymentTurnover);
            }
            if (FixAssetsTuronver != null)
            {
                FixAssetsTuronver.UpdateValues(previous.FixAssetsTuronver);
            }
            if (AssetsTurnover != null)
            {
                AssetsTurnover.UpdateValues(previous.AssetsTurnover);
            }
            if (ROE != null)
            {
                ROE.UpdateValues(previous.ROE);
            }
            if (ROA != null)
            {
                ROA.UpdateValues(previous.ROA);
            }
            if (ROIC != null)
            {
                ROIC.UpdateValues(previous.ROIC);
            }
            if (FCFSalesRatio != null)
            {
                FCFSalesRatio.UpdateValues(previous.FCFSalesRatio);
            }
            if (FCFNetIncomeRatio != null)
            {
                FCFNetIncomeRatio.UpdateValues(previous.FCFNetIncomeRatio);
            }
            if (CapExSalesRatio != null)
            {
                CapExSalesRatio.UpdateValues(previous.CapExSalesRatio);
            }
            if (DebttoAssets != null)
            {
                DebttoAssets.UpdateValues(previous.DebttoAssets);
            }
            if (CommonEquityToAssets != null)
            {
                CommonEquityToAssets.UpdateValues(previous.CommonEquityToAssets);
            }
            if (CapitalExpenditureAnnual5YrGrowth != null)
            {
                CapitalExpenditureAnnual5YrGrowth.UpdateValues(previous.CapitalExpenditureAnnual5YrGrowth);
            }
            if (GrossProfitAnnual5YrGrowth != null)
            {
                GrossProfitAnnual5YrGrowth.UpdateValues(previous.GrossProfitAnnual5YrGrowth);
            }
            if (GrossMargin5YrAvg != null)
            {
                GrossMargin5YrAvg.UpdateValues(previous.GrossMargin5YrAvg);
            }
            if (PostTaxMargin5YrAvg != null)
            {
                PostTaxMargin5YrAvg.UpdateValues(previous.PostTaxMargin5YrAvg);
            }
            if (PreTaxMargin5YrAvg != null)
            {
                PreTaxMargin5YrAvg.UpdateValues(previous.PreTaxMargin5YrAvg);
            }
            if (ProfitMargin5YrAvg != null)
            {
                ProfitMargin5YrAvg.UpdateValues(previous.ProfitMargin5YrAvg);
            }
            if (ROE5YrAvg != null)
            {
                ROE5YrAvg.UpdateValues(previous.ROE5YrAvg);
            }
            if (ROA5YrAvg != null)
            {
                ROA5YrAvg.UpdateValues(previous.ROA5YrAvg);
            }
            if (AVG5YrsROIC != null)
            {
                AVG5YrsROIC.UpdateValues(previous.AVG5YrsROIC);
            }
            if (NormalizedROIC != null)
            {
                NormalizedROIC.UpdateValues(previous.NormalizedROIC);
            }
            if (RegressionGrowthOperatingRevenue5Years != null)
            {
                RegressionGrowthOperatingRevenue5Years.UpdateValues(previous.RegressionGrowthOperatingRevenue5Years);
            }
        }
Example #4
0
        /// <summary>
        /// Applies updated values from <paramref name="update"/> to this instance
        /// </summary>
        /// <remarks>Used to apply data updates to the current instance. This WILL overwrite existing values. Default update values are ignored.</remarks>
        /// <param name="update">The next data update for this instance</param>
        public void UpdateValues(OperationRatios update)
        {
            if (update == null)
            {
                return;
            }

            RevenueGrowth?.UpdateValues(update.RevenueGrowth);
            OperationIncomeGrowth?.UpdateValues(update.OperationIncomeGrowth);
            NetIncomeGrowth?.UpdateValues(update.NetIncomeGrowth);
            NetIncomeContOpsGrowth?.UpdateValues(update.NetIncomeContOpsGrowth);
            CFOGrowth?.UpdateValues(update.CFOGrowth);
            FCFGrowth?.UpdateValues(update.FCFGrowth);
            OperationRevenueGrowth3MonthAvg?.UpdateValues(update.OperationRevenueGrowth3MonthAvg);
            GrossMargin?.UpdateValues(update.GrossMargin);
            OperationMargin?.UpdateValues(update.OperationMargin);
            PretaxMargin?.UpdateValues(update.PretaxMargin);
            NetMargin?.UpdateValues(update.NetMargin);
            TaxRate?.UpdateValues(update.TaxRate);
            EBITMargin?.UpdateValues(update.EBITMargin);
            EBITDAMargin?.UpdateValues(update.EBITDAMargin);
            SalesPerEmployee?.UpdateValues(update.SalesPerEmployee);
            CurrentRatio?.UpdateValues(update.CurrentRatio);
            QuickRatio?.UpdateValues(update.QuickRatio);
            LongTermDebtTotalCapitalRatio?.UpdateValues(update.LongTermDebtTotalCapitalRatio);
            InterestCoverage?.UpdateValues(update.InterestCoverage);
            LongTermDebtEquityRatio?.UpdateValues(update.LongTermDebtEquityRatio);
            FinancialLeverage?.UpdateValues(update.FinancialLeverage);
            TotalDebtEquityRatio?.UpdateValues(update.TotalDebtEquityRatio);
            NormalizedNetProfitMargin?.UpdateValues(update.NormalizedNetProfitMargin);
            DaysInSales?.UpdateValues(update.DaysInSales);
            DaysInInventory?.UpdateValues(update.DaysInInventory);
            DaysInPayment?.UpdateValues(update.DaysInPayment);
            CashConversionCycle?.UpdateValues(update.CashConversionCycle);
            ReceivableTurnover?.UpdateValues(update.ReceivableTurnover);
            InventoryTurnover?.UpdateValues(update.InventoryTurnover);
            PaymentTurnover?.UpdateValues(update.PaymentTurnover);
            FixAssetsTuronver?.UpdateValues(update.FixAssetsTuronver);
            AssetsTurnover?.UpdateValues(update.AssetsTurnover);
            ROE?.UpdateValues(update.ROE);
            ROA?.UpdateValues(update.ROA);
            ROIC?.UpdateValues(update.ROIC);
            FCFSalesRatio?.UpdateValues(update.FCFSalesRatio);
            FCFNetIncomeRatio?.UpdateValues(update.FCFNetIncomeRatio);
            CapExSalesRatio?.UpdateValues(update.CapExSalesRatio);
            DebttoAssets?.UpdateValues(update.DebttoAssets);
            CommonEquityToAssets?.UpdateValues(update.CommonEquityToAssets);
            CapitalExpenditureAnnual5YrGrowth?.UpdateValues(update.CapitalExpenditureAnnual5YrGrowth);
            GrossProfitAnnual5YrGrowth?.UpdateValues(update.GrossProfitAnnual5YrGrowth);
            GrossMargin5YrAvg?.UpdateValues(update.GrossMargin5YrAvg);
            PostTaxMargin5YrAvg?.UpdateValues(update.PostTaxMargin5YrAvg);
            PreTaxMargin5YrAvg?.UpdateValues(update.PreTaxMargin5YrAvg);
            ProfitMargin5YrAvg?.UpdateValues(update.ProfitMargin5YrAvg);
            ROE5YrAvg?.UpdateValues(update.ROE5YrAvg);
            ROA5YrAvg?.UpdateValues(update.ROA5YrAvg);
            AVG5YrsROIC?.UpdateValues(update.AVG5YrsROIC);
            NormalizedROIC?.UpdateValues(update.NormalizedROIC);
            RegressionGrowthOperatingRevenue5Years?.UpdateValues(update.RegressionGrowthOperatingRevenue5Years);
            CashRatio?.UpdateValues(update.CashRatio);
            CashtoTotalAssets?.UpdateValues(update.CashtoTotalAssets);
            CapitalExpendituretoEBITDA?.UpdateValues(update.CapitalExpendituretoEBITDA);
            FCFtoCFO?.UpdateValues(update.FCFtoCFO);
            StockholdersEquityGrowth?.UpdateValues(update.StockholdersEquityGrowth);
            TotalAssetsGrowth?.UpdateValues(update.TotalAssetsGrowth);
            TotalLiabilitiesGrowth?.UpdateValues(update.TotalLiabilitiesGrowth);
            TotalDebtEquityRatioGrowth?.UpdateValues(update.TotalDebtEquityRatioGrowth);
            CashRatioGrowth?.UpdateValues(update.CashRatioGrowth);
            EBITDAGrowth?.UpdateValues(update.EBITDAGrowth);
            CashFlowfromFinancingGrowth?.UpdateValues(update.CashFlowfromFinancingGrowth);
            CashFlowfromInvestingGrowth?.UpdateValues(update.CashFlowfromInvestingGrowth);
            CapExGrowth?.UpdateValues(update.CapExGrowth);
            CurrentRatioGrowth?.UpdateValues(update.CurrentRatioGrowth);
            WorkingCapitalTurnoverRatio?.UpdateValues(update.WorkingCapitalTurnoverRatio);
            NetIncomePerEmployee?.UpdateValues(update.NetIncomePerEmployee);
            SolvencyRatio?.UpdateValues(update.SolvencyRatio);
            ExpenseRatio?.UpdateValues(update.ExpenseRatio);
            LossRatio?.UpdateValues(update.LossRatio);
        }