Exemplo n.º 1
0
        private AssetSuitability GetAustralianEquityAssetSuitability()
        {
            var table   = new AustralianEquitySuitabilityParameters();
            var f0Score = new AECurrentParameter();

            SetF0Score_AustralianEquity(table, f0Score);
            f0Score.Total = f0Score.EpsGrowth + f0Score.CurrentMarketCapitalisation + f0Score.DivYieldF0 +
                            f0Score.FrankF0
                            + f0Score.ROAF0 + f0Score.ROEF0 + f0Score.InterestCoverF0 + f0Score.DebtEquityF0 +
                            f0Score.PEF0 + f0Score.BetaFiveYear;
            var f1Score = new AEForecastParameter();

            SetF1Score_AustralianEquity(table, f1Score);
            f1Score.Total = f1Score.EpsGrowth + f1Score.MorningStarRecommandation + f1Score.DivYieldF1 +
                            f1Score.FrankF1
                            + f1Score.ROAF1 + f1Score.ROEF1 + f1Score.InterestCoverF1 + f1Score.DebtEquityF1 +
                            f1Score.PEF1 + f1Score.IntrsicValueVariation;

            return(new AssetSuitability
            {
                F1Parameters = f1Score,
                SuitabilityRating = GetRatingScore(f1Score.Total + f0Score.Total),
                F0Parameters = f0Score,
                TotalScore = f1Score.Total + f0Score.Total
            });
        }
Exemplo n.º 2
0
 private void SetForecastDebtEquityScore_AE(AEForecastParameter f1Score,
                                            AustralianEquitySuitabilityParameters table)
 {
     if (Sector == "Financial Services")
     {
         f1Score.DebtEquityF1 = table.F1Parameters.Defensive.ScoreRanking;
     }
     else if (F1Recommendation.DebtEquityRatio <= table.F1Parameters.Defensive.DebtEquityF1)
     {
         f1Score.DebtEquityF1 = table.F1Parameters.Defensive.ScoreRanking;
     }
     else if (F1Recommendation.DebtEquityRatio <= table.F1Parameters.Conservative.DebtEquityF1)
     {
         f1Score.DebtEquityF1 = table.F1Parameters.Conservative.ScoreRanking;
     }
     else if (F1Recommendation.DebtEquityRatio <= table.F1Parameters.Balance.DebtEquityF1)
     {
         f1Score.DebtEquityF1 = table.F1Parameters.Balance.ScoreRanking;
     }
     else if (F1Recommendation.DebtEquityRatio <= table.F1Parameters.Assertive.DebtEquityF1)
     {
         f1Score.DebtEquityF1 = table.F1Parameters.Assertive.ScoreRanking;
     }
     else
     {
         f1Score.DebtEquityF1 = table.F1Parameters.Aggressive.ScoreRanking;
     }
 }
Exemplo n.º 3
0
 private void SetF1Score_AustralianEquity(AustralianEquitySuitabilityParameters table,
                                          AEForecastParameter f1Score)
 {
     SetForecastEpsGrowthScore_AE(table, f1Score);
     SetForecastMorningstarRecommendationScore_AE(f1Score, table);
     SetForecastDividendYieldScore_AE(table, f1Score);
     SetForecastFrankScore_AE(table, f1Score);
     SetForecastReturnOnAssetScore_AE(table, f1Score);
     SetForecastReturnOnEquityScore_AE(table, f1Score);
     SetForecastInterestCoverScore_AE(f1Score, table);
     SetForecastDebtEquityScore_AE(f1Score, table);
     SetForecastPriceEarningRatioScore_AE(table, f1Score);
     SetForecastIntrinsicValueScore_AE(table, f1Score);
 }
