Value — selection & rebalancing

How the top stocks are selected

At each rebalance, every S&P 500 company is scored by its earnings yield — how much profit it earns per dollar of market value:

score = net income (most recent fiscal year) ÷ market cap

Market cap is shares outstanding × that month's close. The engine holds the N highest-yield names (the cheapest relative to profits) in equal weight. A high earnings yield is the same idea as a low P/E; using total net income (rather than per-share EPS) keeps it consistent with our split-adjusted prices. Companies with negative earnings score low and are not selected.

When it buys and sells (the rebalance)

Prices are month-end closes. Value ranks on the prior month-end and trades at the current month-end close, using the latest fiscal-year earnings reported as of that date.

Worked example — N = 5, quarterly rebalance

Data window & caveats. Fundamentals come from yfinance, which only exposes about 4–5 years of annual statements. So the Value backtest effectively begins around 2022 — earlier months have no fundamentals and are skipped (much like Momentum's 12-month warm-up), while Market Cap, Momentum, and Low Volatility still run from 2016. It uses annual net income (not trailing-twelve-month), applied with a roughly one-year reporting lag, on the current S&P 500 membership. Every trade is modeled at the month-end close. Educational only — not investment advice.

The Rebalance style controls what happens to the weights at each rebalance — a full equal-weight reset, a reset only when the line-up changes, or trading just the additions and removals.

Run this backtest →