Valuation Model logo

Valuation Model

OrganizationPopular
HKUDS
valuation-model

Valuation methodology — absolute valuation with DCF / DDM / SOTP, relative valuation with PE-Band / PB-ROE / EV-EBITDA, sensitivity analysis, and valuation-trap detection.

Overview

PublisherHKUDS
RepositoryVibe-Trading
Skill namevaluation-model
Stars
35.2K
Forks
5.7K
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by HKUDS on GitHub. Read the source before you install it.

Installation

Install the Valuation Model AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/HKUDS/Vibe-Trading/tree/main/agent/src/skills/valuation-model
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/HKUDS/Vibe-Trading.git /tmp/Vibe-Trading
mkdir -p .claude/skills
cp -r /tmp/Vibe-Trading/agent/src/skills/valuation-model .claude/skills/valuation-model
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Valuation Model in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Valuation Model on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Valuation Model is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Valuation Methodology

Overview

Systematic corporate valuation framework covering absolute valuation (DCF / DDM / SOTP) and relative valuation (PE / PB / EV-EBITDA), including sensitivity-analysis methods and a checklist for identifying valuation traps.

Absolute Valuation Methods

1. DCF (Discounted Cash Flow)

Core formulas:

Enterprise value = Σ FCF_t / (1+WACC)^t + TV / (1+WACC)^n
Equity value = enterprise value - net debt
Per-share value = equity value / total shares outstanding

Detailed steps:

Step 1: Forecast free cash flow (usually 5 years)
FCFF = EBIT × (1-tax rate) + depreciation & amortization - capex - increase in working capital

Simplified version:
FCFF ≈ operating cash flow - capex
YearRevenue (100m RMB)EBIT (100m RMB)FCFF (100m RMB)Growth
2026E1202418+15%
2027E1382821+15%
2028E1553124+12%
2029E1703426+10%
2030E1823628+7%
Step 2: Calculate WACC
WACC = E/(D+E) × Ke + D/(D+E) × Kd × (1-T)

Ke (cost of equity) = Rf + β × (Rm - Rf)
  - Rf: 10-year government bond yield (about 2.5% for China A-shares)
  - β: industry average or company beta (1.0-1.5)
  - Rm-Rf: equity risk premium (about 5-7% for China A-shares)

Kd: cost of debt (loan rate, about 4-5%)
T: income tax rate (25%)

Reference WACC ranges for China A-shares:

IndustryWACC RangeReference β
Consumer8-10%0.8-1.0
Technology10-13%1.2-1.5
Financials7-9%1.0-1.2
Cyclicals9-12%1.0-1.4
Utilities6-8%0.5-0.8
Step 3: Terminal Value
Perpetual-growth method: TV = FCF_n × (1+g) / (WACC - g)
  - g: perpetual growth rate (usually 2-3%, should not exceed GDP growth)

Exit-multiple method: TV = EBITDA_n × EV/EBITDA multiple
  - Reference the industry average or historical median
Step 4: Sensitivity Analysis
markdown
### DCF Sensitivity Analysis (per-share value, RMB)

| WACC \ g | 2.0% | 2.5% | 3.0% |
|----------|------|------|------|
| 9.0% | 32.5 | 35.8 | 40.2 |
| 9.5% | 28.3 | 30.8 | 34.0 |
| 10.0% | 24.8 | 26.7 | 29.1 |
| 10.5% | 22.0 | 23.5 | 25.3 |
| 11.0% | 19.6 | 20.8 | 22.2 |

2. DDM (Dividend Discount Model)

Applicable to: high-dividend stocks (banks, utilities, mature consumer companies).

Two-stage DDM:
P = Σ D_t / (1+Ke)^t + D_n × (1+g) / [(Ke-g) × (1+Ke)^n]

Gordon model (single stage):
P = D_1 / (Ke - g)

Applicability checklist:

  • Has paid dividends continuously for more than 3 years
  • Stable payout ratio (>30%)
  • Strong earnings predictability
  • Usually not suitable for high-growth stocks (no dividends / low payout)

3. SOTP (Sum of the Parts)

Applicable to: diversified conglomerates.

Group value = Σ valuation of each business segment + net cash - holding-company discount

Example (a group company):
| Segment | Revenue (100m RMB) | Valuation Method | Valuation (100m RMB) |
|------|---------|---------|---------|
| Baijiu | 80 | 30x PE | 600 |
| Real estate | 50 | 0.6x PB | 120 |
| Financials | 30 | 1.0x PB | 200 |
| Total | | | 920 |
| Holding-company discount | | -15% | -138 |
| Group valuation | | | 782 |

Relative Valuation Methods

1. PE Band

Historical PE percentile analysis:
- Take the past 5 years of PE_TTM time series
- Compute the 10% / 25% / 50% / 75% / 90% percentiles
- Judge overvaluation / undervaluation from the current PE percentile

| Percentile | PE | Implied Price | Interpretation |
|------|-----|---------|------|
| 90% | 35x | 52.5 | Severely overvalued |
| 75% | 28x | 42.0 | Rich |
| 50% | 22x | 33.0 | Fair |
| 25% | 16x | 24.0 | Cheap |
| 10% | 12x | 18.0 | Severely undervalued |
| Current | 18x | 27.0 | Cheap (30th percentile) |

2. PB-ROE Matrix

Theoretical relationship: PB = (ROE - g) / (Ke - g)
Practical use: plot companies in the industry on a PB vs ROE scatter chart

