/// <summary> /// /// </summary> private void SetFields() { try { _sharePrice = (decimal)_stockInfo.StockData.WeeklyQuotes.First().Close; _expectedSellPrice = SharePrice; SellPriceSliderMax = (float)_expectedSellPrice * 2.0f; decimal growthRate = (decimal)_stockInfo.DividendGrowthRateInPercent; // 15 is max if (15 <= growthRate) { growthRate = 14.99m; } decimal lastDividend = _stockInfo.GetLastDividend(); DividendSliderMax = 20; _expectedDividendYear1 = lastDividend / 100 * (100 + growthRate); // 5% slowdown y2 _expectedDividendYear2 = ExpectedDividendYear1 / 100 * (100 + (growthRate * 0.95m)); // 10% slowdown y3 _expectedDividendYear3 = ExpectedDividendYear2 / 100 * (100 + (growthRate * 0.90m)); // 20% slowdown y4 _expectedDividendYear4 = ExpectedDividendYear3 / 100 * (100 + (growthRate * 0.80m)); // 30% slowdown y4 _expectedDividendYear5 = ExpectedDividendYear4 / 100 * (100 + (growthRate * 0.70m)); if (DividendSliderMax < (float)(_expectedDividendYear5 * 1.5m)) { DividendSliderMax = (float)(_expectedDividendYear5 * 1.5m); } // 10% (with inflation) s. https://www.investopedia.com/ask/answers/042415/what-average-annual-return-sp-500.asp // so we aim at 15 _desiredRateOfReturn = 15; SetIntrinsicSharePrice(); RaiseAllPropertyChangedEvents(); } catch (Exception x) { Log.Error(x); } }
/// <summary> /// /// </summary> /// <returns></returns> private decimal CalcExpectedDividend() { // simply return to last dividend, maybe some averaging later return(_stockInfo.GetLastDividend()); }