Rulebook Wealth docs
Everything the model does is written down here. If a brief says something these pages do not explain, tell us in the forum and we will fix the docs, not the brief.
Join early access
Accounts open soon. One Mast account will give access to all our products. Until then, join early access and try the demo preview on simulated data.
Read the risk meter
The meter is a 0–100 number. Above 60 is risk-on, below 40 is risk-off, between is neutral. The label shows "(leaning)" when the reading is inside a band but the label has not yet flipped — see hysteresis below. The three columns under the gauge are its inputs, each with the underlying figure so you can check it.
| Reading | Label | Equity sleeve | Gold sleeve |
|---|---|---|---|
| ≥ 60 | Risk-on | Top of band | Bottom of band |
| 40–59 | Neutral | Middle | Middle |
| < 40 | Risk-off | Bottom of band | Top of band |
| < 25 and geo-risk > 75 | Crisis (sub-regime) | Bottom of band | Top of band; cash floor +5 |
Use the portfolio builder
- Set your profile and horizon in the allocation panel. The horizon only affects the projected-range fan.
- Enter current holdings as percentages that sum to 100, then Rebuild allocation. The drift table shows the gap between what you hold and what the model holds.
- Explore other regimes with the Regime control. "Live" is this week's reading; the others show what the same profile would hold in another regime. Nothing you do here changes the live model.
The builder is available without an account as a demo preview on simulated data. Saving a profile will require an account once accounts open. Keyboard: 1 2 3 switch profile, R cycles the regime, ? replays the tour.
What the banker does
The banker is one assistant, reachable from the same place in every view header — Ask the banker, or the A key — and from the command palette with C. Opening it from a view hands it that view's state: the profile, the regime reading, the horizon, the portfolio value, how far your holdings have drifted from the model, and what your standing mandate says. It is the same assistant entered with context, never a second one.
Its job is portfolio construction, and it is meant to be handed the whole of it:
- It takes a mandate. You state once who you are, how long the money can stay invested and what you will not accept. That sets the weights, the horizon, the drift tolerance and the guard it argues hardest.
- It then works on its own, on the clock and on every change you make to the profile, horizon, regime or your own sleeves. Each sweep is one of: price the drift, check the four house guards, digest the newest note, re-read what you said you could sit through, set the rebalancing schedule, put a stray control back, audit its own record, re-run the projected range, filter the alerts.
- It writes down everything. Every entry carries what it did, why it did it, and the number that came out. Entries are tagged checked (nothing changed), changed something (reversible), wants a decision (it will not act itself), miss (it is auditing itself) or error (it could not compute something and is not claiming a number).
- It reports rather than accumulates. A standing summary says what is new since you last looked, how much of it changed anything, and what — if anything — is waiting on you.
The six standing mandates
You pick one. Each states who it is for, the horizon and what it will not accept — and each prints what it costs you before you pick it, because no answer here is free. The costs below are described qualitatively; the demo preview prints the figures on simulated data.
| Mandate | Profile · horizon · tolerance | Guard it argues hardest | What it costs you |
|---|---|---|---|
| Protect what I already have | conservative · 5 y · 1.5 pts | Drawdown halt −20 % | Gives up compounding in exchange for a shallower fall. In a rally you will lag, and a tight tolerance also means more trades and more slippage. |
| Compound this for decades | growth · 30 y · 3.0 pts | Position sizing, quarter-Kelly | Accepts a noticeably deeper worst fall than the conservative mix — a loss you would have to sit through without selling. |
| Sleep at night | conservative · 10 y · 1.5 pts | Drawdown halt −20 % | The same compounding given up. It is not the mix with the best return, and it will keep answering the shallow question rather than the best one. |
| Stay ahead of prices | balanced · 20 y · 2.0 pts | Execution cap 20 bps | 1.7 points a year against the growth weights and a deeper fall than the conservative ones (−11.8 % against −10.4 %). A gap sometimes waits a week rather than closing at a wide spread. |
| Run this beside a pension | growth · 20 y · 3.0 pts | Position ceiling 7.5 % | The same deeper worst fall as growth. Watching concentration rather than volatility means it holds a volatile sleeve through a fall, so long as no single company passes 7.5 %. |
| Understand it before I commit money | balanced · 10 y · 2.0 pts | Position ceiling 7.5 % | It acts less: every proposal waits on you, and a decision you never make is still a decision. |
Sizing stays at quarter-Kelly (0.25) inside the 7.5 % per-company ceiling, the −20 % drawdown halt and the 20 bps execution cap in every one of the six. Changing the mandate never wipes the log.
What it refuses
The refusals are hard rules, not tone. It says no in full sentences and states what it did instead — which is usually nothing.
| If you ask for | What it does |
|---|---|
| Leverage, margin, day-trading, a promised return, doubling down | Refuses: “No — and not a milder version of it either. This model is unleveraged, it rebalances once a week rather than by the hour, and every tilt is sized at a quarter of the mathematically optimal bet.” Nothing on the screen changes. |
| A sleeve weight outside its published band | Refuses and names the nearest weight it can set, with the band printed. The band is the guard, so it will not size past it. |
| Action on something a reader argued for in the forum | Refuses: “I will not move a weighting because a forum post argued for it: the sleeves come from the regime model and the published bands, and nothing else gets a vote.” If the thread names a series, it will read that series against the record. |
| The rebalance to be executed | Prices it in full — trades, euro moved, expected slippage, legs skipped on the 20 bps cap — and stops: “I will not place it for you.” Rulebook Wealth holds no money and asks for no broker credentials. |
| Your book to be moved back to the mandate after you changed the profile | Raises the mismatch with both drawdown figures and leaves the call with you: “I will not move it back without being told to — you changed it, so you decide.” |
| Its hit rate to be treated as proof | Refuses: “No, and I will not dress it up. 14 completed directional calls is a small number.” It prints the standard error next to the hit rate. |
Where its numbers come from
Every figure the banker prints is produced by the same functions that draw the panels. There is no separate model behind the assistant, so the log and the screen cannot disagree. If it cannot compute something it says so and names the panel that owns the number — for example, when your five sleeves do not total 100 %: “a trade list built on weights that do not add up to 100 % is arithmetic on a mistake rather than an answer.”
- Drift, trades, euro moved and slippage come from the rebalance plan on the Portfolio view, priced on your own holdings.
- Guard headroom comes from the Guards view: quarter-Kelly sizing, the −20 % halt against the model's own deepest loss, the largest single company against 7.5 %, the Bitcoin sleeve against its 15 % hard cap, and the last rebalance against the 20 bps cap.
- Returns, drawdowns, worst twelve months, hit rate and lagging stretches come from the Track record view: one 152-month illustrative sample, costs taken out, measured against a static 60/40 on the same data.
- The projected range comes from the Projected range panel: 160 paths on your profile's volatility. The median is not an expectation — it is simply the middle one.
These are illustrative model outputs on a published rule set, not a track record of client money and not a forecast.
Pause, undo and stop it
- Pause. One click on the Standing mandate view. It stops checking and stops changing anything: “Nothing already in the log is removed — a log you can quietly edit is not a log.”
- Resume. One click. It goes back on the clock and on every change you make to the profile, horizon, regime or your own sleeves.
- Undo the last action. One click, and only ever on entries tagged changed something. The original entry stays in the log, struck through. If it has changed nothing, the button is disabled and it says so rather than pretending.
- Change the mandate. One click reopens the chooser with all six and their costs. Your current mandate is untouched until you pick one, and the log is kept.
- Stop entirely. Clearing the mandate leaves it idle: “You have not given me one yet, so I am doing nothing on my own — and I would rather say that than pretend to be busy.”
Everything the banker stores stays in your browser on the guest preview. Nothing is sent anywhere, and there is nothing to place a trade with.
How the regime model works
Version 2 (live since 2026-09-01). Three components, each z-scored over a rolling 10-year window and mapped to 0–100, then blended:
| Component | Weight | Inputs | Direction |
|---|---|---|---|
| Liquidity | 50 % | 3-month impulse of global broad money (US M2, EA M3, JP M2, CN M2, USD terms) + change in Fed, ECB, BoJ, PBoC balance sheets | Higher = risk-on |
| Inflation momentum | 30 % | 3-month annualised core CPI vs 12-month trend; 2-year TIPS breakeven change | Higher = risk-off |
| Geo-risk | 20 % | GDELT conflict tone (30-day), conflict-event density (30-day), both vs 3-year baseline | Higher = risk-off |
meter = 0.5 * liquidity + 0.3 * (100 - inflation_momentum) + 0.2 * (100 - geo_risk)
label(t) =
if meter(t) crossed a band edge by ≥ 8 points
and stayed there for 2 consecutive weekly readings → new label
else → previous label # hysteresis; "(leaning)" shown while pending
Hysteresis is the part people ask about. A reading of 38 is inside the risk-off band, but the label only flips if the meter moved at least 8 points to get there and confirms the following week. This prevents the 2019 and 2023 pattern of flipping back and forth on noise. The cost is that the model is always a week or two late at genuine turns. We consider that a fair price.
Components are recomputed every Thursday 06:00 CET from data published up to Wednesday close. Inputs and intermediate values are shown on the meter columns and, for Pro, in the archive.
Allocation rules
Each profile has a fixed band per asset. The regime picks the point inside the band; the weekly change cap limits how fast the weight gets there.
| Asset | Conservative | Balanced | Growth |
|---|---|---|---|
| Equities (global, hedged 50 %) | 25–42 % | 34–55 % | 47–64 % |
| Bonds (⅔ intermediate, ⅓ long) | 35–37 % | 20–28 % | 10–20 % |
| Gold (physical / physically backed) | 10–20 % | 10–20 % | 8–15 % |
| Bitcoin (spot, no leverage) | 3–6 % | 6–10 % | 8–15 % |
| Cash (T-bills / MMF) | 7–15 % | 5–12 % | 3–10 % |
- Bitcoin hard cap 15 % in any profile, any regime. Rationale: at ~4× equity volatility, 15 % already contributes as much risk as the whole equity sleeve. See brief #85.
- Cash floor 3 / 5 / 7 %. Raised by 5 points in the crisis sub-regime.
- Weekly change cap 5 percentage points per asset. A full regime flip takes 2–3 weeks to express.
- Gold floor 8 % in every profile. It is never sold to zero.
- No leverage, no shorts, no derivatives. The model holds five long-only sleeves. It does not use options, futures or margin, and never will.
Projected range
The fan in the builder is a Monte Carlo simulation: 160 paths of weekly returns drawn from a distribution with the historical volatility of the current mix and a modest drift. It is illustrative. It is there to show dispersion, not expected return. The median path is highlighted only because readers asked for it. P5 and P95 are printed so the width is unmissable. Correlations are assumed constant, which they are not in the regimes that matter — treat the lower tail as optimistic.
Alerts
Pro accounts receive alerts in the app and by e-mail when a component crosses a threshold. Every alert names the input, the level, and what the model did in response. Built-in alerts:
| Alert | Trigger |
|---|---|
| Regime flip | Label changes (after hysteresis) |
| Inflation print | Headline or core CPI deviates ≥ 0.2 pp from consensus |
| Liquidity threshold | Liquidity impulse crosses ±1.0 % |
| Geo-risk spike | Geo-risk index crosses 70, or +10 points in a week |
| Allocation change | Any sleeve moves ≥ 2 points |
Custom rules (Pro) are written as one-line conditions, evaluated weekly:
# examples
gold.weight >= 18 → "Gold near top of band"
liquidity.impulse < -1.5 → "Liquidity deeply negative"
meter.value < 30 and geo.value > 70 → "Crisis conditions"
The weekly brief
Published Thursdays. Drafted by our editorial model from the week's data, reviewed line by line by a human editor, and signed "Rulebook Wealth Editorial". Every chart cites its source series. Briefs are never silently edited; corrections are appended with a date. Each brief ends with the allocation-change table and the risk disclaimer. Briefs do not contain calls to action, product recommendations or price targets.
Community rules
- No leverage talk, no "signals", no price targets.
- Cite the series (FRED id, GDELT query, conflict-event filter) when you make a factual claim.
- Disagree with the model, politely. The editors read every thread and answer model questions in public.
- Reading is free for every account. Posting and replying require Pro.
Exporting the allocation
Pro accounts can export the current allocation, the profile's band rules and the caps as JSON or CSV. The file is generated in your browser when you click Export; nothing is pushed from our servers to your machine, and nothing is sent back.
{
"product": "rulebookwealth", "version": "2.2.0", "asof": "2026-09-04",
"profile": "balanced", "regime": "risk-off-leaning", "meter": 38,
"weights": { "equities": 0.34, "bonds": 0.28, "gold": 0.20, "bitcoin": 0.06, "cash": 0.12 },
"bands": { "equities": [0.34, 0.55], "bonds": [0.20, 0.28], "gold": [0.10, 0.20], "bitcoin": [0.06, 0.10], "cash": [0.05, 0.12] },
"caps": { "bitcoin": 0.15, "weekly_change": 0.05 }
}
| Format | What it contains | Typical use |
|---|---|---|
| JSON | Weights, bands, caps, meter reading and model version, exactly as above. | Scripts, notebooks, your own tooling |
| CSV | One row per sleeve: date, profile, weight, band floor, band ceiling. | Spreadsheets and portfolio trackers |
| Order-ticket sheet | Your holdings against the model weights, with the difference in percentage points. | Copying into a broker’s order screen by hand |
See Export & connector for the optional folder-watcher helper.
Data sources
We publish derived indices, not raw data. Every input is a public series; the transformations are documented here so anyone can rebuild them.
| Source | Series used | Used for | Licence note |
|---|---|---|---|
| FRED (St. Louis Fed) | M2SL, WALCL, ECBASSETSW, CPIAUCSL, CPILFESL, DGS2, DGS10, DFII10, T5YIE | Liquidity, inflation momentum | Public domain / FRED terms; we redistribute only derived values |
| BoJ, PBoC, ECB statistical releases | Balance-sheet totals, M2/M3 | Liquidity | Public statistical releases |
| GDELT | GKG conflict tone, 30-day rolling, global | Geo-risk | Open; derived index only |
| Conflict events | Event counts by region, 30-day density vs 3-year baseline | Geo-risk | Used under the provider's access terms; counts are aggregated, no event-level redistribution |
| central-bank gold statistics / IMF IFS | Official-sector purchases | Brief charts | Cited per chart |
Your keys stay yours
Rulebook Wealth itself never asks for a trading credential — it has nothing to execute. The optional custody link under Settings is read-only, reads balances and nothing else, and refuses any key carrying trade, withdrawal or transfer scope; typing five percentages instead is still the recommended route. Whatever you use to place orders runs on your own machine or in your own broker account and never touches us. The only thing Rulebook Wealth ever produces is the allocation file above, and only when you click Export. Details in Legal → Data licensing & BYOK.
Free vs Pro
Planned plans — Rulebook Wealth is in early access and not on sale yet. Free: the banker in every view header on the Balanced profile, a standing mandate that reports on its own, the full mandate log and its published misses, plus the brief, the meter and the Balanced allocation (read-only). Pro (planned €19 / month or €190 / year) adds a banker that acts on all three profiles, full reasoning, alerts and custom rules, the regime archive and JSON export. Planned pricing →
Not financial advice
Rulebook Wealth is an educational publication and a modelling tool. The regime meter describes conditions. The model allocations show how a rules-based portfolio for three illustrative profiles would be tilted in those conditions. They are not recommendations for you: we do not know your income, liabilities, tax position, time horizon or temperament. No return is promised or implied anywhere on this site; where we show ranges they are illustrative and explicitly not forecasts. Model allocations can and do lose money. Please read the full risk disclaimer and speak to a licensed adviser before acting on anything you read here.