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 }); }
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; } }
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); }
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; } }
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 }; }
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; } }
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; } }
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; } }
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; } }
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; } }
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; } }
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; } }
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; } }
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; } }
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; } }
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); }