| Quadrant | PB | ROE | Interpretation |
|------|-----|-----|------|
| Lower right | Low PB | High ROE | Undervalued (best buy zone) |
| Upper right | High PB | High ROE | Fair (quality premium) |
| Lower left | Low PB | Low ROE | Value trap or distressed turnaround |
| Upper left | High PB | Low ROE | Overvalued (avoid) |

3. EV/EBITDA

EV = market cap + net debt (interest-bearing debt - cash)
EBITDA = operating profit + depreciation + amortization

Advantages:
- Removes capital-structure differences (vs PE)
- Removes depreciation-policy differences
- Suitable for asset-heavy industries (telecom / energy / infrastructure)

Reference EV/EBITDA ranges by China A-share industry:
| Industry | Median | Undervalued | Overvalued |
|------|--------|------|------|
| Consumer | 15-20x | <12x | >25x |
| Technology | 12-18x | <10x | >22x |
| Energy | 6-10x | <5x | >12x |
| Utilities | 8-12x | <6x | >15x |

Valuation-Trap Detection

Top 10 Valuation Traps

#TrapDetection MethodTypical Example
1Low-PE cyclical at the peakPE is lowest when earnings are highest and about to fallCoal at 5x PE in 2021 was the top
2High-PE growth can be justifiedPEG < 1 means the growth rate supports the valuation30x PE + 40% growth = PEG 0.75
3Low-PB value destructionSustained ROE < Ke means shareholder value is being destroyedLong-term loss-making asset-heavy company
4Goodwill bombGoodwill / net assets >30% implies impairment riskUnderperforming acquisition after paying a high premium
5Accounts-receivable trapRising receivables / revenue ratio = poor revenue qualityGovernment receivables + high customer concentration
6Capitalization trapCapitalizing R&D / interest flatters profitPE doubles after true expensing
7One-off gainsLarge gap between recurring net profit and reported net profitAsset sales / government subsidies boost earnings
8Share dilutionStock options / convertible bonds reduce EPSPE should be based on diluted EPS
9Related-party transactionsBuy cheap from related parties / sell high to themProfit shifted outside the listed entity
10FX swingsHigh overseas-revenue share means large currency sensitivityRMB appreciation erodes exporter profits

Analysis Framework

Valuation-Method Selection Decision Tree

What type of company is it?
├── Mature and stable (consumer / utilities / banks)
│   ├── High dividend -> DDM
│   └── Low dividend -> DCF + PE Band
├── High growth (tech / pharma / new energy)
│   └── DCF (high-growth phase) + PEG + PS
├── Cyclical (coal / steel / nonferrous)
│   └── PB + EV/EBITDA (avoid PE)
├── Diversified conglomerate
│   └── SOTP
└── Loss-making company
    └── PS (price-to-sales) + EV/Sales

Cross-Validation

Use at least 2 valuation methods and take the middle value:
1. DCF -> intrinsic value
2. Comparable PE -> market pricing
3. If the difference >30% -> check whether assumptions are reasonable

Output Format

markdown
## Valuation Analysis: [Company Name / Code]

### Valuation Summary
| Method | Per-Share Value | Weight | Notes |
|------|---------|------|------|
| DCF | ¥32.5 | 50% | WACC=10%, g=2.5% |
| Comparable PE | ¥28.0 | 30% | Industry average 22x, EPS=1.27 |
| PB-ROE | ¥30.0 | 20% | Fair PB=2.5x |
| **Composite Target Price** | **¥30.8** | | Current price 25.0, upside +23% |

### Sensitivity Analysis
[WACC vs growth-rate matrix]

### Valuation-Trap Check
- [x] Is PE a falsely low cyclical peak? -> No
- [x] Goodwill / net asset ratio -> 12%, safe
- [x] Receivables / revenue trend -> Stable, not deteriorating
- [ ] Gap in recurring net profit -> 15% difference, subsidy dependence worth attention

### Investment Rating: Buy
Target price ¥30.8, current price ¥25.0, upside 23%

Notes

  1. DCF is highly sensitive to assumptions: a 1% change in WACC can move valuation by 20%+, so sensitivity analysis is mandatory
  2. Comparable companies must truly be comparable: same industry + same scale + same stage; do not apply leader PE multiples to small companies
  3. China A-share valuation system is unique: shell value / liquidity premium / policy premium mean US-equity standards cannot be copied directly
  4. Valuation is not a target price: markets can remain irrational for a long time, and valuation is an anchor, not a trading signal
  5. Special handling for cyclicals: use normalized earnings (mid-cycle earnings), not current earnings
  6. Not suitable for cryptocurrencies: traditional valuation frameworks do not apply to BTC / ETH; use on-chain metrics instead (see onchain-analysis)

Frequently asked questions

What does the Valuation Model AI skill do?

Valuation methodology — absolute valuation with DCF / DDM / SOTP, relative valuation with PE-Band / PB-ROE / EV-EBITDA, sensitivity analysis, and valuation-trap detection.

Why use Valuation Model on TypingMind?

Because you install it once and use it with any model. Valuation Model is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Valuation Model in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/HKUDS/Vibe-Trading/tree/main/agent/src/skills/valuation-model. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Valuation Model?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Valuation Model?

As many as you like. As long as a model supports skills, you can use Valuation Model with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Valuation Model AI skill free?

Yes. It is published on GitHub by HKUDS under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