1 | <?php |
||
18 | class StockDividendDiscountModelCalculator extends CalculatorAbstract |
||
19 | { |
||
20 | |||
21 | /** @var StockDDMTypes */ |
||
22 | // the type of the dividend discount model according to which the result will be calculated |
||
23 | protected $dividendDiscountModelType; |
||
24 | // stock's valuation interest rate |
||
25 | protected $stockVIR; |
||
26 | // absolute value of the stock's annual dividends |
||
27 | protected $stockAnnualDividendsValue; |
||
28 | // the rate by which the stock's annual dividends grow annually (i.e., a decimal number between 0 and 1) |
||
29 | // this value applies only to the multiple growth dividend discount model |
||
30 | protected $stockAnnualDividendsGrowth; |
||
31 | |||
32 | // props returned by the getResultAsArray method by default |
||
33 | protected $propResultArray = [ |
||
34 | "dividendDiscountModelType", |
||
35 | "stockVIR", |
||
36 | "stockAnnualDividendsValue", |
||
37 | "stockAnnualDividendsGrowth", |
||
38 | "stockPresentValue" |
||
39 | ]; |
||
40 | |||
41 | /** |
||
42 | * @param StockDDMTypes $dividendDiscountModelType |
||
43 | * @param $stockVIR |
||
44 | * @param $stockAnnualDividendValue |
||
45 | * @param null $stockAnnualDividendsGrowth |
||
46 | */ |
||
47 | public function __construct( |
||
58 | |||
59 | /** |
||
60 | * @param StockDDMTypes $dividendDiscountModelType |
||
61 | */ |
||
62 | public function setDividendDiscountModelType(StockDDMTypes $dividendDiscountModelType) |
||
73 | |||
74 | /** |
||
75 | * @param $stockVIR |
||
76 | */ |
||
77 | public function setStockVIR($stockVIR) |
||
81 | |||
82 | /** |
||
83 | * @param $stockAnnualDividendsValue |
||
84 | */ |
||
85 | public function setStockAnnualDividendsValue($stockAnnualDividendsValue) |
||
89 | |||
90 | /** |
||
91 | * @param $stockAnnualDividendsGrowth |
||
92 | */ |
||
93 | public function setStockAnnualDividendsGrowth($stockAnnualDividendsGrowth) |
||
116 | |||
117 | /** |
||
118 | * @return mixed |
||
119 | */ |
||
120 | public function getDividendDiscountModelType() |
||
124 | |||
125 | /** |
||
126 | * @return mixed |
||
127 | */ |
||
128 | public function getStockVIR() |
||
132 | |||
133 | /** |
||
134 | * @return mixed |
||
135 | */ |
||
136 | public function getStockAnnualDividendsValue() |
||
140 | |||
141 | /** |
||
142 | * @return mixed |
||
143 | */ |
||
144 | public function getStockAnnualDividendsGrowth() |
||
148 | |||
149 | /** |
||
150 | * @return string |
||
151 | * @throws Exception |
||
152 | */ |
||
153 | public function getStockPresentValue() |
||
184 | } |
||
185 | } |
||
186 |