dcf_valuation
Estimate intrinsic value per share and margin of safety for a stock using forward DCF with your growth, discount-rate, and terminal-growth assumptions. If growth is not supplied, it uses historical revenue CAGR.
Instructions
Forward DCF: given growth/discount-rate assumptions, estimate
intrinsic value per share and the margin of safety vs the current
price. Same two-stage model as reverse_dcf (5Y explicit growth +
Gordon-growth terminal value), run in the direct rather than
solved-for direction. If growth isn't supplied, defaults to the
company's own historical revenue CAGR -- a stated assumption, not a
prediction; consider cross-checking with reverse_dcf to see what
growth the current price already implies.
:param symbol: ticker symbol, e.g. "RELIANCE", "TCS.NS", or "TCS.BO"
:param growth: annual FCF growth assumption, e.g. 0.10 for 10%; defaults to historical revenue CAGR
:param wacc: discount rate assumption (default 0.12 = 12%)
:param terminal_growth: perpetuity growth assumption (default 0.04 = 4%); must be < wacc
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| wacc | No | ||
| growth | No | ||
| symbol | Yes | ||
| terminal_growth | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| error | No | Set if FCF is negative/zero, shares_outstanding is unavailable, or wacc <= terminal_growth | |
| symbol | Yes | ||
| wacc_pct | Yes | Discount rate assumption used (input, not derived) | |
| growth_pct | Yes | Growth-rate assumption used (input, defaulted from history if not supplied) | |
| current_price | No | ||
| projection_years | No | ||
| shares_outstanding | No | ||
| terminal_growth_pct | Yes | Perpetuity growth assumption used (input, not derived) | |
| margin_of_safety_pct | No | (intrinsic - current) / current * 100. Positive = the model thinks it's undervalued at the given assumptions. | |
| currency_mismatch_warning | No | Set when Yahoo's market-data and financial-statement currencies disagree for this ticker -- this entire valuation becomes unreliable when set. | |
| intrinsic_value_per_share | No | ||
| growth_pct_is_assumed_default | Yes | True if growth_pct was defaulted from historical revenue CAGR rather than supplied by the caller |