Exemplo n.º 4
0
 private void SetForecastMorningstarRecommendationScore_AE(AEForecastParameter f1Score,
                                                           AustralianEquitySuitabilityParameters table)
 {
     if (F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.Buy ||
         F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.HighlyRecommended)
     {
         f1Score.MorningStarRecommandation = table.F1Parameters.Defensive.ScoreRanking;
     }
     else if (F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.Accumulate ||
              F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.Recommended)
     {
         f1Score.MorningStarRecommandation = table.F1Parameters.Conservative.ScoreRanking;
     }
     else if (F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.Hold ||
              F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.InvestmentGrade)
     {
         f1Score.MorningStarRecommandation = table.F1Parameters.Balance.ScoreRanking;
     }
     else if (F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.Reduce)
     {
         f1Score.MorningStarRecommandation = table.F1Parameters.Assertive.ScoreRanking;
     }
     else if (F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.Sell ||
              F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.Avoid ||
              F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.UnderReview)
     {
         f1Score.MorningStarRecommandation = table.F1Parameters.Aggressive.ScoreRanking;
     }
     else if (F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.CeasedCoverage ||
              F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.None ||
              F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.NoRecommendation)
     {
         f1Score.MorningStarRecommandation = 20 * table.F1Parameters.Aggressive.ScoreRanking;
     }
     else
     {
         f1Score.MorningStarRecommandation = table.F1Parameters.Aggressive.ScoreRanking;
     }
 }
Exemplo n.º 5
0
        private AssetSuitability GetAustralianEquityAssetSuitability()
        {
            var table = new AustralianEquitySuitabilityParameters();
            var f0Score = new AECurrentParameter();
            SetF0Score_AustralianEquity(table, f0Score);
            f0Score.Total = f0Score.EpsGrowth + f0Score.CurrentMarketCapitalisation + f0Score.DivYieldF0 +
                            f0Score.FrankF0
                            + f0Score.ROAF0 + f0Score.ROEF0 + f0Score.InterestCoverF0 + f0Score.DebtEquityF0 +
                            f0Score.PEF0 + f0Score.BetaFiveYear;
            var f1Score = new AEForecastParameter();
            SetF1Score_AustralianEquity(table, f1Score);
            f1Score.Total = f1Score.EpsGrowth + f1Score.MorningStarRecommandation + f1Score.DivYieldF1 +
                            f1Score.FrankF1
                            + f1Score.ROAF1 + f1Score.ROEF1 + f1Score.InterestCoverF1 + f1Score.DebtEquityF1 +
                            f1Score.PEF1 + f1Score.IntrsicValueVariation;

            return new AssetSuitability
            {
                F1Parameters = f1Score,
                SuitabilityRating = GetRatingScore(f1Score.Total + f0Score.Total),
                F0Parameters = f0Score,
                TotalScore = f1Score.Total + f0Score.Total
            };
        }
Exemplo n.º 6
0
 private void SetForecastPriceEarningRatioScore_AE(AustralianEquitySuitabilityParameters table,
                                                   AEForecastParameter f1Score)
 {
     if (F1Recommendation.PriceEarningRatio <= table.F1Parameters.Defensive.PEF1)
     {
         f1Score.PEF1 = table.F1Parameters.Defensive.ScoreRanking;
     }
     else if (F1Recommendation.PriceEarningRatio <= table.F1Parameters.Conservative.PEF1)
     {
         f1Score.PEF1 = table.F1Parameters.Conservative.ScoreRanking;
     }
     else if (F1Recommendation.PriceEarningRatio <= table.F1Parameters.Balance.PEF1)
     {
         f1Score.PEF1 = table.F1Parameters.Balance.ScoreRanking;
     }
     else if (F1Recommendation.PriceEarningRatio <= table.F1Parameters.Assertive.PEF1)
     {
         f1Score.PEF1 = table.F1Parameters.Assertive.ScoreRanking;
     }
     else
     {
         f1Score.PEF1 = table.F1Parameters.Aggressive.ScoreRanking;
     }
 }
