Monthly portfolio — 40/60 barbell

As of 2026-08-13 · run #14 · baskets formed 2026-08-03 · universe 828 names · daily dashboard · archive

Allocator

stays in your browser (localStorage) — never sent or published

Rebalance

Performance since inception

Barbell since 2026-07-28
+7.4%
base 100 at inception
vs SPY
+2.2pp
SPY +5.0% same window
Realized vol (21d)
35%
12 sessions
VT20 dial
57%
min(1, 20% / vol) — informational
100 ■ barbell 107.4 ■ SPY 105.0 2026-07-29 2026-08-13

Live out-of-sample record from first formation (2026-07-28), computed nightly from closes: daily equal weight, new basket accrues from the next session, 5 bps/side membership turnover. Base 100. This is the record the backtests get judged against.

The strategy, honestly

Construction: 40% momentum (12-1 return, top 25 of the ≥$10B universe) + 60% low-vol (lowest-vol quintile, 126-day realized). Rebalance on the first trading day of each month at the close; positions accrue from the next session. No trend filter.

Expectations: Rebuilt 15y point-in-time engine (live convention): ~0.82 Sharpe, ~+14%/yr, −36% once-a-cycle drawdown, worst calendar year ≈ −6%. Plan around these, not the flattered 3-year numbers.

10m-SMA trend gateREJECTED 2026-08-04 — lowers Sharpe in every variant; net-negative even inside the 2020/2022 bears.
20% vol-target (21d, cap 1.0)APPROVED 2026-08-05 as optional crash insurance only: maxDD −36%→−20% for ~1.4pp CAGR/yr. The dial below shows its current exposure; the default book stays unfiltered.
Month-end formationREJECTED 2026-08-05 — the apparent edge was a cap-vintage artifact; formation stays first-run-of-month.
Cap-lag universe (paper A/B)Pre-registered live log since 2026-08-05; not adopted. Not part of these instructions.

Low-vol sleeve: three ways to hold it

OptionWhat it isCost vs tested strategy
Full quintile, fractional (default) All 165 names at equal weight — exactly the tested strategy. Needs a broker with fractional shares (Fidelity, Schwab, IBKR).None — this IS the strategy.
Top-40 lowest-vol (whole-share mode below) First 40 names of the ranked quintile — 65 positions total. Barbell Sharpe give-up +0.00, sleeve correlation 0.969, tracking error 3.4%/yr (15y backtest).
USMV ETF substitute One ticker for the whole sleeve. Changes the strategy: external MSCI methodology, correlation 0.942 to our quintile. Backtests comparably (barbell give-up +0.00) but it is no longer the tested construction.

Execution checklist & FAQ

  1. Baskets form at the evening run on the first trading day of the month (this page updates that night). Trade at the next session's open — the engine assumes fills at the formation close, so next-open is the closest realizable implementation (the overnight gap is unmodeled). "Sometime that week" quietly adds tracking error.
  2. Sell everything on the sell list (full positions), then buy the buy list at the weights shown by the allocator. Market-at-open orders are fine at these liquidity levels.
  3. Joining mid-month? Buy the current baskets now at allocator weights; expect a few basis points of tracking noise vs having entered at formation. Or park in BIL until the 1st.
  4. Missed a rebalance? Do it when you notice, using this page's current baskets — the screener itself forms late the same way when the machine was off on the 1st.
  5. Halted/delisted name? Hold the proceeds as cash until the next rebalance. (The NAV record instead redistributes the weight across surviving names — a small, known tracking difference vs your book.)
  6. VT20 overlay (optional, default off): scales the whole book by w = min(1, 20% / trailing 21-day vol), remainder in BIL. It is crash insurance priced at ~1.4pp CAGR/yr — see the research table. Toggle it above only if a ~−20% drawdown floor matters more to you than that premium.