User Guide
Why this model exists
Most "what should I buy" tools answer one of two questions: what's up the most right now, or what's cheap right now. Both are traps. Chasing what's up the most means buying after the move already happened. Buying whatever's cheapest means you can't tell a genuine bargain from something that's cheap because it's a bad investment that's declining for good reason.
This tool asks a third, more specific question instead: which securities have a long track record of being strong performers, and are currently trading below where they normally sit relative to their own history and their peers? That's a "buy the proven dip" screen — not a prediction, and not a signal to act on blindly. It's a shortlist of candidates worth a closer look.
The Dashboard — screening scores
| Ticker | Group | Price | Quality | Opportunity | Combined | Rebound | Held | Signal |
|---|---|---|---|---|---|---|---|---|
| SMERY | STOCK | $35.67 | 82 | 61 | 70 | 28 | ★ | HOLD |
| ALIT | STOCK | $13.43 | 55 | 74 | 63 | 79 | BUY | |
| VTSTX | MUTF | $118.02 | 58 | 22 | 31 | 15 | WATCH | |
| QFRXX | MUTF | $4.12 | 32 | 18 | 22 | 9 | — |
Quality Score 0–100
A long-run measure of how strong and consistent a security's returns have been, deliberately built to ignore short-term noise. A fund that grinds out steady gains scores higher here than one that occasionally spikes but is mostly choppy — even if their raw returns end up similar.
Opportunity Score 0–100
Combines quality with a genuine, current dip. This score requires two independent signals to agree before it treats a drop as a real opportunity — not just one. A security that's simply volatile, or one sitting exactly at its recent high, does not score well here even if it happens to have strong quality.
Combined Score 0–100
A blend of quality and opportunity that specifically punishes imbalance — a security only scores well here if it's reasonably strong on both measures, not exceptional on one while weak on the other.
Rebound Score 0–100
Answers a different question than the others: does this security normally rank near the top of its peer group, and has it recently fallen hard in that ranking? This is peer-relative — it compares a security to others in its own group (e.g. other stocks, or other funds in the same category), not to the market as a whole.
The Buy / Sell / Hold / Watch signal
The underlying screen is identical for every security — it's the same question either way: does this currently look like a genuine opportunity, a genuine problem, or neither? What changes is only the label, depending on whether you actually hold it:
| Signal | Applies to | General idea |
|---|---|---|
| BUY | Held & not held | Looks like a strong, genuine opportunity right now. Means "worth adding to" if you hold it, "worth starting" if you don't. |
| SELL | Held only | The position's underlying quality has meaningfully weakened, or it's fallen well outside its normal range with nothing to suggest it's a temporary dip. |
| HOLD | Held only | Neither of the above — nothing urgent in either direction for a position you already own. |
| WATCH | Not held only | Marginal — nothing strong enough in either direction to be worth acting on, but not a red flag either. Worth a glance now and then. |
| (blank) | Not held only | Whatever would have triggered a SELL for a held position — a real red flag, not just lukewarm — is left blank rather than labeled at all for something you don't own. |
The Portfolio — your actual holdings
| Ticker | Buy Date | Buy Qty | Buy Price | Cost Basis | Current Price | Remaining | Status |
|---|---|---|---|---|---|---|---|
| ALIT | 2025-06-11 | 185.00 | $4.63 | $856.55 | $13.43 | 0.00 | CLOSED |
| SMERY | 2024-12-12 | 45.00 | $10.65 | $486.20 | $35.67 | 45.00 | ACTIVE |
Why purchases are tracked as separate "lots"
Every time you buy shares of something, that purchase becomes its own row — even if you already own that ticker. Buying more SMERY next month doesn't merge into your existing SMERY position; it creates a second, independent lot with its own date, price, and cost basis.
Fields you enter when recording a purchase
| Field | What to enter | Why it's needed |
|---|---|---|
| Purchase Date | The actual trade date. | Determines holding period (short vs. long-term for tax purposes) and lot ordering for FIFO/LIFO matching later. |
| Quantity | Number of shares bought. | The basis for every downstream calculation — cost basis, remaining shares, unrealized gain/loss. |
| Purchase Price | Price actually paid per share. | Combined with quantity, this sets your true cost basis — the number every gain/loss calculation is measured against. |
| Transaction Fees | Total fees/commissions on the trade, if any. | Fees add to your cost basis. Leaving this blank when a real fee was charged understates your true cost and overstates your gain. |
| Notes | Free text — anything you want to remember about this specific purchase. | Purely for your own reference; not used in any calculation. |
Filtering by asset type
Stocks price continuously throughout the trading day; mutual funds price once per day after market close. Mixing both in the same view can make the register feel inconsistent — a fund's price might be from yesterday's close while a stock's is from minutes ago. The type filter lets you focus on one category at a time.
| Value | What it shows |
|---|---|
| STOCK | Individual equities — companies traded on an exchange intraday. |
| MUTF | Mutual funds — priced once per day after market close (NAV). |
| ETF | Exchange-traded funds — trade like stocks intraday but track an index or basket. |
| All | No filter — every position regardless of type. |
Employer subsidy & tax fields ESPP / RSU
| Ticker | Buy Price | Mkt Price at Buy | Co. Subsidy | Tax Withheld |
|---|---|---|---|---|
| ALIT | $6.77 | $7.97 | $70.53 | $21.16 |
| Field | What to enter | Why it's needed |
|---|---|---|
| Subsidy Type | Which mechanism applied: a straight purchase discount, a "lookback" pricing period, an outright stock grant (RSU), a guaranteed minimum price, or "Other." | Different mechanisms are taxed differently and computed differently — this tells the app which shape of benefit you received. |
| Market Price at Purchase | What the stock was actually trading for on the open market on your purchase date — not the discounted price you paid. | The gap between this and what you paid is the value your employer effectively gave you. Without this, that value is invisible and your cost basis looks artificially low without explanation. |
| Tax Withheld on Subsidy | Any payroll/supplemental tax your employer already withheld specifically on the subsidy portion. | This income is typically already reported as ordinary wages on your paycheck. Recording what was already withheld here helps you avoid mentally double-counting it as an additional, separate gain later. |
Recording a sale & matching methods
| Field | What to enter | Why it's needed |
|---|---|---|
| Sale Date | The actual trade date of the sale. | Used for holding-period and gain/loss timing, and to correctly apply any stock splits by date. |
| Quantity Sold | Number of shares sold in this transaction. | Determines how much is drawn down from the lot(s) you select, and can't exceed what's actually available. |
| Sale Price | Price actually received per share. | Combined with the matched lot's cost basis, this produces your realized gain or loss on this sale. |
| Fees | Total fees/commissions on the sale. | Fees reduce your net proceeds and therefore your realized gain — same principle as purchase fees, in reverse. |
| Matching Method | FIFO, LIFO, or Specific Lot ID. | See below — this choice can meaningfully change your reported gain/loss. |
Why the matching method matters
FIFO (first in, first out) sells your oldest shares first. LIFO (last in, first out) sells your newest shares first. Specific Lot ID lets you hand-pick exactly which lot(s) — and how many shares from each — the sale draws from.
Stock splits
| Field | What to enter | Why it's needed |
|---|---|---|
| Split Date | The effective date of the split. | Determines which existing lots are eligible to be adjusted. |
| Ratio | E.g. 2 for a 2-for-1 split, or 0.5 for a 1-for-2 reverse split. | Sets how share count and per-share cost basis are recalculated on affected lots. |
Reading the register — statuses & locks
Lot status
| Status | Meaning |
|---|---|
| ACTIVE | No shares from this lot have been sold. |
| PARTIAL | Some shares sold, some remain. |
| CLOSED | Fully sold. The lot stays visible in the register rather than disappearing — its history is preserved permanently. |
Why lots "lock" once sold
Once a sale references a lot, that lot's purchase date, quantity, price, and fees become read-only (shown with a 🔒). The realized gain/loss already recorded for that sale was calculated from those exact numbers — changing them after the fact would silently corrupt a number you may have already reported on a tax return.