Exemplo n.º 7
0
 private void SetForecastIntrinsicValueScore_AE(AustralianEquitySuitabilityParameters table,
                                                AEForecastParameter f1Score)
 {
     if (F1Recommendation.IntrinsicValue >= table.F1Parameters.Defensive.IntrsicValueVariation)
     {
         f1Score.IntrsicValueVariation = table.F1Parameters.Defensive.ScoreRanking;
     }
     else if (F1Recommendation.IntrinsicValue >= table.F1Parameters.Conservative.IntrsicValueVariation)
     {
         f1Score.IntrsicValueVariation = table.F1Parameters.Conservative.ScoreRanking;
     }
     else if (F1Recommendation.IntrinsicValue >= table.F1Parameters.Balance.IntrsicValueVariation)
     {
         f1Score.IntrsicValueVariation = table.F1Parameters.Balance.ScoreRanking;
     }
     else if (F1Recommendation.IntrinsicValue >= table.F1Parameters.Assertive.IntrsicValueVariation)
     {
         f1Score.IntrsicValueVariation = table.F1Parameters.Assertive.ScoreRanking;
     }
     else
     {
         f1Score.IntrsicValueVariation = table.F1Parameters.Aggressive.ScoreRanking;
     }
 }
Exemplo n.º 8
0
 private void SetForecastEpsGrowthScore_AE(AustralianEquitySuitabilityParameters table,
                                           AEForecastParameter f1Score)
 {
     if (F1Recommendation.EpsGrowth >= table.F1Parameters.Defensive.EpsGrowth)
     {
         f1Score.EpsGrowth = table.F1Parameters.Defensive.ScoreRanking;
     }
     else if (F1Recommendation.EpsGrowth >= table.F1Parameters.Conservative.EpsGrowth)
     {
         f1Score.EpsGrowth = table.F1Parameters.Conservative.ScoreRanking;
     }
     else if (F1Recommendation.EpsGrowth >= table.F1Parameters.Balance.EpsGrowth)
     {
         f1Score.EpsGrowth = table.F1Parameters.Balance.ScoreRanking;
     }
     else if (F1Recommendation.EpsGrowth >= table.F1Parameters.Assertive.EpsGrowth)
     {
         f1Score.EpsGrowth = table.F1Parameters.Assertive.ScoreRanking;
     }
     else
     {
         f1Score.EpsGrowth = table.F1Parameters.Aggressive.ScoreRanking;
     }
 }
Exemplo n.º 9
0
 private void SetForecastDividendYieldScore_AE(AustralianEquitySuitabilityParameters table,
                                               AEForecastParameter f1Score)
 {
     if (F1Recommendation.DividendYield >= table.F1Parameters.Defensive.DivYieldF1)
     {
         f1Score.DivYieldF1 = table.F1Parameters.Defensive.ScoreRanking;
     }
     else if (F1Recommendation.DividendYield >= table.F1Parameters.Conservative.DivYieldF1)
     {
         f1Score.DivYieldF1 = table.F1Parameters.Conservative.ScoreRanking;
     }
     else if (F1Recommendation.DividendYield >= table.F1Parameters.Balance.DivYieldF1)
     {
         f1Score.DivYieldF1 = table.F1Parameters.Balance.ScoreRanking;
     }
     else if (F1Recommendation.DividendYield >= table.F1Parameters.Assertive.DivYieldF1)
     {
         f1Score.DivYieldF1 = table.F1Parameters.Assertive.ScoreRanking;
     }
     else
     {
         f1Score.DivYieldF1 = table.F1Parameters.Aggressive.ScoreRanking;
     }
 }
