Investing strategy, from the basics up
An earlier post made the case for why to invest. This post is the operating manual: how to turn a steady income into an actual portfolio you can run for decades. It’s written to be read top to bottom whether or not you’ve invested before. It starts with the simple, country-agnostic framework (concepts, no tickers), then works the same idea out as a concrete U.S. allocation. The exact funds are collected in one section at the end. The strategy’s core, the discipline, and the behaviors are what matter most; the exact tickers matter the least
Not financial advice. This post is written for a U.S. audience, but the same principles apply anywhere; adjust to your own country’s accounts and tax rules. Pay off high-interest debt before investing. Past returns do not guarantee future returns. Copy the reasoning, not the percentages.
The mindset: think long term, keep it simple
Before any tickers, get the mental model right, because it is what makes everything below survivable. You are not buying assets to flip them later at a higher price. You are slowly converting income into ownership of real businesses, then holding that ownership for decades while it compounds. The default action is to never sell. A 30% drop is the same shares marked lower for a while, not money gone, and you only lose if you sell into it. Keep that frame and the mechanics are easy; lose it and no allocation will save you. The full version, with a century of history behind it, is in Why should we invest our money?.
A handful of habits matter far more than which fund you pick:
- Think in decades, not quarters. The plan assumes a multi-decade horizon. If you might need the money within five years, get far more conservative; equities can stay below their previous high for years.
- Ruthlessly remove liabilities first. Pay off high-interest debt before investing a dollar; credit-card interest beats every realistic investment return. Investing while carrying an expensive balance is running the engine in reverse.
- Raise the savings rate from both ends. Earning more and spending less is a set, and both have to happen: earning more without controlling spending is how high earners stay broke; cutting spending without growing income caps the ceiling. The savings rate, not the allocation, is what drives the timeline.
- Simplicity is the most important feature. The plan you actually follow for thirty years beats the clever one you abandon in year three. Every extra position is one more thing to monitor, rebalance, and get wrong at tax time. Keep it boring and keep it short.
- Don’t reach for complexity you don’t understand. Real estate, single-stock picking, options, leverage, and crypto are each their own discipline. Skip them unless you know absolutely what you’re doing; for almost everyone, a broad index plus the accounts and behavior below beats all of them with a fraction of the effort and risk.
One honest warning about the plan itself: it’s equity-heavy, about 95% stocks, so it can fall 30 to 50% in a single year, and it will, more than once over a multi-decade horizon. It only works if you can sit through a drawdown like that and keep buying through it. That behavioral backbone, keep contributing, don’t sell, ignore the headlines, is the real prerequisite; the mechanics are a distant second.
The whole strategy, in one picture
At its simplest: a cash buffer, an S&P 500 core, and an international-plus-hedge sleeve, filled in that order and left alone for decades. Use whatever tax-advantaged accounts you have. The U.S. version leans on a handful, each taxed differently:
- Taxable brokerage: no tax break, but withdraw anytime. You owe tax on dividends and on gains when you sell.
- 401(k): employer retirement account. Pre-tax in, grows untaxed, taxed as ordinary income on withdrawal after 59½.
- Traditional IRA: the same idea as a 401(k), but opened on your own.
- Roth IRA: after-tax in; growth and withdrawals tax-free forever. The best home for high-growth, tax-ugly holdings.
- HSA (health savings account): the only triple-tax-advantaged account (deductible in, tax-free growth, tax-free out for medical costs). Needs a high-deductible health plan.
- CMA (cash-management account): a brokerage’s checking account. Holds cash, sweeps it into a money-market fund, and carries a debit card and bill-pay.
Those accounts sort into two camps, and the whole tax game is putting the right asset in the right camp:
flowchart LR
subgraph TAXABLE["Taxable (taxed as you go)"]
direction TB
T1["Taxable brokerage"]
T2["CMA cash management"]
end
subgraph ADV["Tax-advantaged (sheltered)"]
direction TB
A1["401(k) · pre-tax in"]
A2["Traditional IRA · pre-tax in"]
A3["Roth IRA · tax-free out"]
A4["HSA · triple tax-free"]
end
Everything below is that same picture at higher resolution, worked out as my own U.S. allocation:
flowchart LR
subgraph EQ["Equity (~95%)"]
direction TB
CORE["S&P 500 core (~70%)"]
INTL["Developed international (~15%)"]
HEDGE["Tax-ugly hedge sleeve (~15%)<br/>small-cap value · one semi name"]
end
subgraph SH["Cash shield (~5%, fixed $)"]
SHIELD["T-bills + money market<br/>6mo–1yr essential expenses"]
end
CORE --> TX["Taxable + 401(k) + HSA<br/>(calm, high-QDI)"]
INTL --> TX
HEDGE --> RO["Roth IRA only<br/>(quarantine tax-ugly stuff)"]
SHIELD --> CMA["CMA<br/>(separate from brokerage)"]
Allocations are percentages of equity except the cash shield, which is a fixed dollar amount equal to six months to one year of essential expenses.
| Sleeve | Account | Allocation | At $1M |
|---|---|---|---|
| S&P 500 core | Taxable + 401(k) + Roth + HSA | ~70% | $700k |
| Developed international | Taxable brokerage | ~15% | $150k |
| Small-cap value + emerging mkt | Roth | ~15% | $150k |
| Cash shield | CMA | fixed ~$20–50k | ~$20–50k |
Scale linearly: at $100k, divide by ten; at $2M, double, except the shield, which stays fixed. Essential expenses don’t scale with net worth, so the shield’s share shrinks as the portfolio grows. Exactly right.
Under ~$100k: just buy the S&P 500
flowchart LR
A[Total invested?] -->|"< $100k"| B["100% S&P 500 everywhere.<br/>Focus on income + savings rate.<br/>Come back at $100k."]
A -->|"≥ $100k"| C["Keep reading.<br/>Asset location starts to move the dial."]
Below ~$100k, the dominant lever is your income and savings rate, not your allocation. The trap is diworsification: buying half a dozen “interesting” funds that are 70 to 90% overlapping with the S&P 500 underneath. Same exposure, more tax-reporting complexity, and the urge to tinker every month.
Under $100k, do exactly this:
- Fill tax-advantaged accounts in order: 401(k) to match, HSA (if HDHP), 401(k) pre-tax limit, Roth IRA (backdoor if needed), taxable.
- Hold 100% S&P 500 across all of them.
- Right-size the cash buffer. A one-year shield is overkill here; hold ~6 months of essential expenses, then put every additional dollar into stocks. Scale up to the full year as the portfolio crosses ~$200k.
- Spend real attention on income and spending efficiency. They move the timeline far more than allocation does.
- Come back at ~$100k. Diversification layers on top; it doesn’t substitute.
The equity core: the S&P 500 (~70%)
A boring, market-cap-weighted index of the American corporate engine, held as the cheapest available S&P 500 fund in each account. Rather than guess which tech giants dominate the next two decades, you buy the whole index and capture top-heavy growth automatically. If one name stalls, something else becomes 12% of the index in five years. That is the index’s job. The S&P 500 has beaten the average actively-managed equity fund over every long horizon for fifty years.
Expense ratios are non-negotiable for the core. A 0.50% fund here silently costs six figures over thirty years on a seven-figure portfolio. The core should cost you almost nothing, under ~0.03% a year. Outside the core, fee tolerance rises with what you get: a value or quality tilt costs more, and can be worth it. Know what the fee is buying, and don’t pay it on the core.
Why the S&P 500, not “total U.S. market”? A total-market fund adds the mid- and small-cap tail on top of the S&P 500. That sounds like free diversification, but the small-cap growth slice in particular is historically the worst-performing factor: high volatility, weak long-run returns. Owning the whole market means owning that slice too. I’d rather take the cleaner large-cap exposure and do the diversification work with the international and hedge sleeves, where I can pick which tilts I want. Reasonable people disagree; a total-market fund is a perfectly defensible default, just not my pick.
Why about 70% U.S.? Global market-cap weight is ~60 to 65% U.S., so 70/30 is only a slight overweight of the world’s largest, deepest market, one already diversified globally by revenue (most S&P 500 firms earn 40%+ of sales overseas). I also believe in U.S. growth over the coming decades: deep capital markets, concentrated R&D, a strong talent pipeline, and real risk tolerance. As Buffett put it, “Never bet against America.” If your view differs, 60/40 or 50/50 is also defensible.
A quick primer: index funds, market cap, growth vs. value.
Index fund: a fund that mechanically buys whatever stocks are in a published index, in the index’s proportions, with no human picking what’s “interesting.” The major ones track the major U.S. indexes: the S&P 500 (~500 large U.S. companies chosen by an S&P committee for size, profitability, and liquidity, not just the literal 500 largest), the Nasdaq-100 (the 100 largest non-financial Nasdaq companies, heavily tech), and total-market indexes (essentially every listed U.S. stock). With no analyst team to pay, fees are tiny, often 0.03% a year or less. That fee gap is the single biggest reason index funds beat the average actively-managed fund over long horizons.
Market cap: share price × shares outstanding. Standard buckets:
- Mega-cap: ~$200B+. Top five as of mid-2026: Nvidia, Apple, Alphabet, Microsoft, Amazon, all multi-trillion.
- Large-cap: ~$10B to $200B.
- Mid-cap: ~$2B to $10B.
- Small-cap: under ~$2B. More volatile, less coverage, historically higher long-term returns with deeper drawdowns.
The S&P 500 covers ~500 large U.S. companies (the whole mega-cap layer plus most of large-cap), about 80% of the U.S. market by value.
Growth vs. value: a separate axis, how the market prices a company relative to current earnings. Growth pays a high multiple expecting fast growth (most mega-cap tech); value is priced cautiously, often in unfashionable sectors (banks, energy, industrials). Over long horizons value has slightly outperformed but can lag for a decade between turns. A broad index already holds both at market-cap weights.
International: developed in taxable, emerging in Roth (~15%)
The bigger decision is what kind of international goes in which account. The dividing line is developed markets vs. emerging markets:
Quick definition: QDI (qualified dividend income) is dividend income that gets taxed at the low long-term capital-gains rate instead of your higher ordinary-income rate. To qualify, the payer has to be a U.S. company (or a foreign one in a country with a U.S. tax treaty) and you have to have held the shares long enough. The higher a fund’s QDI percentage, the more tax-efficient it is to hold in a taxable account.
- Taxable holds developed-market international only. Companies in Europe, Australasia, and the Far East sit in countries with U.S. tax treaties, so their dividends can qualify as QDI, and foreign taxes withheld are claimable as a foreign tax credit on your 1040. Both make a developed-market fund more tax-efficient in taxable than in a Roth.
- Emerging markets go in the Roth only. EM dividends don’t qualify for QDI, so in taxable they’re taxed as ordinary income. Any single fund that blends EM in caps out around 70 to 80% QDI, because the EM slice drags the headline down. Keep EM out of taxable entirely.
The reason the split matters is the bridge: the years between FIRE and age 59½ when retirement accounts unlock.
timeline
title When each account funds your spending
Today → FIRE date : W-2 + RSUs fill every account
FIRE → age 59½ : Sell from taxable only ("the bridge")
Age 59½ → end : 401(k) · Roth · HSA all unlock
Taxable funds the bridge years, so that bucket has to be calm and tax-efficient. Emerging markets and international small-cap are volatile and tax-ugly, exactly wrong for the bridge and exactly right for the Roth.
A concrete screen for taxable: beta. Beta measures how much a fund tends to move relative to the market, with the S&P 500 defined as beta 1.0. A beta of 1.3 means the fund typically swings about 30% more than the S&P 500 in both directions; below 1.0 means calmer. My rule for taxable is simple: don’t hold anything with a higher beta than the S&P 500 fund itself. The core and a broad developed-market index clear that bar; small-cap value, emerging markets, and single stocks don’t. Check a fund’s beta before buying it in taxable, and if it’s meaningfully above 1.0, it belongs in the Roth.
Why hold international at all? The common pushback is that the S&P 500 is already ~40% foreign by revenue. True for revenue, not for returns: an S&P 500 share is priced in U.S. dollars by U.S. investors reacting to U.S. policy. Dedicated international adds three things it can’t:
- Currency. Direct exposure to non-USD currencies. If the dollar weakens, or you eventually spend in yen, euros, or baht, local-currency assets protect purchasing power in a way that a multinational’s foreign revenue does not.
- Valuation. The U.S. trades at a premium to developed and emerging markets. Starting valuation is one of the strongest long-horizon return predictors, and international’s lower starting point hedges U.S. mean reversion.
- Different companies and sectors. Nestlé, Toyota, ASML, and LVMH aren’t in the S&P 500, and non-U.S. is heavier in financials, industrials, materials, and energy. A different return stream, not a redundant one.
The Roth hedge: tax-ugly, high-growth (~15%)
The other ~15% of equity is a hedge sleeve of higher-expected-return, higher-volatility, tax-ugly positions: a small-cap value pair split equally, plus one capped single name.
- U.S. small-cap value and international small-cap value, capturing the size and value premiums.
- One direct semiconductor name on the AI supply side, sized under the 5% concentrated-position cap (~3.75%).
Everything here lives in the Roth for two reasons. These are the steepest growth curves, and every dollar compounding inside the Roth is tax-free forever, so the Roth gets them. And they are tax-ugly (factor turnover, foreign withholding) and higher-beta than the S&P 500, so quarantining them where nothing hits a 1099 and volatility doesn’t touch the bridge is exactly right. The hedge is capped at ~15% and does not expand to fill the Roth. The Roth is usually larger than 15% of the whole portfolio, so once each position hits target, every additional Roth dollar goes into the same S&P 500 fund that anchors the core.
Small-cap value has outperformed over multi-decade horizons with more volatility and a rough recent fifteen-year stretch. Whether the premium is still alive or arbitraged away is genuinely debated: big enough to matter if it reasserts, small enough not to hurt if it doesn’t.
The cash buffer: your shield against forced selling
Start simple: hold six months of essential expenses (rent, food, utilities, insurance, transportation, basic healthcare) in a high-yield savings or money-market account. Most big-bank checking pays near zero; a proper high-yield account pays close to the central-bank policy rate, real money over a buffer this size. Grow it to roughly one year as the portfolio crosses ~$100 to 200k. Six months covers most personal emergencies; a full year covers most market crashes, which usually recover within twelve months but not within six. Past one year is overkill, because cash you’re holding instead of investing is itself a cost. Size it in absolute dollars, not a percentage: six months of groceries doesn’t triple when your investments do.
The deeper reason for the buffer is sequence-of-returns risk (SORR), which is why the safe withdrawal rate (~3.5%) is far below the long-term real return (~7%). The shield exists for exactly one purpose, defusing SORR in the early withdrawal years:
flowchart LR
C[Market drops 30%] --> S[W-2 income stops on the same day]
S --> N[Need cash for rent + groceries]
N --> BAD["❌ Without shield:<br/>sell equity at the bottom →<br/>permanent capital loss"]
N --> OK["✅ With shield:<br/>drain the cash shield instead →<br/>equity recovers untouched"]
style BAD stroke:#c62828,stroke-width:2px
style OK stroke:#2e7d32,stroke-width:2px
In the U.S. version, the shield is short-term Treasury bills plus a government money-market fund, both held in the CMA (cash-management account), not the brokerage. Equities are bought, held, and rebalanced in the brokerage; spendable cash and the near-cash buffer live in the CMA, ready to fund withdrawals without selling anything. Together they hold roughly one year of essential living expenses. Essential = zero discretionary: no travel, restaurants, or upgrades, which all flex down in a crash. Just the floor that keeps the lights on while equities recover.
This is not a “balanced 60/40” portfolio. Over a multi-decade horizon there’s no portfolio-theory reason to hold bonds for “balance”; that’s advice for retirees with much shorter horizons. One-year sizing is the low end of the SORR research range (1 to 3 years covers most bad sequences); I stay low because every extra year of cash is ~7% of real return forgone.
Operationally: during accumulation, build it once (a few months of aggressive saving) and hold flat; after hitting the target, new contributions skip the shield and go to equities, with a once-a-year re-mark against trailing-twelve-month essential spending. In retirement it refills passively, since the equity sleeves spin off ~1.3 to 2.5% in dividends that land in the CMA. Normal years: equity is never sold. The shield is drained only in bad years, exactly when you’d otherwise be forced to sell stock at a loss.
Accounts: fill the tax-advantaged ones first
The account matters as much as the fund, because most countries let money grow tax-free or tax-deferred inside specific wrappers. The universal priority order:
flowchart LR
M["1. Employer-matched retirement<br/>(free money)"]
--> T["2. Tax-deductible retirement<br/>(pre-tax in)"]
T --> R["3. Tax-free growth account<br/>(tax-free out)"]
R --> B["4. Regular brokerage<br/>(everything left over)"]
- Employer match first: it’s part of your compensation, and skipping it leaves money on the table.
- Tax-deductible retirement: pre-tax in, taxed on withdrawal.
- Tax-free growth accounts: post-tax in, all growth and withdrawals tax-free. Usually small annual caps; fill them every year.
- Regular brokerage: anything left over.
Account names differ by country (search “tax-advantaged retirement accounts in your country”). The rest of this section is the U.S. version worked out in detail: which asset goes in which wrapper, and how the money flows there.
The tax engine: QDI + asset location
The prior post showed long-term capital gains in the 0% LTCG bracket make withdrawals tax-free below ~$65k single / ~$131k MFJ of gross income (2026). The same 0% bracket applies to QDI (the qualified dividend income defined earlier). Non-qualified dividends (REITs, most foreign dividends, bond-fund interest) are taxed as ordinary income.
In plain English: if your retirement income is QDI plus realized long-term gains and you stay under the bracket ceiling, your entire federal tax bill is zero. In a no-income-tax state, state too.
That drives the asset-location decisions:
flowchart LR
subgraph Taxable["Taxable brokerage"]
direction TB
A1[S&P 500]
A2[Developed international]
end
subgraph Roth["Roth IRA"]
direction TB
B1[US small-cap value]
B2[Intl small-cap value]
B4[One semi name]
B5[Emerging markets]
end
subgraph K["401(k)"]
C1[S&P 500]
end
subgraph HSA["HSA"]
D1[S&P 500]
end
subgraph CMA["CMA (cash mgmt)"]
direction TB
E1[T-bills]
E2[Money market]
end
Taxable -. QDI + LTCG<br/>tax-free in 0% bracket .-> W[Withdrawal:<br/>$0 federal tax]
Roth -. all distributions<br/>tax-free, no 1099 .-> W
K -. ordinary income<br/>later in life .-> W
HSA -. tax-free for<br/>medical expenses .-> W
CMA -. SORR buffer<br/>+ operational cash .-> W
style W stroke:#2e7d32,stroke-width:2px
The rule in one sentence: hold tax-efficient assets where you will be taxed (taxable), and tax-ugly assets where you won’t (Roth, HSA).
- Taxable = high-QDI generators. The S&P 500 is ~100% QDI; a developed-market international fund lands in the ~70 to 84% range. Their dividends pre-qualify for the 0% bracket.
- Roth = the tax-ugly stuff. Small-cap value throws off annual capital-gains distributions; a foreign single stock has dividend withholding; emerging markets don’t qualify for QDI. Inside the Roth, none of it hits a 1099.
- 401(k) = boring core. Pre-tax in, ordinary-income out, a different tax regime from the 0%-LTCG plan above. Intentional cross-regime diversification in case brackets change in thirty years.
- HSA = the S&P 500 in the only account with a triple tax advantage, so it gets the highest-expected-return liquid asset.
- CMA = cash shield (short-term Treasury bills plus a money-market fund).
The cash flow: paycheck to portfolio
Owning the right funds in the right accounts only matters if the money reaches them in the right order:
flowchart TD
P[Paycheck] --> K["401(k)<br/>pre-tax + match + after-tax"]
P --> HSA["HSA<br/>pre-payroll-tax"]
P --> CMA["CMA cash mgmt<br/>holds the cash shield"]
K -->|in-plan Roth conversion| RothK["Roth 401(k)<br/>mega backdoor"]
HSA -->|invest, do not spend| HSAINV["S&P 500 in HSA<br/>save receipts"]
CMA -->|monthly autopay| CC["Credit card<br/>all spending"]
CMA -->|quarterly manual buys| TBX["Taxable brokerage<br/>S&P 500 + developed intl"]
CMA -->|annually| TIRA["Traditional IRA<br/>non-deductible $7k"]
TIRA -->|same-week conversion| RIRA["Roth IRA<br/>hedge sleeve"]
Each new dollar’s priority order:
flowchart TB
D[New dollar] --> M[401k to employer match]
M --> H[HSA to limit]
H --> K[401k pre-tax to ~$23k limit]
K --> MB[Mega-backdoor Roth<br/>after-tax + in-plan conversion]
MB --> BD[Backdoor Roth IRA<br/>only if no mega-backdoor]
BD --> T[Taxable brokerage<br/>overflow]
style M fill:#e8f5e9
style H fill:#e8f5e9
style K fill:#e8f5e9
style MB fill:#fff3e0
style BD fill:#fff3e0
style T fill:#f5f5f5
A few mechanical pieces unlock most of the tax-advantaged space.
Inside the 401(k): the mega-backdoor Roth. The headline $23,000 pre-tax limit (2026) is the floor. The IRS total annual limit (employee + employer + after-tax) is ~$70,000:
flowchart TB
L1["Layer 1: pre-tax deferral<br/>up to ~$23k"] --> L2["Layer 2: employer match<br/>(typically 3–6% of salary)"]
L2 --> L3["Layer 3: after-tax contributions<br/>fill the rest up to ~$70k total"]
L3 -->|immediate in-plan conversion<br/>ideally automated, daily| ROTH["Roth bucket<br/>tax-free forever"]
style L3 fill:#fff3e0
style ROTH fill:#e8f5e9
On its own, after-tax 401(k) money is the worst of all worlds: post-tax in, but gains taxed at ordinary-income rates out. The fix is to immediately move it to the Roth bucket via an in-plan Roth conversion, ideally automated and ideally daily. Big-tech plans almost always support both after-tax contributions and in-plan conversions. Tens of thousands of extra Roth dollars per year, six figures over a decade.
Outside the 401(k): the backdoor Roth IRA (only if you need it). If your mega-backdoor works, you can stop here. Run the backdoor only when you don’t have mega-backdoor access, or when you want every last dollar of Roth space on top. If you do:
- Contribute the annual limit ($7,000 for 2026) to a Traditional IRA, non-deductible.
- Convert to Roth IRA the same week.
- Buy the hedge sleeve with the now-Roth dollars.
The pro-rata rule is the trap. If you have any pre-tax money in any Traditional / SEP / SIMPLE IRA on December 31, the conversion is treated as proportionally pre-tax and you owe ordinary income tax on the pre-tax fraction. Cleanup: roll old IRAs into your current 401(k) before December 31.
Always max the HSA, the only triple-tax-advantaged U.S. account. Every other account here is double-advantaged. The HSA stacks three:
- Contributions deductible (and through payroll, dodge FICA too, a ~7.65% bonus on top of the income-tax deduction).
- Growth tax-free.
- Qualified medical withdrawals tax-free, with no time limit on when the expense was incurred.
Limits are modest (~$4,400 single / ~$8,800 family for 2026, plus $1,000 catch-up at 55+), but multi-decade compounding inside the wrapper is staggering.
The single most important HSA rule: do not spend it. Pay current medical bills out of pocket from the CMA, save digital copies of every receipt forever, and let the HSA compound undisturbed in the S&P 500. Decades later, reimburse yourself for those old qualifying expenses tax-free against a balance that has been compounding the entire time. A $400 doctor’s bill in 2026 becomes a $3,000+ tax-free reimbursement in 2056. Two preconditions: a qualifying HDHP, and an HSA provider with real investment options (Fidelity is the gold standard).
Quarterly manual buys, dividends off. Every paycheck (net of 401(k) and HSA) lands in the CMA; every credit-card statement is autopaid in full from the CMA; surplus accumulates there. Roughly once a quarter, usually right after an RSU vest, I manually buy the S&P 500 core and the developed-international sleeve in taxable at whatever ratio brings the consolidated portfolio back toward target. Combining “deploy new cash” and “rebalance” into one quarterly action removes a moving part rather than adding one.
Dividend auto-reinvestment (DRIP) is off across every account. Dividends land in cash, accumulate, and the next quarterly buy directs them into whichever sleeve is underweight. No selling, no realized gains, no tax event. With DRIP on, every dividend re-buys the same fund that paid it, locking the allocation in place and forcing you to sell something to rebalance later.
There’s no market-timing here. The window is “whenever the RSU clears,” not “wait for a dip.” Over thirty years, entry-price noise averages out; the only thing that mattered was whether the money got invested at all.
One investment bank, one traditional bank. Run essentially everything through one investment bank (Fidelity; Schwab is equal): one login, one tax package, one cost-basis system. Keep a second account at a traditional bank only for the gaps: Zelle, and in-branch services (notary, medallion signature guarantee, safe deposit box, cashier’s checks). Keep it near-empty, topped up monthly. Stop at two; resist the third for a sign-up bonus.
Spending: budget every transaction
The other half of the rat-race-escape equation is the denominator. The math in the prior post used $58k of annual expenses, observed, only knowable if every transaction over the previous twelve months has been categorized.
- Two or three credit cards, at most. All discretionary, all subscriptions, all travel run through those few cards. Opening five or six to chase sign-up bonuses hurts your credit score (lower average account age, more hard pulls) and fragments the transaction feed across statements, the real cost. Investing well moves the needle by tens of thousands per year; an extra 0.5% cash back on $30k of spend is $150. Don’t optimize the small number at the expense of the big ones.
- A budgeting tool that captures every transaction. YNAB, Monarch, Copilot Money, any of them work if you actually reconcile. I keep a Google Sheet I’ve maintained since day one of full-time work, one row per transaction, augmented with a Gemini-based script that ingests each bank’s export and auto-fills the sheet. Pick whatever matches how you think; the discipline is in the reconciling, not the tool.
- A monthly cap, not a per-category cap. Per-category budgets fall apart the first month a birthday or flight deal lands. A single ceiling, “$X,000 of total monthly spend, full stop,” survives reality.
- Trailing-twelve-month review. Spending is seasonal (insurance, travel, holidays, tax). The honest expense number is trailing-twelve-month, recomputed monthly. That feeds the rat-race-escape math, not the artificially low number from a quiet January.
If the cap is breached two months running, something structural has changed (lifestyle creep, new subscriptions, higher fixed costs) and the cap gets re-examined explicitly. The default failure mode isn’t one spectacular bad month; it’s a quiet 3% upward drift every year that nobody notices until the savings rate has been halved.
That savings rate, (gross − taxes − total spending) / gross, is the single number that drives the timeline. Moving from 30% to 50% cuts roughly a decade off the years-to-escape figure, more than any plausible improvement in investment returns can.
The hardest part is not touching it
Investing itself is the easy half. The hard half, the one that determines whether real-life returns match the spreadsheet, is behavioral. Pick a reasonable portfolio, automate contributions, do nothing for thirty years. The discipline of not acting beats almost any optimization done by acting.
- Automate every contribution. Employer-plan money leaves your paycheck before you see it; for everything else, set an automatic monthly transfer right after payday with auto-invest into the right split. Every manual decision is a chance to second-guess.
- Rebalance quarterly or bi-annually, at most. Daily checks induce action. Look at the allocation, redirect new contributions to the most underweight sleeve, close the tab. Selling existing positions in taxable just realizes gains; rebalancing with new dollars does the same job for free.
- Do not performance-chase. “AI is up 80% this year, let me rotate into a thematic AI fund” is the most reliable way to buy at the top of a cycle. The fund that just made other people rich is, by definition, the one whose returns are in the rear-view mirror.
- Cap single-name, thematic, and crypto positions at 5% of the portfolio, total, not per-position. The one direct stock here is sized at ~3.75%, under the cap. Any concentrated or high-volatility bet counts against the same 5% bucket: single stocks, thematic funds, leveraged products, crypto (Bitcoin, ETH, anything on-chain). When something runs above 5%, trim the profit back into the core. If it drops below 5%, do not add; let it shrink.
- Never sell because of war or politics. Every decade has at least one geopolitical event that feels like the one that breaks the system. The pattern is always the same: the market reprices quickly, recovers, and makes new highs while the people who sold lock in the loss and miss the recovery. Stay invested through every headline. The plan was built knowing crises happen; it does not change because one is currently happening.
- Do not tinker with tickers. Early on I rotated across near-identical funds, convinced each switch was a small optimization. Actual result: years of capital-gains drag, a complicated tax return, meaningful underperformance versus simply buying one of them on day one. The cost of being wrong is paid every year in tax friction; the upside is in basis points.
- Trust your research and strategy. Ignore the noise. There will always be a louder strategy: a friend who’s been sitting in cash for years waiting for the crash, an influencer pushing the next thematic fund, an uncle who’s all-in on gold, an article calling the top. None of them know your tax situation, your horizon, your risk tolerance, or your spending. Do the research once, pick a strategy you can defend to yourself on paper, and stay with it for three decades. The discipline to keep contributing while the noise rotates around you is the single hardest part of this, and the single thing that most reliably separates the people who reach the exit zone from the people who don’t.
A portfolio you check daily is one you’ll eventually wreck. A portfolio you check once a quarter compounds quietly while you live your life.
Ruthless simplicity as a feature
The most underappreciated property of this portfolio is what’s not in it:
- No actively-managed mutual funds
- No concentrated bets above the 5% cap (single stocks + thematic funds + crypto combined)
- No commodity ETFs, managed-futures, or alternatives sleeve
- No leveraged or inverse products
- No 0.5% micro-positions picked up from Reddit
- No overlapping funds (never two S&P 500 funds in the same account, or two versions of the same tilt)
Roughly eight funds plus one stock. New contributions go to whichever bucket is most underweight. The whole portfolio takes maybe thirty minutes a quarter to maintain.
Every extra position is one more chance of an unforced error. Build it to require zero attention during the weeks when life has more important things going on.
The framework underneath: an index core, a small academic tilt in the Roth, a tax engine that exploits the 0% bracket, a fixed cash shield against SORR, and the behavioral discipline to leave it alone. Copy that, and the specific tickers below are interchangeable.
The actual tickers to buy
Everything above is deliberately in concepts, because the concepts are what matter. The specific funds are the last and least important decision. Three things to check on any fund before the ticker itself: its expense ratio, its AUM (assets under management; very low AUM means wider spreads and a small risk the fund closes), and, for anything held in taxable, its QDI percentage (how much of its dividends get the low tax rate) and its beta (keep taxable holdings at or below the S&P 500’s ~1.0). With that lens, here’s what I actually hold.
1. S&P 500 core. Any near-zero-fee S&P 500 fund works; they’re interchangeable.
- VOO (0.03%) is the biggest and most liquid S&P 500 ETF.
- SPYM (SPDR Portfolio S&P 500, 0.02%) is a hair cheaper for the same index.
- FXAIX (Fidelity 500 Index, 0.015%) is the zero-friction mutual fund for a 401(k), Roth, or HSA.
Hold an ETF in taxable and a mutual fund in tax-advantaged accounts; it’s purely operational.
2. Developed international (taxable). A plain, broad, cheap market-cap fund as the core:
- VEA (Vanguard, 0.03%) or SCHF (Schwab, 0.03%): cheapest, broadest, huge AUM. Both are FTSE-based, so they count Korea and Canada as developed (broader than MSCI EAFE funds like EFA / EFV, which exclude both).
- FNDF (Schwab Fundamental) and FIVA (Fidelity International Value Factor) work as a tax-efficient satellite with a value tilt, but their AUM is lower and fees higher, so keep them a satellite. Check the QDI before committing in taxable.
3. Small-cap value (Roth).
- AVUV (U.S.) and AVDV (international) for the size + value tilt with profitability screen.
4. Emerging markets (Roth)
- VWO (Vanguard) or IEMG (iShares Core) are the standard cheap options.
- TSM (Taiwan Semiconductor) is also a good option under the 5% concentrated-position cap.
5. Cash and bonds (CMA).
- SGOV (iShares 0–3 Month Treasury Bond, ~0.09%) holds most of the cash: the cheapest way to earn near the T-bill yield, with interest exempt from state income tax.
- SPAXX (Fidelity government money market, ~3 to 4% as of 2026) does the same job as an auto-sweep, but at a higher expense ratio, so it’s the convenience layer, not the bulk.
- VTEB (Vanguard Tax-Exempt Bond) or the shorter SUB (iShares Short-Term National Muni) are federally tax-exempt munis that only start to make sense in a no-income-tax state, where SGOV’s state-tax exemption buys nothing and the muni’s federal exemption decides it.