Equity Valuation Framework
Use this skill as the "rules of the game" for valuation decisions and report standardization.
Scope and role
- Purpose: transform already-fetched data into a professional valuation view.
- This skill does not fetch data.
- Upstream data should come from:
vnstock-free-expert for company/price/ratio inputs
nso-macro-monitor, us-macro-news-monitor, vn-market-news-monitor for macro/news context
When to trigger
- User asks: "value this stock", "is it cheap/expensive", "best stock between A/B/C", "give me bull/base/bear", "build an investment memo".
- User requests a decision-ready report, not only raw metrics.
Required input contract
Accept an input bundle with these sections (missing fields allowed, but must be flagged):
{
"ticker": "HPG",
"as_of_date": "YYYY-MM-DD",
"currency": "VND",
"financials": {
"income_statement": {},
"balance_sheet": {},
"cash_flow": {},
"ratios": {}
},
"price_history": {
"daily": [],
"returns": {
"1m": null,
"3m": null,
"6m": null,
"12m": null
}
},
"peer_set": ["AAA", "BBB"],
"macro_snapshot": {},
"news_digest": {},
"metadata": {
"source": "kbs|vci",
"data_quality_notes": []
}
}
Execution workflow (ordered)
- Validate input bundle completeness and freshness.
- Run the data quality gate and assign initial confidence.
- Select valuation modules based on available data (
Multiples, DCF, sector adaptation).
- Build bull/base/bear scenarios with explicit assumptions.
- Triangulate fair value, define safety zone, and list key risks.
- Apply confidence rubric and disclose gaps that can change conclusions.
- Return the report using the required section order.
Data quality gate (must run first)
- Check freshness: state report periods and price cutoff date.
- Check completeness: identify missing key lines (revenue, EBIT, net income, CFO, debt, equity, shares).
- Check consistency: basic identity checks (assets = liabilities + equity if available).
- Mark confidence tier:
High: complete + recent + internally consistent.
Medium: minor gaps, valuation still usable.
Low: major gaps; only directional view allowed.
Shared confidence rubric (required)
Use this standardized interpretation:
High: valuation triangulation is valid (>= 2 robust methods), assumptions are explicit, and key inputs are complete.
Medium: only one robust method is usable or moderate gaps require wider valuation ranges.
Low: major input gaps/quality issues force directional valuation only (no precise fair-value claim).
Always report:
- Confidence level.
- Which modules were actually run (
Multiples, DCF, sector adaptations).
- Critical missing inputs that would most likely change fair value.
Valuation modules
Run modules based on available data. Prefer triangulation (2+ methods).
1) Relative valuation (Multiples)
Use when at least one of earnings/book/EBITDA is reliable.
- Core multiples:
P/E (earnings-based)
P/B (capital-intensive, banks/financials)
EV/EBITDA (operating comparison)
- Optional:
EV/Sales, P/CF
- Compare across:
- peer median / percentile
- company 3-5y own history
- Normalize for one-off items when possible.
- Output:
- implied value range per multiple
- weighted relative-value estimate
2) DCF valuation
Use only when cash-flow visibility is acceptable.
- Model setup:
- Forecast horizon: 5-10 years (default 5 if uncertain)
- Revenue growth path by scenario
- Margin path (EBIT/FCF margin)
- Reinvestment assumptions
- WACC with explicit inputs (risk-free, ERP, beta, debt cost)
- Terminal value: Gordon or exit multiple (state choice)
- Mandatory sensitivity grid:
- WACC ±100 bps
- terminal growth ±50 bps
- Output:
- base/bull/bear fair value
- sensitivity table
3) Sector-specific adaptation
Banks / Insurance / Financials
- Prioritize:
P/B, ROE, asset quality proxies, capital adequacy proxies, funding cost/NIM proxies.
- De-emphasize EV/EBITDA.
- Evaluate sustainability of ROE and provisioning pressure.
Cyclicals (steel, chemicals, commodities, shipping)
- Use cycle-aware assumptions:
- normalized margin, not peak margin
- conservative terminal assumptions
- Add cycle-risk note as first-class risk item.
Quality and business resilience checklist
Assess each item as Strong / Neutral / Weak with one-line evidence:
- Moat and pricing power
- Governance and capital allocation
- Earnings quality (cash conversion, accrual risk)
- Balance-sheet risk (leverage, maturity risk)
- Cyclicality and external dependency
- Execution track record
Scenario framework (required)
Always provide three scenarios:
Bull: better macro + execution upside
Base: most likely path under current conditions
Bear: macro/industry shock + execution shortfall
For each scenario include:
- Key assumptions
- Expected fundamental trajectory
- Implied fair value range
- Probability weight (optional but preferred)
Margin of safety rule
- Define
Fair Value range from module triangulation.
- Define
Safety Zone below fair value (default 15-30% depending on confidence and cyclicality).
- Avoid absolute buy/sell commands.
- Use language: "appears undervalued / fairly valued / stretched" and "requires margin-of-safety discipline".
Decision policy (how to conclude)
Create an integrated view from:
- valuation outputs (multiples + DCF if valid)
- business quality checklist
- macro/news constraints
If the user is managing a watchlist/portfolio, end with conditional action framing suitable for portfolio-risk-manager:
Trigger to add risk (what would increase conviction)
Trigger to reduce risk
Invalidation (what would make the thesis wrong)
Horizon (ngắn/trung/dài)
Conclusion label:
Attractive (valuation discount + acceptable quality/risk)
Watchlist (mixed signals, wait for trigger)
Caution (valuation unsupported or risk too high)
Required report output template
Return exactly these sections in this order:
Executive Summary
- One paragraph: current valuation stance and why.
What Data Was Used
- Source, as-of date, statement periods, peer set.
Core Thesis (Bull / Base / Bear)
Valuation Work
- Multiples table (current vs peer vs implied)
- DCF summary (if run)
- Sensitivity table
Business Quality Assessment
- Checklist table with evidence lines.
Risk Register
- Ranked risks with impact, probability, and monitoring trigger.
Fair Value and Safety Zone
- Fair value range and margin-of-safety zone with rationale.
Confidence and Gaps
- Confidence level and exact missing data that could change the view.
Disclaimer
- Educational analysis only, not personalized investment advice.
Formatting standards
- Use simple language and explain terms briefly.
- State all critical assumptions explicitly.
- Distinguish facts vs assumptions vs inference.
- Do not hide data gaps; surface them early.
- Keep numbers auditable and unit-consistent (VND bn/trn, %, x).
Minimal scoring rubric (optional but recommended)
If user asks for ranking within this framework:
Valuation 40%
Quality 35%
Momentum/Revision 15%
Risk penalty 10%
Calibrate per sector and confidence.
Fail-safe behavior
If data quality is low:
- downgrade confidence
- skip fragile modules (e.g., DCF)
- deliver directional valuation only
- list exact data needed for full valuation
Trigger examples
- "Value HPG with bull/base/bear and margin of safety."
- "Compare VCB vs BID valuation and explain the thesis."
- "Prepare a structured valuation memo with sensitivity table and risk register."
1---2name: equity-valuation-framework3description: Provides a decision-grade equity valuation playbook and report standard (multiples, DCF, quality assessment, scenarios, margin of safety); used when users request valuation, best-stock comparison, investment thesis explanation, or structured risk review.4---5
6# Equity Valuation Framework
7
8Use this skill as the "rules of the game" for valuation decisions and report standardization.
9
10## Scope and role
11- Purpose: transform already-fetched data into a professional valuation view.
12- This skill does **not** fetch data.
13- Upstream data should come from:
14 - `vnstock-free-expert` for company/price/ratio inputs
15 - `nso-macro-monitor`, `us-macro-news-monitor`, `vn-market-news-monitor` for macro/news context
16
17## When to trigger
18- User asks: "value this stock", "is it cheap/expensive", "best stock between A/B/C", "give me bull/base/bear", "build an investment memo".
19- User requests a decision-ready report, not only raw metrics.
20
21## Required input contract
22Accept an input bundle with these sections (missing fields allowed, but must be flagged):
23
24```json
25{
26 "ticker": "HPG",
27 "as_of_date": "YYYY-MM-DD",
28 "currency": "VND",
29 "financials": {
30 "income_statement": {},
31 "balance_sheet": {},
32 "cash_flow": {},
33 "ratios": {}
34 },
35 "price_history": {
36 "daily": [],
37 "returns": {
38 "1m": null,
39 "3m": null,
40 "6m": null,
41 "12m": null
42 }
43 },
44 "peer_set": ["AAA", "BBB"],
45 "macro_snapshot": {},
46 "news_digest": {},
47 "metadata": {
48 "source": "kbs|vci",
49 "data_quality_notes": []
50 }
51}
52```
53
54## Execution workflow (ordered)
551. Validate input bundle completeness and freshness.
562. Run the data quality gate and assign initial confidence.
573. Select valuation modules based on available data (`Multiples`, `DCF`, sector adaptation).
584. Build bull/base/bear scenarios with explicit assumptions.
595. Triangulate fair value, define safety zone, and list key risks.
606. Apply confidence rubric and disclose gaps that can change conclusions.
617. Return the report using the required section order.
62
63## Data quality gate (must run first)
641. Check freshness: state report periods and price cutoff date.
652. Check completeness: identify missing key lines (revenue, EBIT, net income, CFO, debt, equity, shares).
663. Check consistency: basic identity checks (assets = liabilities + equity if available).
674. Mark confidence tier:
68- `High`: complete + recent + internally consistent.
69- `Medium`: minor gaps, valuation still usable.
70- `Low`: major gaps; only directional view allowed.
71
72## Shared confidence rubric (required)
73Use this standardized interpretation:
74- `High`: valuation triangulation is valid (>= 2 robust methods), assumptions are explicit, and key inputs are complete.
75- `Medium`: only one robust method is usable or moderate gaps require wider valuation ranges.
76- `Low`: major input gaps/quality issues force directional valuation only (no precise fair-value claim).
77
78Always report:
791. Confidence level.
802. Which modules were actually run (`Multiples`, `DCF`, sector adaptations).
813. Critical missing inputs that would most likely change fair value.
82
83## Valuation modules
84Run modules based on available data. Prefer triangulation (2+ methods).
85
86### 1) Relative valuation (Multiples)
87Use when at least one of earnings/book/EBITDA is reliable.
88
89- Core multiples:
90 - `P/E` (earnings-based)
91 - `P/B` (capital-intensive, banks/financials)
92 - `EV/EBITDA` (operating comparison)
93 - Optional: `EV/Sales`, `P/CF`
94- Compare across:
95 - peer median / percentile
96 - company 3-5y own history
97- Normalize for one-off items when possible.
98- Output:
99 - implied value range per multiple
100 - weighted relative-value estimate
101
102### 2) DCF valuation
103Use only when cash-flow visibility is acceptable.
104
105- Model setup:
106 - Forecast horizon: 5-10 years (default 5 if uncertain)
107 - Revenue growth path by scenario
108 - Margin path (EBIT/FCF margin)
109 - Reinvestment assumptions
110 - WACC with explicit inputs (risk-free, ERP, beta, debt cost)
111 - Terminal value: Gordon or exit multiple (state choice)
112- Mandatory sensitivity grid:
113 - WACC ±100 bps
114 - terminal growth ±50 bps
115- Output:
116 - base/bull/bear fair value
117 - sensitivity table
118
119### 3) Sector-specific adaptation
120#### Banks / Insurance / Financials
121- Prioritize: `P/B`, `ROE`, asset quality proxies, capital adequacy proxies, funding cost/NIM proxies.
122- De-emphasize EV/EBITDA.
123- Evaluate sustainability of ROE and provisioning pressure.
124
125#### Cyclicals (steel, chemicals, commodities, shipping)
126- Use cycle-aware assumptions:
127 - normalized margin, not peak margin
128 - conservative terminal assumptions
129- Add cycle-risk note as first-class risk item.
130
131## Quality and business resilience checklist
132Assess each item as `Strong / Neutral / Weak` with one-line evidence:
133- Moat and pricing power
134- Governance and capital allocation
135- Earnings quality (cash conversion, accrual risk)
136- Balance-sheet risk (leverage, maturity risk)
137- Cyclicality and external dependency
138- Execution track record
139
140## Scenario framework (required)
141Always provide three scenarios:
1421. `Bull`: better macro + execution upside
1432. `Base`: most likely path under current conditions
1443. `Bear`: macro/industry shock + execution shortfall
145
146For each scenario include:
147- Key assumptions
148- Expected fundamental trajectory
149- Implied fair value range
150- Probability weight (optional but preferred)
151
152## Margin of safety rule
153- Define `Fair Value` range from module triangulation.
154- Define `Safety Zone` below fair value (default 15-30% depending on confidence and cyclicality).
155- Avoid absolute buy/sell commands.
156- Use language: "appears undervalued / fairly valued / stretched" and "requires margin-of-safety discipline".
157
158## Decision policy (how to conclude)
159Create an integrated view from:
160- valuation outputs (multiples + DCF if valid)
161- business quality checklist
162- macro/news constraints
163
164If the user is managing a watchlist/portfolio, end with **conditional action framing** suitable for `portfolio-risk-manager`:
165- `Trigger to add risk` (what would increase conviction)
166- `Trigger to reduce risk`
167- `Invalidation` (what would make the thesis wrong)
168- `Horizon` (ngắn/trung/dài)
169
170Conclusion label:
171- `Attractive` (valuation discount + acceptable quality/risk)
172- `Watchlist` (mixed signals, wait for trigger)
173- `Caution` (valuation unsupported or risk too high)
174
175## Required report output template
176Return exactly these sections in this order:
177
1781. `Executive Summary`
179- One paragraph: current valuation stance and why.
180
1812. `What Data Was Used`
182- Source, as-of date, statement periods, peer set.
183
1843. `Core Thesis (Bull / Base / Bear)`
185- Key drivers by scenario.
186
1874. `Valuation Work`
188- Multiples table (current vs peer vs implied)
189- DCF summary (if run)
190- Sensitivity table
191
1925. `Business Quality Assessment`
193- Checklist table with evidence lines.
194
1956. `Risk Register`
196- Ranked risks with impact, probability, and monitoring trigger.
197
1987. `Fair Value and Safety Zone`
199- Fair value range and margin-of-safety zone with rationale.
200
2018. `Confidence and Gaps`
202- Confidence level and exact missing data that could change the view.
203
2049. `Disclaimer`
205- Educational analysis only, not personalized investment advice.
206
207## Formatting standards
208- Use simple language and explain terms briefly.
209- State all critical assumptions explicitly.
210- Distinguish facts vs assumptions vs inference.
211- Do not hide data gaps; surface them early.
212- Keep numbers auditable and unit-consistent (VND bn/trn, %, x).
213
214## Minimal scoring rubric (optional but recommended)
215If user asks for ranking within this framework:
216- `Valuation` 40%
217- `Quality` 35%
218- `Momentum/Revision` 15%
219- `Risk penalty` 10%
220
221Calibrate per sector and confidence.
222
223## Fail-safe behavior
224If data quality is low:
225- downgrade confidence
226- skip fragile modules (e.g., DCF)
227- deliver directional valuation only
228- list exact data needed for full valuation
229
230## Trigger examples
231- "Value HPG with bull/base/bear and margin of safety."
232- "Compare VCB vs BID valuation and explain the thesis."
233- "Prepare a structured valuation memo with sensitivity table and risk register."