Exemplo n.º 10
0
 private void SetForecastReturnOnAssetScore_AE(AustralianEquitySuitabilityParameters table,
                                               AEForecastParameter f1Score)
 {
     if (F1Recommendation.ReturnOnAsset >= table.F1Parameters.Defensive.ROAF1)
     {
         f1Score.ROAF1 = table.F1Parameters.Defensive.ScoreRanking;
     }
     else if (F1Recommendation.ReturnOnAsset >= table.F1Parameters.Conservative.ROAF1)
     {
         f1Score.ROAF1 = table.F1Parameters.Conservative.ScoreRanking;
     }
     else if (F1Recommendation.ReturnOnAsset >= table.F1Parameters.Balance.ROAF1)
     {
         f1Score.ROAF1 = table.F1Parameters.Balance.ScoreRanking;
     }
     else if (F1Recommendation.ReturnOnAsset >= table.F1Parameters.Assertive.ROAF1)
     {
         f1Score.ROAF1 = table.F1Parameters.Assertive.ScoreRanking;
     }
     else
     {
         f1Score.ROAF1 = table.F1Parameters.Aggressive.ScoreRanking;
     }
 }
Exemplo n.º 11
0
 private void SetForecastReturnOnEquityScore_AE(AustralianEquitySuitabilityParameters table,
     AEForecastParameter f1Score)
 {
     if (F1Recommendation.ReturnOnEquity >= table.F1Parameters.Defensive.ROEF1)
     {
         f1Score.ROEF1 = table.F1Parameters.Defensive.ScoreRanking;
     }
     else if (F1Recommendation.ReturnOnEquity >= table.F1Parameters.Conservative.ROEF1)
     {
         f1Score.ROEF1 = table.F1Parameters.Conservative.ScoreRanking;
     }
     else if (F1Recommendation.ReturnOnEquity >= table.F1Parameters.Balance.ROEF1)
     {
         f1Score.ROEF1 = table.F1Parameters.Balance.ScoreRanking;
     }
     else if (F1Recommendation.ReturnOnEquity >= table.F1Parameters.Assertive.ROEF1)
     {
         f1Score.ROEF1 = table.F1Parameters.Assertive.ScoreRanking;
     }
     else
     {
         f1Score.ROEF1 = table.F1Parameters.Aggressive.ScoreRanking;
     }
 }
Exemplo n.º 12
0
 private void SetForecastMorningstarRecommendationScore_AE(AEForecastParameter f1Score,
     AustralianEquitySuitabilityParameters table)
 {
     if (F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.Buy ||
         F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.HighlyRecommended)
     {
         f1Score.MorningStarRecommandation = table.F1Parameters.Defensive.ScoreRanking;
     }
     else if (F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.Accumulate ||
              F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.Recommended)
     {
         f1Score.MorningStarRecommandation = table.F1Parameters.Conservative.ScoreRanking;
     }
     else if (F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.Hold ||
              F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.InvestmentGrade)
     {
         f1Score.MorningStarRecommandation = table.F1Parameters.Balance.ScoreRanking;
     }
     else if (F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.Reduce)
     {
         f1Score.MorningStarRecommandation = table.F1Parameters.Assertive.ScoreRanking;
     }
     else if (F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.Sell ||
              F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.Avoid ||
              F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.UnderReview)
     {
         f1Score.MorningStarRecommandation = table.F1Parameters.Aggressive.ScoreRanking;
     }
     else if (F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.CeasedCoverage ||
              F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.None ||
              F1Recommendation.MorningstarRecommendation == MorningStarRecommendation.NoRecommendation)
     {
         f1Score.MorningStarRecommandation = 20*table.F1Parameters.Aggressive.ScoreRanking;
     }
     else
     {
         f1Score.MorningStarRecommandation = table.F1Parameters.Aggressive.ScoreRanking;
     }
 }
