H-Model
The H-Model of Fuller and Hsia (1984) values a stock whose dividend growth starts at a high rate and declines linearly to a stable rate over a number of years, after which it grows at the stable rate forever. It is a closed-form approximation of the three-stage dividend discount model (see get_two_stage_dividend_discount_model with transition_periods): the Gordon Growth Model at the stable rate plus the value of the extra growth during the decline, which is about half the high-growth period (H) times the extra growth.
The formula is as follows:
\[H = \text{High Growth Periods} / 2\] \[\text{Intrinsic Value} = \text{Dividends Per Share} \cdot (1 + \text{Stable Growth Rate}) / (\text{Rate of Return} - \text{Stable Growth Rate}) + \text{Dividends Per Share} \cdot H \cdot (\text{High Growth Rate} - \text{Stable Growth Rate}) / (\text{Rate of Return} - \text{Stable Growth Rate})\]Like the Gordon Growth Model, each period is valued off that period’s actual annual Dividends per Share, which gives the intrinsic value over time.
Also known as: H-Model, Fuller-Hsia model, H model dividend discount model.
H-Model in Python or via the MCP
Install the Finance Toolkit with:
pip install financetoolkit -U
Then call get_h_model as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(
["KO", "PEP"],
api_key="FINANCIAL_MODELING_PREP_KEY",
start_date="2021-01-01",
end_date="2025-12-31",
)
toolkit.models.get_h_model(
rate_of_return=0.08, high_growth_rate=0.08, stable_growth_rate=0.03
)
Or, after setting up the Finance Toolkit MCP, ask:
What are Coca-Cola and PepsiCo worth per share from 2021 to 2025 in an H-model with an 8% required return and dividend growth declining from 8% to 3%?
Which returns:
| KO | PEP | |
|---|---|---|
| 2021 | 43.008 | 108.736 |
| 2022 | 45.056 | 115.84 |
| 2023 | 47.104 | 126.592 |
| 2024 | 49.664 | 136.448 |
| 2025 | 52.224 | 143.936 |
Parameters
get_h_model accepts the following parameters.
| Parameter | Type | Description | Example |
|---|---|---|---|
rate_of_return | float | The required rate of return, which must be greater than the stable growth rate. | 0.08 |
high_growth_rate | float | The growth rate of the dividends at the start of the decline. | 0.1 |
stable_growth_rate | float | The growth rate the decline ends at, which holds forever after it. | 0.03 |
high_growth_periods | int | The number of years over which the growth rate declines from the high to the stable rate. Defaults to 10. | 10 |
rounding | int | None | The number of decimals to round the results to. Defaults to None, which uses the rounding of the Toolkit (4 unless set otherwise). | 2 |