- name
- thesis-tracker
- category
- strategy
- description
- Buy-side discipline system. For each holding, maintain a written investment thesis — core thesis in 5 sentences, falsifiable assumptions, red lines, valuation anchors — and re-check it each quarter against new earnings/events. Scores thesis health 1-10 from assumption breakage and red-line triggers, and recommends hold / add / trim / exit. Use it right after buying a stock (to write the thesis) and every earnings season (to check it). Bridges the research→buy→monitor gap that most investors skip.
# Investment Thesis Tracker: Post-Buy Discipline
Track an investment thesis for a holding. First use on a company → build the thesis; later uses → quarterly check.
**Supported input**: company name (auto-decide build vs track); `company build` (force rebuild); `company quarterly check` (against latest earnings).
> "Buying is only the beginning. The real work is continuous tracking through the holding period." — Li Lu
>
> "When the facts change, I change my mind. What do you do, sir?" — Keynes
## Design Philosophy
Most investors' process is: research → buy → pray. Without systematic post-buy tracking, they: refuse to sell when they should ("wait, it'll come back"); panic-sell when they shouldn't ("down 20%, was I wrong?"); forget why they bought ("why did I buy this again?").
Buffett and Li Lu write down sell conditions **before** buying, then check the thesis each quarter.
## Step 1: Decide the Mode
Check whether a thesis file already exists (use `read_file` on `reports/{company}-thesis.md`): not found → **Build** (Mode A); found → **Track** (Mode B).
---
## Mode A: Build the Investment Thesis
### A0: Data Collection
Use `web_search` to get the current price, valuation (PE/PB/dividend yield), and latest financials. If a research report exists, `read_file` it first. Use `financial_rigor` (`command=verify_valuation`) to verify valuation, `financial_rigor` (`command=verify_market_cap`) to sanity-check market cap.
### A1: Core Thesis (must be writable in ≤200 words)
The thesis must answer 5 questions, one sentence each:
```
I bought {Company} at {price} because:
1. The essence of this business is ___, and I understand how it makes money.
2. Its moat is ___, and it's widening / stable.
3. Management is ___, trustworthy because ___.
4. The current price is a {discount}% to intrinsic value; the margin of safety comes from ___.
5. Even if I'm wrong, downside is contained because ___.
```
**If you can't fill 5 sentences, the thesis itself is flawed — the buy decision isn't clear enough.**
### A2: Core Assumptions List
Break the thesis into verifiable assumptions (3-7 typically; too few = shallow thinking, too many = unfocused):
| # | Core Assumption | How to verify | Frequency | Status |
|---|-----------------|---------------|-----------|--------|
| 1 | e.g. revenue growth stays >15% | Quarterly revenue growth | Quarterly | 🟢 Holding |
| 2 | e.g. gross margin stable >60% | Quarterly gross margin | Quarterly | 🟢 Holding |
### A3: Red Lines (triggering any one = must re-evaluate)
| # | Red-line condition | Severity | Action on trigger |
|---|--------------------|----------|-------------------|
| 1 | Management integrity problem (fraud, related-party) | Fatal | Exit immediately |
| 2 | Core business revenue down 2 consecutive quarters | Severe | Trim 50%, re-evaluate |
| 3 | Moat explicitly breached (competitor reaches parity) | Severe | Deep research, consider exit |
| 4 | Regulatory change fundamentally alters the business model | Severe | Re-value intrinsic value |
| 5 | Management large unplanned disposal | Warning | Investigate |
| 6 | **Macro trend reversal for this name's end-market** — e.g. demographic clock (population decline) for consumer/property/education names; consumption downgrade (居民边际消费下降); generational shift away from the category | Severe | Re-evaluate the long-term demand base; for consumer-dependent names, this is often a slow-moving but fatal headwind — assess whether the thesis still holds at a structurally lower growth path |
> The red line on macro trends (demographic clock / consumption / generational) is deliberately explicit: a value-investing thesis that picks a consumer name without weighing population decline and consumption-trend headwinds is incomplete. For non-consumer names (e.g. pure B2B industrial), this red line may be loose; for consumer/retail/education/property names, weight it heavily.
> Duan Yongping: "There are only three reasons to sell: 1. you got the buy wrong; 2. the fundamentals changed; 3. you found something better."
### A4: Valuation Anchors
| Metric | At buy | Optimistic target | Neutral target | Pessimistic |
|--------|--------|-------------------|-----------------|-------------|
| Price | | | | |
| PE (TTM) | | | | |
| Market cap | | | | |
| Intrinsic value estimate | | | | |
| Margin of safety | | | | |
### A5: Save the Thesis
Use `write_file` to write `reports/{company}-thesis.md`, including: build date, buy price and position, core thesis (5 sentences), assumptions list, red lines, valuation anchors, tracking table (empty initially).
---
## Mode B: Tracking Check
### B1: Read the Existing Thesis
Use `read_file` to load core thesis, assumptions, red lines, last check record.
### B2: Gather Latest Data
Use `web_search` / `get_stock_news` / `get_financial_statements`: ① latest earnings (if new quarter/year); ② recent material events (management, regulation, competition); ③ current price and valuation; ④ insider transactions (major shareholder changes).
### B3: Check Each Assumption
| # | Core Assumption | Last status | Latest evidence | Current status | Change |
|---|-----------------|-------------|-----------------|----------------|--------|
| 1 | Revenue growth >15% | 🟢 Holding | Q4 revenue growth 12% | 🟡 Weakening | ⚠️ |
Status definitions:
- 🟢 **Holding** — latest data supports
- 🟡 **Weakening** — still acceptable, but trend is unfavorable
- 🔴 **Impaired** — data clearly does not support
- ⚫ **Broken** — assumption has been overturned
### B4: Red-Line Check
Check each red line; any triggered → flag prominently in the report + clear action recommendation.
### B5: Valuation Update
Use `financial_rigor` (`command=verify_valuation`) to recompute PE/PB/ROE; compare against buy-time and last check:
| Metric | At buy | Last check | Current | Change |
|--------|--------|------------|---------|--------|
| Price | | | | |
| PE (TTM) | | | | |
| Intrinsic value estimate | | | | |
| Margin of safety | | | | |
### B6: Output the Tracking Report
Structure: ① Thesis health score (out of 10); ② Assumption check table; ③ Red-line check table; ④ Key changes this period (≤500 words); ⑤ Valuation update; ⑥ Conclusion and action; ⑦ Focus for next check.
**Health formula**: `10 - (⚫broken × 3) - (🔴impaired × 2) - (🟡weakening × 1) - (red-lines triggered × 5)`, min 1, max 10.
| Score | Meaning | Action |
|:-----:|---------|--------|
| 9-10 | All assumptions hold, thesis stronger than at buy | Consider adding |
| 7-8 | Core assumptions hold, some weakening | Continue holding |
| 5-6 | 1-2 assumptions impaired, core logic intact | Hold but raise alertness |
| 3-4 | Multiple assumptions impaired, foundation shaken | Consider trimming |
| 1-2 | Red line triggered or core assumption broken | Strongly consider exit |
**The conclusion must clearly answer**: ① Is the thesis still intact? (intact / weakening / impaired / broken); ② What to do? (add / hold / trim / exit); ③ Next check timing (next earnings / a specific event).
### B7: Update the Thesis File
Use `write_file` to append this check to the tracking table in `reports/{company}-thesis.md`:
| Check date | Health | Key change | Action |
|------------|:------:|------------|--------|
| 2026-04-09 | 7/10 | Revenue growth slowed to 12%, but margins improved | Hold |
---
## Key Principles
- **Write sell conditions before buying** — decisions made calmly beat decisions made in panic.
- **Assumptions must be verifiable** — "a great company" is not a thesis; "ROE>25% and stable" is.
- **Act when a red line triggers** — "let's wait and see" is how big losses happen.
- **Thesis breaking ≠ stock falling** — a 30% price drop doesn't force a sell; a broken thesis does.
- **Be honest about mistakes** — if the thesis was wrong, admit it; don't defend it to save face.
- **Weigh macro headwinds for consumer names** — demographic decline and consumption downgrade are slow but can be fatal for consumer/property/education theses; bake them into red lines, not just quarterly checks.
Ver en GitHub