170 signals in eight groups. Each is a reading your rule checks against a limit you set, like a P/E above its five-year average or cash under 5%. None of them is a call to buy or sell.
Back to the overviewYour positions, your cash and the risk of the whole book.
On your whole portfolio: Weighted portfolio beta using available fundamentals data.
On a stock or ETF: Beta for the selected holding.
Uninvested cash in dollars across connected brokerage accounts. Use it to flag idle cash (e.g. > 50000 sitting uninvested).
Backtests: Cash is synced from your brokerage as of today, and there is no history of it to replay.
Uninvested cash as a percent of the total portfolio (cash + holdings). Use with ≥ for a minimum cash buffer (e.g. keep ≥ 5% cash).
Backtests: Cash is synced from your brokerage as of today, and there is no history of it to replay.
Adds the portfolio weights of the holdings you choose. Use it to check their combined weight against your limit.
Average correlation across the holdings in your portfolio.
Root-mean-square drift between your current weights and target weights.
How far this holding sits from its target weight, as a percent of that target. Targeted at 20% and sitting at 25% reads +25.
How far this holding sits from its target weight, in percentage points. Positive is overweight, negative is underweight.
The furthest any holding sits from its target weight, as a percent of that target. The relative half of the 5/25 rule is ≥ 25. Uses equal weight when the rule sets no target weights.
The furthest any holding sits from its target weight, in percentage points. A 5-point rebalancing band is ≥ 5. Uses equal weight when the rule sets no target weights.
The most names you hold in any single sector. Use with ≤ to cap concentration by count (e.g. ≤ 5 per sector).
Number of distinct held names. Use with ≤ to cap how many positions you carry (e.g. ≤ 20).
Number of distinct sectors you hold. Use with ≥ as a diversification floor.
Current pairwise return correlation between the two selected holdings using available price history.
Percent below your portfolio's highest recorded value, measured on the daily snapshot taken every trading day.
Unrealized gain or loss on your position versus its average cost basis. It needs a position: with no shares held there is no cost basis and the condition has no reading. For a price move over a set window, use a 5-Day, 60-Day, 120-Day or 12-Month Return instead.
Current portfolio exposure to the selected sector.
The weight this rule targets for the holding.
Current total portfolio market value in dollars.
Unrealized gain or loss on your position in dollars, versus what it cost. If an account holding it has no cost from your broker, as with a transferred-in position, the condition has no reading. With no shares held it reads $0.
On your whole portfolio: Annualized portfolio volatility based on available price history.
On a stock or ETF: Annualized volatility for the selected holding.
Current portfolio weight for this holding.
What a business earns, owes and costs, alone and against its own history or its sector.
Revenue per dollar of assets (TTM).
Net share-count reduction over the past year, as a percent. Positive = the company is buying back stock; negative = dilution.
Current assets over current liabilities (TTM). Below 1 can signal liquidity stress.
Debt-to-equity ratio from the fundamentals snapshot.
Earnings as a percent of price (TTM), the inverse of P/E.
Trailing-twelve-month EPS versus the prior TTM, as a percent, the year-over-year earnings trend.
Enterprise value over EBIT (TTM), the Acquirer's Multiple. Lower is cheaper.
Enterprise value to EBITDA multiple (TTM).
ETF expense ratio, when available.
Free cash flow as a percent of revenue (TTM). Pair with revenue growth for the Rule of 40.
Free cash flow as a percent of market value (TTM).
Graham's fair value per share (TTM). Compare against price to screen for a margin of safety.
Gross profit margin (TTM), as a percent.
Operating cash flow over net income (TTM). Below 1 means reported earnings are running ahead of the cash collected.
EBIT over interest expense (TTM). Higher means debt is easier to service.
Market capitalization from the fundamentals snapshot.
Net debt over EBITDA (TTM). Above 3 is usually considered levered.
Net profit margin (TTM), as a percent.
Net current asset value per share (TTM). Price below it is Graham's net-net screen.
Operating profit margin (TTM), as a percent.
Price-to-book ratio from the fundamentals snapshot.
Approximate percent premium or discount versus the trailing five-year average implied P/B, using current book value and historical prices.
Percent premium or discount versus the current sector median P/B.
Price-to-earnings ratio from the fundamentals snapshot.
Approximate percent premium or discount versus the trailing five-year average implied P/E, using current earnings and historical prices.
Percent premium or discount versus the current sector median P/E.
Price-to-free-cash-flow ratio (TTM).
Price-to-sales ratio (TTM).
P/E divided by earnings growth (TTM). Below 1 is often considered cheap for the growth.
Quick (acid-test) ratio (TTM), excluding inventory.
Revenue growth rate from the fundamentals snapshot.
Return on assets (TTM), as a percent.
Return on equity from the fundamentals snapshot.
Return on invested capital (TTM), as a percent. The usual quality bar for a compounder is a durable 15%+.
Dividend yield spread versus the current sector median, in percentage points.
Earnings dates and surprises, dividends, and analyst rating changes.
Most recent analyst action: +1 upgrade, −1 downgrade, 0 maintain or initiate.
Calendar days since the most recent earnings report. Pair with a surprise metric to act on a fresh report.
Calendar days since the most recent analyst grade action. Pair with the rating change to act while fresh.
Calendar days until this holding's next known earnings date.
Calendar days until this holding's next known ex-dividend date.
Calendar days until the nearest upcoming earnings date across your holdings.
Calendar days until the nearest upcoming ex-dividend date across your holdings.
Five-year compound annual growth rate of the annual dividend, as a percent.
The latest declared dividend versus the median of the previous four payments, as a percent. Negative means the payment was reduced; the median baseline keeps a one-off special dividend from reading as a cut.
Returns 1 when the latest declared dividend came in below the recent norm, otherwise 0. The classic sell trigger for a dividend-growth holding.
Consecutive complete years the annual dividend rose. Use ≥ to screen dividend growers (e.g. ≥ 10 hikes).
On your whole portfolio: Weighted dividend yield across your holdings.
On a stock or ETF: Dividend yield for the selected holding.
Returns 1 when the most recent reported quarter beat the EPS estimate, otherwise 0.
Returns 1 when any in-scope holding has its next earnings date today, otherwise 0.
EPS surprise of the most recent reported quarter: (actual − estimate) / |estimate| × 100. Negative means a miss.
Returns 1 when any in-scope holding has its next ex-dividend date today, otherwise 0.
Returns 1 when this holding's next earnings date is today, otherwise 0.
Returns 1 when this holding's next ex-dividend date is today, otherwise 0.
Dividends as a percent of earnings (TTM).
Revenue surprise of the most recent reported quarter, as a percent. Negative means below estimate.
Dividend income as a percent of what you paid, not what the shares are worth today. Bought at $20 and now paying $1.60 reads 8% here and 2% as a quoted yield.
Price, moving averages, oscillators, returns and volume. Read on daily bars, one per trading day. An intraday rule uses today's live price as the bar still forming, so the window is unchanged.
The 12-month return measured to one month ago, skipping the most recent 21 sessions. The skip avoids short-term reversal, which is why momentum ranking is usually built on this rather than the raw 12-month number.
Percent price change versus the close 252 trading days ago (~12-month momentum). Above 0 is the absolute-momentum leg of dual momentum.
Percent price change versus the close 120 trading days ago (~6-month momentum).
Percent price change versus the close 5 trading days ago (1-week momentum).
Percent price change versus the close 60 trading days ago (~3-month momentum).
Average Directional Index over the last 14 daily bars: trend strength regardless of direction. Above 25 signals a strong trend.
Average True Range over the last 14 daily bars: the typical daily high-to-low range in dollars.
ATR as a percent of price. Use it to size volatility-based (ATR) stops.
Average daily share volume over the trailing 30 trading days.
Bollinger band spread as a percent of the 20-day average. A low value signals a volatility squeeze.
Commodity Channel Index over the last 20 daily bars. Above +100 or below -100 flags a stretched move.
Where the close landed versus the day's high (≤ 0; 0 = closed right at the high).
Where the close landed versus the day's low (≥ 0; 0 = closed right at the low).
The latest quote's percent change versus the prior daily close.
Percent distance to whichever 52-week boundary is nearer, the high or the low. A small number means price is pinned against one end of its year.
Number of consecutive sessions the close fell. Use with ≥ to catch streaks (e.g. down 3 days in a row).
Percent drop from the holding's trailing peak in available history.
Percent distance from the highest close of the last 20 sessions. 0 means a new 20-day high.
Percent distance above the lowest close of the last 20 sessions. 0 means a new 20-day low.
Distance from the 52-week high, expressed as a percent.
The day's high-to-low range as a percent of the close, single-bar volatility.
MACD histogram. Crossing zero approximates MACD crossing the signal line.
MACD line using 12/26-day EMAs.
MACD signal line using a 9-day EMA of MACD.
Money Flow Index over the last 14 daily bars: a volume-weighted RSI. Above 80 is overbought, below 20 oversold.
Today's open versus the prior close, as a percent. Use < to catch gap-downs at the open (e.g. gap_pct < -5).
Latest market price for this holding.
Percent distance between price and the 20-day lower Bollinger Band.
Percent distance between price and the 200-day moving average.
Percent distance between price and the 50-day moving average.
Percent distance between price and the 20-day upper Bollinger Band.
20-day rate of change (momentum): percent change versus the close 20 trading days ago.
Today's volume divided by the 30-day average. 1.0 = average, 3.0 = a 3x spike.
Relative Strength Index over the last 14 daily bars. Below 30 is the common oversold read, above 70 overbought.
Average of the last 200 daily closes, in dollars.
Average of the last 50 daily closes, in dollars.
Average of the last 3 daily %K readings.
Close-only stochastic %K over the last 14 daily bars: 0 sits at the 14-day low, 100 at the high.
Number of consecutive sessions the close rose. Use with ≥ to catch streaks (e.g. up 3 days in a row).
Latest daily share volume for this holding.
Percent distance of the close from the 20-day volume-weighted average price. Negative = trading below VWAP.
Williams %R over the last 14 daily bars: 0 = at the 14-day high, -100 = at the low. Below -80 is oversold, above -20 overbought.
Where a holding stands against the rest of your holdings or a list.
This holding's percentile among your holdings by drawdown. 100 is the shallowest drop.
Where this holding places among your holdings by drawdown. 1 is the shallowest drop.
This holding's percentile among your holdings by 12-month return. 100 is the strongest.
Where this holding places among your holdings by 12-month return. 1 is the strongest.
This holding's percentile among your holdings by position gain/loss. 100 is the best performer.
Where this holding places among your holdings by position gain/loss. 1 is the best performer.
This holding's percentile among your holdings by return on equity. 100 is the highest.
Where this holding places among your holdings by return on equity. 1 is the highest.
This holding's percentile among your holdings by volatility. 100 is the steadiest.
Where this holding places among your holdings by volatility. 1 is the steadiest.
This holding's percentile among your holdings by P/B ratio. 100 is the cheapest.
Where this holding places among your holdings by P/B ratio. 1 is the cheapest.
This holding's percentile among your holdings by P/E ratio. 100 is the cheapest.
Where this holding places among your holdings by P/E ratio. 1 is the cheapest.
This holding's percentile among your holdings by dividend yield. 100 is the highest.
Where this holding places among your holdings by dividend yield. 1 is the highest.
What the broad market is doing: index levels, drawdowns, sell-off days and the VIX.
How many trading days in the last month (21 sessions) closed down 3% or more.
How many trading days in the last quarter (63 sessions) closed down 3% or more.
Daily percent change for the selected index.
Trading days since the index last closed down 3% or more. 0 on the drop day itself.
Percent distance from the index's trailing high.
The index's latest level, in points. An intraday rule reads the live quote, an end-of-day rule the closing print.
The VIX's latest level: roughly what the options market expects S&P 500 volatility to be over the next 30 days. Near 20 is ordinary, above 30 is stressed.
Rates, inflation, growth and commodities, the backdrop every holding shares.
10-year Treasury yield minus 2-year Treasury yield, in percentage points.
Latest 10-year Treasury inflation-protected (TIPS) real yield from FRED.
Latest 10-year Treasury yield from FRED, forward-filled on non-reporting days.
Returns 1 when the 10-year Treasury yield is below the 2-year Treasury yield, otherwise 0.
Latest 2-year Treasury yield from FRED, forward-filled on non-reporting days.
Latest 30-year Treasury yield from FRED, forward-filled on non-reporting days.
Latest 3-month Treasury bill yield from FRED, forward-filled on non-reporting days.
Year-over-year CPI change from FRED, expressed as a percent.
Latest effective federal funds rate from FRED, forward-filled on non-reporting days.
Latest gold futures price (USD/oz, FMP GCUSD), a real spot proxy, not a GLD ETF wrapper.
ICE BofA US high-yield option-adjusted credit spread from FRED, in percentage points. Widening = stress.
PCE price index, year-over-year percent, from FRED (PCEPI), the Fed's preferred inflation gauge (distinct from CPI).
Real GDP growth, year-over-year percent, from FRED (GDPC1). Below 0 flags contraction.
US advance retail sales growth, year-over-year percent, from FRED (RSAFS), consumer-demand health.
Latest US unemployment rate (U-3) from FRED, as a percent.
Broad trade-weighted US dollar index from FRED, a DXY-style measure of dollar strength.
Latest WTI crude oil spot price (USD/barrel) from FRED.
Days, months and session boundaries, for rules that run on a schedule.
Calendar day of the month (1-31). Use with == or ≥ for date-based scheduling.
ISO weekday of today: Monday=1 … Sunday=7. Use == to schedule, e.g. day_of_week == 5 for every Friday.
Returns 1 on the first trading session of the month, otherwise 0 (the month-start counterpart of is_month_end).
Returns 1 on the final trading session of the current month, otherwise 0.
Returns 1 on the final trading session of the current quarter, otherwise 0.
Returns 1 on the final trading session of the calendar year, otherwise 0.
Calendar month: January=1 … December=12. Useful for seasonal rules.
Trading sessions remaining until the final market day of the current month.
Trading sessions remaining until the final market day of the current quarter.
Trading sessions remaining until the final market day of the current calendar year.