예제 #1
0
        private AssetSuitability GetInternationalEquityAssetSuitability()
        {
            var table = new InternationalEquitySuitabilityParameters();
            var f0Score = new IECurrentParameter();
            SetF0Score_InternationalEquity(table, f0Score);
            f0Score.Total = f0Score.OneYearTotalReturn + f0Score.CurrentMarketCapitalisatiopn +
                            f0Score.DividendYield + f0Score.ROA + f0Score.ROE
                            + f0Score.QuickRatio + f0Score.CurrentRatio + f0Score.TotalDebtTotalEquityRatio +
                            f0Score.PERatio + f0Score.BetaFiveYear;

            var f1Score = new IEForecastParameter();
            SetF1Score_InternationalEquity(table, f1Score);
            f1Score.Total = f1Score.FiveYearTotalReturn + f1Score.MorningStarRecommendation + f1Score.DividendYield +
                            f1Score.ROAF1 + f1Score.ROEF1
                            + f1Score.FinancialLeverageF1 + f1Score.OneYearRevenueGrowthF1 + f1Score.DERatioF1 +
                            f1Score.CreditRating + f1Score.FairValueVariation;

            return new AssetSuitability
            {
                F1Parameters = f1Score,
                SuitabilityRating = GetRatingScore(f1Score.Total + f0Score.Total),
                F0Parameters = f0Score,
                TotalScore = f1Score.Total + f0Score.Total
            };
        }
예제 #2
0
 private void SetCurrentBetaFiveYearsScore_IE(InternationalEquitySuitabilityParameters table,
     IECurrentParameter i0Score)
 {
     if (F0Ratios.BetaFiveYears <= table.Ief0Parameters.Defensive.BetaFiveYear)
     {
         i0Score.BetaFiveYear = table.Ief0Parameters.Defensive.ScoreRanking;
     }
     else if (F0Ratios.BetaFiveYears <= table.Ief0Parameters.Conservative.BetaFiveYear)
     {
         i0Score.BetaFiveYear = table.Ief0Parameters.Conservative.ScoreRanking;
     }
     else if (F0Ratios.BetaFiveYears <= table.Ief0Parameters.Balance.BetaFiveYear)
     {
         i0Score.BetaFiveYear = table.Ief0Parameters.Balance.ScoreRanking;
     }
     else if (F0Ratios.BetaFiveYears <= table.Ief0Parameters.Assertive.BetaFiveYear)
     {
         i0Score.BetaFiveYear = table.Ief0Parameters.Assertive.ScoreRanking;
     }
     else
     {
         i0Score.BetaFiveYear = table.Ief0Parameters.Aggressive.ScoreRanking;
     }
 }
예제 #3
0
 private void SetCurrenCapitalisationScore_IE(InternationalEquitySuitabilityParameters table,
     IECurrentParameter i0Score)
 {
     if (F0Ratios.Capitalisation >= table.Ief0Parameters.Defensive.CurrentMarketCapitalisatiopn)
     {
         i0Score.CurrentMarketCapitalisatiopn = table.Ief0Parameters.Defensive.ScoreRanking;
     }
     else if (F0Ratios.Capitalisation >= table.Ief0Parameters.Conservative.CurrentMarketCapitalisatiopn)
     {
         i0Score.CurrentMarketCapitalisatiopn = table.Ief0Parameters.Conservative.ScoreRanking;
     }
     else if (F0Ratios.Capitalisation >= table.Ief0Parameters.Balance.CurrentMarketCapitalisatiopn)
     {
         i0Score.CurrentMarketCapitalisatiopn = table.Ief0Parameters.Balance.ScoreRanking;
     }
     else if (F0Ratios.Capitalisation >= table.Ief0Parameters.Assertive.CurrentMarketCapitalisatiopn)
     {
         i0Score.CurrentMarketCapitalisatiopn = table.Ief0Parameters.Assertive.ScoreRanking;
     }
     else
     {
         i0Score.CurrentMarketCapitalisatiopn = table.Ief0Parameters.Aggressive.ScoreRanking;
     }
 }
예제 #4
0
 private void SetF0Score_InternationalEquity(InternationalEquitySuitabilityParameters table,
     IECurrentParameter f0Score)
 {
     SetCurrentOneYearReturnScore_IE(table, f0Score);
     SetCurrenCapitalisationScore_IE(table, f0Score);
     SetCurrentDividendScore_IE(table, f0Score);
     SetCurrentReturnOnAssetScore_IE(table, f0Score);
     SetCurrentReturnOnEquityScore_IE(table, f0Score);
     SetCurrentQuickRatioScore_IE(table, f0Score);
     SetCurrentCurrentRatioScore_IE(f0Score, table);
     SetCurrentDebtEquityRatioScore_IE(f0Score, table);
     SetCurrentPriceEarningRatioScore_IE(table, f0Score);
     SetCurrentBetaFiveYearsScore_IE(table, f0Score);
 }
예제 #5
0
 private void SetCurrentReturnOnEquityScore_IE(InternationalEquitySuitabilityParameters table,
     IECurrentParameter i0Score)
 {
     if (F0Ratios.ReturnOnEquity >= table.Ief0Parameters.Defensive.ROE)
     {
         i0Score.ROE = table.Ief0Parameters.Defensive.ScoreRanking;
     }
     else if (F0Ratios.ReturnOnEquity >= table.Ief0Parameters.Conservative.ROE)
     {
         i0Score.ROE = table.Ief0Parameters.Conservative.ScoreRanking;
     }
     else if (F0Ratios.ReturnOnEquity >= table.Ief0Parameters.Balance.ROE)
     {
         i0Score.ROE = table.Ief0Parameters.Balance.ScoreRanking;
     }
     else if (F0Ratios.ReturnOnEquity >= table.Ief0Parameters.Assertive.ROE)
     {
         i0Score.ROE = table.Ief0Parameters.Assertive.ScoreRanking;
     }
     else
     {
         i0Score.ROE = table.Ief0Parameters.Aggressive.ScoreRanking;
     }
 }