Exemplo n.º 13
0
 private void SetForecastIntrinsicValueScore_AE(AustralianEquitySuitabilityParameters table,
     AEForecastParameter f1Score)
 {
     if (F1Recommendation.IntrinsicValue >= table.F1Parameters.Defensive.IntrsicValueVariation)
     {
         f1Score.IntrsicValueVariation = table.F1Parameters.Defensive.ScoreRanking;
     }
     else if (F1Recommendation.IntrinsicValue >= table.F1Parameters.Conservative.IntrsicValueVariation)
     {
         f1Score.IntrsicValueVariation = table.F1Parameters.Conservative.ScoreRanking;
     }
     else if (F1Recommendation.IntrinsicValue >= table.F1Parameters.Balance.IntrsicValueVariation)
     {
         f1Score.IntrsicValueVariation = table.F1Parameters.Balance.ScoreRanking;
     }
     else if (F1Recommendation.IntrinsicValue >= table.F1Parameters.Assertive.IntrsicValueVariation)
     {
         f1Score.IntrsicValueVariation = table.F1Parameters.Assertive.ScoreRanking;
     }
     else
     {
         f1Score.IntrsicValueVariation = table.F1Parameters.Aggressive.ScoreRanking;
     }
 }
Exemplo n.º 14
0
 private void SetForecastInterestCoverScore_AE(AEForecastParameter f1Score,
     AustralianEquitySuitabilityParameters table)
 {
     if (Sector == "Financial Services")
     {
         f1Score.InterestCoverF1 = table.F1Parameters.Defensive.ScoreRanking;
     }
     else if (F1Recommendation.InterestCover >= table.F1Parameters.Defensive.InterestCoverF1)
     {
         f1Score.InterestCoverF1 = table.F1Parameters.Defensive.ScoreRanking;
     }
     else if (F1Recommendation.InterestCover >= table.F1Parameters.Conservative.InterestCoverF1)
     {
         f1Score.InterestCoverF1 = table.F1Parameters.Conservative.ScoreRanking;
     }
     else if (F1Recommendation.InterestCover >= table.F1Parameters.Balance.InterestCoverF1)
     {
         f1Score.InterestCoverF1 = table.F1Parameters.Assertive.ScoreRanking;
     }
     else
     {
         f1Score.InterestCoverF1 = table.F0Paramters.Aggressive.ScoreRanking;
     }
 }
Exemplo n.º 15
0
 private void SetForecastEpsGrowthScore_AE(AustralianEquitySuitabilityParameters table,
     AEForecastParameter f1Score)
 {
     if (F1Recommendation.EpsGrowth >= table.F1Parameters.Defensive.EpsGrowth)
     {
         f1Score.EpsGrowth = table.F1Parameters.Defensive.ScoreRanking;
     }
     else if (F1Recommendation.EpsGrowth >= table.F1Parameters.Conservative.EpsGrowth)
     {
         f1Score.EpsGrowth = table.F1Parameters.Conservative.ScoreRanking;
     }
     else if (F1Recommendation.EpsGrowth >= table.F1Parameters.Balance.EpsGrowth)
     {
         f1Score.EpsGrowth = table.F1Parameters.Balance.ScoreRanking;
     }
     else if (F1Recommendation.EpsGrowth >= table.F1Parameters.Assertive.EpsGrowth)
     {
         f1Score.EpsGrowth = table.F1Parameters.Assertive.ScoreRanking;
     }
     else
     {
         f1Score.EpsGrowth = table.F1Parameters.Aggressive.ScoreRanking;
     }
 }
Exemplo n.º 16
0
 private void SetF1Score_AustralianEquity(AustralianEquitySuitabilityParameters table,
     AEForecastParameter f1Score)
 {
     SetForecastEpsGrowthScore_AE(table, f1Score);
     SetForecastMorningstarRecommendationScore_AE(f1Score, table);
     SetForecastDividendYieldScore_AE(table, f1Score);
     SetForecastFrankScore_AE(table, f1Score);
     SetForecastReturnOnAssetScore_AE(table, f1Score);
     SetForecastReturnOnEquityScore_AE(table, f1Score);
     SetForecastInterestCoverScore_AE(f1Score, table);
     SetForecastDebtEquityScore_AE(f1Score, table);
     SetForecastPriceEarningRatioScore_AE(table, f1Score);
     SetForecastIntrinsicValueScore_AE(table, f1Score);
 }