Estimate intrinsic value of stocks and companies using DCF, dividend discount models, comparable multiples, and residual income. Use when the user asks about discounted cash flow, DCF models, WACC, terminal value, dividend discount models, comparable multiples, or sum-of-the-parts valuation. Also trigger when users mention 'what is this stock worth', 'fair value estimate', 'Gordon growth model', 'free cash flow valuation', 'cost of equity', 'sensitivity analysis', 'exit multiple', or ask whether a stock is overvalued or undervalued.
npx skills add https://github.com/JoelLewis/finance_skills --skill quantitative-valuation
The DCF model values a company as the present value of its future free cash flows plus a terminal value:
V = Σ FCF_t / (1 + WACC)^t + TV / (1 + WACC)^n
where FCF_t is the free cash flow in year t, WACC is the weighted average cost of capital, and TV is the terminal value at the end of the explicit forecast period.
Estimates the value of all cash flows beyond the explicit forecast period assuming perpetual growth:
TV = FCF_n × (1 + g) / (WACC - g)
where g is the long-term sustainable growth rate (typically near nominal GDP growth, 2-4%).
Estimates terminal value by applying a market multiple to the final-year financial metric:
TV = EBITDA_n × EV/EBITDA multiple
The exit multiple is typically based on current peer trading multiples or long-run sector averages.
Blends the cost of equity and after-tax cost of debt weighted by their market-value proportions:
WACC = w_e × r_e + w_d × r_d × (1 - τ)
where w_e and w_d are equity and debt weights, r_e and r_d are their respective costs, and τ is the marginal tax rate.
The Capital Asset Pricing Model estimates the required return on equity:
r_e = R_f + β × (R_m - R_f)
where R_f is the risk-free rate, β is the stock's sensitivity to market returns, and (R_m - R_f) is the equity risk premium.
Values a stock as the present value of its future dividends. The Gordon Growth (single-stage) form:
P = D_1 / (r - g)
where D_1 is the next-period dividend, r is the required return, and g is the constant dividend growth rate.
Accommodates companies transitioning through growth phases:
Values a company as its book value plus the present value of economic profits:
V = BV_0 + Σ (ROE - r) × BV_{t-1} / (1 + r)^t
This model is useful when free cash flows are negative but the company earns above its cost of equity.
Relative valuation uses pricing ratios from a peer group to infer value:
Use the median of the peer group to reduce outlier effects. Adjust for differences in growth, margins, and risk.
Compare a stock's current multiple to:
A stock trading at a discount to both may be undervalued, or there may be fundamental deterioration.
Value each business segment separately using the most appropriate method (DCF, multiples, or asset-based), then sum. Subtract net debt and add non-operating assets to arrive at equity value.
Vary key assumptions (WACC and terminal growth rate are the most impactful) in a two-way data table to understand the range of possible valuations. This exposes which assumptions drive the result.
| Formula | Expression | Use Case |
|---------|-----------|----------|
| DCF Value | V = Σ FCF_t/(1+WACC)^t + TV/(1+WACC)^n | Enterprise valuation from cash flows |
| Gordon Growth TV | TV = FCF_n×(1+g)/(WACC-g) | Terminal value assuming perpetual growth |
| Exit Multiple TV | TV = EBITDA_n × multiple | Terminal value using market multiples |
| WACC | WACC = w_e×r_e + w_d×r_d×(1-τ) | Blended discount rate |
| CAPM | r_e = R_f + β×(R_m - R_f) | Cost of equity estimation |
| Gordon Growth DDM | P = D_1/(r-g) | Stock value from dividends |
| Residual Income | V = BV_0 + Σ (ROE-r)×BV_{t-1}/(1+r)^t | Value from economic profit |
| Implied Value (Comps) | V = Metric × Peer Median Multiple | Relative valuation |
Given:
Calculate: Enterprise value
Solution:
Projected free cash flows:
PV of Stage 1 cash flows:
Terminal value (Gordon Growth):
Enterprise Value = $572.5M + $1,837.7M = $2,410.1M
Note: Terminal value represents 76% of total value, which is typical but underscores the importance of terminal assumptions.
Given:
Calculate: Implied share price using peer median
Solution:
Peer median P/E = 18x (middle value of the sorted set)
Implied share price = EPS × Peer Median P/E = $5.00 × 18 = $90.00
If the stock trades at $75, it appears undervalued relative to peers (16.7% discount). Before concluding, check whether lower growth, margins, or higher risk justify the discount.
uv run scripts/quantitative_valuation.py
The PEP 723 header resolves the numpy dependency automatically. Alternatively run python3 scripts/quantitative_valuation.py after pip install numpy.
--verify re-runs the demo computations and asserts the outputs match this skill's worked examples (prints PASS/FAIL, nonzero exit on mismatch).--help lists the available classes.The file is primarily meant to be imported as a module, e.g. from quantitative_valuation import DCF, WACC, DividendDiscount, ComparableMultiples.
Real DCF (Discounted Cash Flow) model creation for equity valuation. Retrieves financial data from SEC filings and analyst reports, builds comprehensive cash flow projections with proper WACC calculations, performs sensitivity analysis, and outputs professional Excel models with executive summaries. Use when users need to value a company using DCF methodology, request intrinsic value analysis, or ask for detailed financial modeling with growth projections and terminal value calculations.
Screen US stocks using William O'Neil's CANSLIM growth stock methodology. Use when user requests CANSLIM stock screening, growth stock analysis, momentum stock identification, or wants to find stocks with strong earnings and price momentum following O'Neil's investment system.
Use this skill to find high-quality dividend growth stocks (12%+ annual dividend growth, 1.5%+ yield) that are experiencing temporary pullbacks, identified by RSI oversold conditions (RSI ≤40). This skill combines fundamental dividend analysis with technical timing indicators to identify buying opportunities in strong dividend growers during short-term weakness.
Options trading strategy analysis and simulation tool. Provides theoretical pricing using Black-Scholes model, Greeks calculation, strategy P/L simulation, and risk management guidance. Use when user requests options strategy analysis, covered calls, protective puts, spreads, iron condors, earnings plays, or options risk management. Includes volatility analysis, position sizing, and earnings-based strategy recommendations. Educational focus with practical trade simulation.
Analyze the bond futures basis by pricing futures, identifying the cheapest-to-deliver, and comparing with yield curves to assess delivery option value and basis trading opportunities. Use when analyzing bond futures, computing the basis, identifying CTD bonds, calculating implied repo rates, or evaluating basis trades.
Build and organize a universe of potential acquirers for sell-side M&A processes. Identifies strategic and financial buyers, assesses fit, and prioritizes outreach. Use when preparing for a sell-side mandate, building a buyer universe, or evaluating potential partners. Triggers on "buyer list", "buyer universe", "potential acquirers", "who would buy this", "strategic buyers", or "financial sponsors".
Analyze option volatility by combining vol surface data, option pricing with Greeks, and historical price data to assess implied vs realized volatility. Use when pricing options, analyzing volatility surfaces, computing Greeks, assessing vol premiums, or evaluating vol trading strategies.
Produces a margin-by-product table and three pricing-scenario data views so the owner can see the full financial picture before making a pricing decision. Accepts optional product name argument.
Take joellewis/quantitative-valuation from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference pip.
Without those the skill loads but fails at the first command.