예제 #6
0
 private void SetCurrentPriceEarningRatioScore_IE(InternationalEquitySuitabilityParameters table,
     IECurrentParameter i0Score)
 {
     if (F0Ratios.PriceEarningRatio <= table.Ief0Parameters.Defensive.PERatio)
     {
         i0Score.PERatio = table.Ief0Parameters.Defensive.ScoreRanking;
     }
     else if (F0Ratios.PriceEarningRatio <= table.Ief0Parameters.Conservative.PERatio)
     {
         i0Score.PERatio = table.Ief0Parameters.Conservative.ScoreRanking;
     }
     else if (F0Ratios.PriceEarningRatio <= table.Ief0Parameters.Balance.PERatio)
     {
         i0Score.PERatio = table.Ief0Parameters.Balance.ScoreRanking;
     }
     else if (F0Ratios.PriceEarningRatio <= table.Ief0Parameters.Assertive.PERatio)
     {
         i0Score.PERatio = table.Ief0Parameters.Assertive.ScoreRanking;
     }
     else
     {
         i0Score.PERatio = table.Ief0Parameters.Aggressive.ScoreRanking;
     }
 }
예제 #7
0
 private void SetCurrentOneYearReturnScore_IE(InternationalEquitySuitabilityParameters table,
     IECurrentParameter i0Score)
 {
     if (F0Ratios.OneYearReturn >= table.Ief0Parameters.Defensive.OneYearTotalReturn)
     {
         i0Score.OneYearTotalReturn = table.Ief0Parameters.Defensive.ScoreRanking;
     }
     else if (F0Ratios.OneYearReturn >= table.Ief0Parameters.Conservative.OneYearTotalReturn)
     {
         i0Score.OneYearTotalReturn = table.Ief0Parameters.Conservative.ScoreRanking;
     }
     else if (F0Ratios.OneYearReturn >= table.Ief0Parameters.Balance.OneYearTotalReturn)
     {
         i0Score.OneYearTotalReturn = table.Ief0Parameters.Balance.ScoreRanking;
     }
     else if (F0Ratios.OneYearReturn >= table.Ief0Parameters.Assertive.OneYearTotalReturn)
     {
         i0Score.OneYearTotalReturn = table.Ief0Parameters.Assertive.OneYearTotalReturn;
     }
     else
     {
         i0Score.OneYearTotalReturn = table.Ief0Parameters.Aggressive.OneYearTotalReturn;
     }
 }
예제 #8
0
 private void SetCurrentDividendScore_IE(InternationalEquitySuitabilityParameters table,
     IECurrentParameter i0Score)
 {
     if (F0Ratios.DividendYield >= table.Ief0Parameters.Defensive.DividendYield)
     {
         i0Score.DividendYield = table.Ief0Parameters.Defensive.ScoreRanking;
     }
     else if (F0Ratios.DividendYield >= table.Ief0Parameters.Conservative.DividendYield)
     {
         i0Score.DividendYield = table.Ief0Parameters.Conservative.ScoreRanking;
     }
     else if (F0Ratios.DividendYield >= table.Ief0Parameters.Balance.DividendYield)
     {
         i0Score.DividendYield = table.Ief0Parameters.Balance.ScoreRanking;
     }
     else if (F0Ratios.DividendYield >= table.Ief0Parameters.Assertive.DividendYield)
     {
         i0Score.DividendYield = table.Ief0Parameters.Assertive.ScoreRanking;
     }
     else
     {
         i0Score.DividendYield = table.Ief0Parameters.Aggressive.ScoreRanking;
     }
 }
예제 #9
0
 private void SetCurrentDebtEquityRatioScore_IE(IECurrentParameter i0Score,
     InternationalEquitySuitabilityParameters table)
 {
     if (Sector == "Financial Services")
     {
         i0Score.TotalDebtTotalEquityRatio = table.Ief0Parameters.Defensive.ScoreRanking;
     }
     else if (F0Ratios.DebtEquityRatio <= table.Ief0Parameters.Defensive.TotalDebtTotalEquityRatio)
     {
         i0Score.TotalDebtTotalEquityRatio = table.Ief0Parameters.Defensive.ScoreRanking;
     }
     else if (F0Ratios.DebtEquityRatio <= table.Ief0Parameters.Conservative.TotalDebtTotalEquityRatio)
     {
         i0Score.TotalDebtTotalEquityRatio = table.Ief0Parameters.Conservative.ScoreRanking;
     }
     else if (F0Ratios.DebtEquityRatio <= table.Ief0Parameters.Balance.TotalDebtTotalEquityRatio)
     {
         i0Score.TotalDebtTotalEquityRatio = table.Ief0Parameters.Balance.ScoreRanking;
     }
     else if (F0Ratios.DebtEquityRatio <= table.Ief0Parameters.Assertive.TotalDebtTotalEquityRatio)
     {
         i0Score.TotalDebtTotalEquityRatio = table.Ief0Parameters.Assertive.ScoreRanking;
     }
     else
     {
         i0Score.TotalDebtTotalEquityRatio = table.Ief0Parameters.Aggressive.ScoreRanking;
     }
 }