Best setups · strongest evidence first
Best setups
Every signal from every sleeve on both desks, ranked by how strong the evidence behind its strategy is. Tap a card for the reasons; tap a sleeve to see exactly how it trades.
Loading…
How the list is ordered
Get alerts on your phone
Paper trading · simulated money
Desk
A rules-based paper desk, tracked live on a paper account that started with $100,000 on Oct 1, 2026.
Since the start
Desk vs SPY
Percent return since Oct 1, 2026. SPY is measured from its Sep 30 close, like the desk's $100k base.
Paper account
Track record
Small-cap exposure
Small-cap exposure
Market backdrop
Market mood
Where the wider market stands, in plain words.
Live paper positions
Open positions
Holdings
Open positions heatmap
Strategies and budgets
Sleeves
Automation
Desk engine
Track record
Closed trades
Track record
Closed trades log
Every trade appears here only after it is fully closed. Hold is in calendar days.
Per strategy
Strategy scorecards
Each strategy's live paper results.
Per strategy
Breakdown by strategy
One row per sleeve, best total P&L first. Open = bought; Queued = waiting to buy. The bar shows total P&L (realized plus unrealized). Unrealized uses the latest broker marks (after-hours once the session is over).
Paper trading · simulated money
Test desk
Since the start
Test desk vs SPY
Percent return since the test desk's first trading day, on its own paper account. SPY is measured from the close before that day.
Paper account
Track record
Exposure vs small caps
Whole-desk exposure vs small caps
Market backdrop
Market mood
Where the wider market stands, in plain words, plus how much attention US companies are getting on Wikipedia.
Live paper positions
Open positions
Holdings
Open positions heatmap
Strategies and budgets
Sleeves
Automation
Desk engine
Track record
Closed trades
Track record
Closed trades log
Every trade appears here only after it is fully closed. Hold is in calendar days.
Per strategy
Strategy scorecards
Each strategy's live paper results on the second paper account.
Per strategy
Breakdown by strategy
One row per sleeve, best total P&L first. Open = bought; Queued = waiting to buy. The bar shows total P&L (realized plus unrealized).
Market dashboards · public indicators
ChartsLector
The market gauges and stock screens of the trader @ChartsLector, recomputed every evening from end-of-day prices. Two Test-desk sleeves trade his screens; they are explained at the bottom of this tab.
Volatility mood
VIX Mood Ring
His 0-100 volatility mood score: VIX level (35%), VIX vs 3-month VIX (25%), SKEW (25%) and VVIX (15%). Higher is calmer.
Market state
Market Action Pulse and Risk Model
His market state from GREEN (everything confirms) to RED (nothing does), read on the equal-weight Nasdaq-100 (QQQE) and S&P 500 (RSP), with his 0-100 risk score.
Breadth
Market breadth
Risk appetite
Risk appetite ratios
Ranking
Opportunity Ranker
Leadership
Theme and sector heatmap
Rotation map
Relative Robustness Rotation
His RRG-style map against SPY. Right = stronger than SPY, top = gaining strength. Switch between his daily, weekly and monthly calculation timeframes; tap a dot or a name to see its recent tail.
Screeners
Screener hits
Traded on the Test desk
ChartsLector sleeves
The two Test-desk strategies built from his work: what each looks for, when it buys and sells, and the research behind it.
Architecture · in plain English
How the desk works
Everything behind this page: where the data comes from, how a buy signal becomes a paper trade, how the desk keeps itself running, and how this site is updated.
The desk is a set of rules-based trading strategies (each one is called a sleeve) running on two paper-trading accounts with simulated money. One always-on program reads fresh buy signals, checks each sleeve's rules, sends limit orders, records every step, and publishes the results here.
The whole system
From data to trade to this page
Read top to bottom. Each box is one part of the system; the arrows show which way information flows.
Step 1
Where the data comes from
Step 2 and 3
One loop runs everything
The desk is one always-on program that wakes every 20 seconds and asks "is anything due?". On a trading day it runs the research jobs that turn data into buy signals, then a desk check at 9:35, 10:31, 11:31, 12:31, 1:31, 2:31, 3:31, 3:42 and 4:01, 4:50 ET. Each check handles both accounts and every sleeve.
Inside a desk check
How a signal becomes a trade
- Signal. A research job reports a buy signal for a stock (for example a weekly Cyan signal). Each sleeve only listens for its own kind of signal.
- Entry rule. Most sleeves wait for a fear day: in the last 40 to 10 minutes before the close, QQQ (the Nasdaq-100 fund) and the stock must both be below yesterday's close, and the price no more than 2% above the signal-day close. They get 5 trading days to see one; otherwise the signal is dropped. Hourly sleeves use the same idea within 30 minutes of the signal. Strategy-library sleeves skip a buy when QQQ is down, VIX is up and the stock is down at the same time.
- Size. The sleeve's fixed dollar amount per stock, in whole shares, never more than 1% of the stock's average daily dollar volume (5% for two sleeves), and only if the sleeve's budget and the account's cash allow it.
- Capped limit order. One limit order, good for that day only, at the current price plus 1%, and never above a cap tied to the signal-day close. It never chases a stock that has run away.
- Fill. The broker fills the order (or it expires at the close). The desk matches every order and fill by its own order id, so a restart can never send a duplicate.
- Record. Every check, order, fill and exit is written to a permanent, tamper-evident record.
- Broker check. After each check the desk compares its own book with each broker account and raises an alert on any difference.
Selling. Each sleeve sells by its own research rules: a time exit after a set number of days, weeks or bars (sent at the check about 20 minutes before it is due), a protective stop for sleeves that have one (weekly sleeves and positions carried over from the earlier desk sell if the price falls 15% below the entry), profit taking for 1D Green signals whose research plan has it (all out at +20%, or a third at +30% with the rest protected), or the sleeve's own sell signal. Every sale is a day-only limit order at the latest price minus 1%. Depending on the sleeve, the holding time is counted from the fill or from the signal; each sleeve's own explanation says which.
Step 4
Two paper accounts
Step 5
Staying up, backed up and published
Using this site
What each tab shows
Build your own
The full build guide
Everything needed to rebuild a desk like this one from scratch. Hand this section to an AI coding assistant and build it one step at a time.
1. What you need
- A computer that stays on. A Linux machine or a small cloud server, set to New York time so every schedule matches market hours.
- Python 3 with pandas, numpy and requests, each project in its own virtual environment.
- Two Alpaca paper-trading accounts (free). Each one gives a key ID and a secret key. Keep keys in a private file readable only by you, load them as environment variables, and never put them in code, logs or a public repo.
- Price data. Free Yahoo Finance daily and hourly bars for research and signals; Alpaca market data for live quotes at order time, with the latest Yahoo price as a fallback if a live quote is missing.
- Extra free feeds (optional). CBOE index history (VIX and similar), SEC filings, earnings and economic calendars.
- Two GitHub repos. A private one for code and backups, and a public one with GitHub Pages turned on for the website.
- Phone alerts (optional). ntfy or web push for fills and problems.
2. The parts
- Research jobs. Scripts that download bars, test strategy ideas on years of history, and write each day's buy signals to plain files (CSV or JSON). Only ideas that held up on data they were not tuned on become sleeves.
- Sleeve settings. One config file lists every sleeve: which signal it listens to, its budget, its dollars per stock, its entry rule and its exit plan. Changing a sleeve means changing the file, not the code.
- The desk loop. One always-on Python program. On a fixed schedule through the trading day it reads new signals, applies each sleeve's entry rule, sizes the order, sends it, checks fills, runs exits, and compares its own book with the broker.
- The record. An append-only ledger: every check, order, fill and exit is one line that is never edited, so the desk can rebuild its state from the record after any crash.
- The supervisor. A small shell script that starts the loop, restarts it if it stops, and uses a lock file so only one copy ever runs.
- The publisher. After key checks, a script turns the desk's state into public JSON, strips anything private, runs its tests, and pushes the files to the GitHub Pages repo.
- The website. One static HTML page that loads that JSON and redraws itself. No server is needed.
3. How one trade happens
- A research job writes a buy signal for a stock.
- At the next desk check, the sleeve listening for that signal checks its entry rule against live prices.
- If the rule passes, the desk sizes the order in whole shares within the sleeve's budget, the account's cash and the stock's normal trading volume.
- It sends one limit order, good for that day only, with a price cap so it never chases a stock that has run away. Each order carries the desk's own order id, so a restart can never send it twice.
- It records the order, then the fill (or the expiry at the close).
- Each later check runs the exit plan: time exit, protective stop, profit target or the sleeve's own sell signal.
- After each check the desk compares its book with the broker account and alerts on any difference.
4. Keeping it running
- Schedule. Fixed check times in New York time. If the computer was asleep, run one catch-up check on wake, never a burst of missed ones.
- Startup check. On every start, confirm config, keys present (never printed), data fresh and broker reachable before trading.
- Tests. A test suite for order handling and a separate test that scans the public site for private data before every publish. If a test fails, the site is not updated.
- Backups. Push code, settings, ledger and state to the private GitHub repo after every fill and each evening. Only add files; never force-push or delete history.
- Restore. On a new machine: set the time zone, clone the repos, rebuild the Python environments, put the keys back, run the startup check in dry mode, then start the supervisor. The desk re-checks both broker accounts before its first trade.
5. Build order
- Download bars and write one simple signal to a file.
- Write the desk loop for one sleeve on one paper account; run it in dry mode until its orders look right.
- Add the ledger, the broker check and the supervisor.
- Add the publisher and a one-page website on GitHub Pages.
- Add more sleeves through the config file, then the second account for testing new ideas.
- Add backups, the startup check, alerts and the test suite.
Market tab
Best Setups: how the cards are made
What it is. Best Setups is a board of stock trade ideas. Every card gives one clear call: buy or sell short, the price range to get in, the target price, the date to reach it, and the closing price that proves the idea wrong.
Step 1: get the data. Each trading day the system downloads about one year of daily prices and volume for every stock on the list, plus weekly and hourly prices, market data (the S&P 500, the Nasdaq 100, the VIX fear index) and free public feeds: company filings from the SEC, earnings dates, the Fed and jobs-report calendar, and news headlines.
Step 2: measure everything. A Python engine measures 116 things on each chart. They fall into ten groups: chart shapes (triangles, flags, double tops and bottoms), price floors and ceilings, measured price targets, trend (the 20-, 50- and 200-day averages), momentum, volume, warning signs where price and momentum disagree, how stretched the price is, candle shapes at key prices, and the buying-or-selling phase. Anything missing that day is skipped with a note.
Step 3: make the call. The engine weighs every measure. Chart structure counts most and background news counts least. The side with more weight wins. It then picks the entry (now, or after a dip or a breakout), the first real target at least one normal day's move away, a date based on how far the target is, and one exit price. Every card always gets a call.
Step 4: write the read. A writer turns the call into a short plain-English note: one line with the trade, two short paragraphs on why it should work and what could go wrong, and the trade again. Only the three to five things that matter most for that stock are named.
Step 5: check it. An automatic checker rejects any read with trader jargon, long sentences, a reading level above grade 9, numbers that are not in the data, a level that disagrees with the call, disclaimers, or wording copied from another card. Only reads that pass are published. A card without a passing read still shows its call.
Step 6: publish. The cards are saved as JSON files and pushed to a free GitHub Pages website several times a day. Phone alerts go out through ntfy and web push, at most six a day.
To build your own: a Linux computer or cloud box, Python, a free price data source, a scheduler (cron or a small loop), a GitHub repo with Pages turned on, and an AI model to write the reads under a strict style checker.
Data files
What each data file holds
Everything the desk knows lives in a few plain files. If you build your own desk, keep the same split.
- Config file. The rules: which strategies run, how much each may spend, entry and exit settings, and the order price caps.
- State file. The current book: every open position, its entry price, its planned exit time, and every order the desk has sent and its status. It is rewritten safely after each change, so a crash never leaves half a file.
- Ledger. An append-only record of every decision, order, fill and closed trade. Each line is chained to the one before it, so any edit or gap is detected. If the state file is ever lost, it is rebuilt from the ledger.
- Finished-orders list. One small file per day listing every order that is already filled, cancelled or rejected, so the desk never sends the same order twice.
- Signal files. The research jobs' daily output: which symbols fired a buy signal today and their plans.
- Website data. One summary file per publish with positions, results and charts. This page is drawn from it; it holds no account keys and no private settings.
- Backups. Copies of all of the above, saved off the machine every 15 minutes and to a private code repository, each checked against a checksum before it is ever restored.
When the computer sleeps
How machine sleep or a reset affects trading
The desk runs on a cloud computer that can pause or be reset. This is what happens when it does.
- Nothing runs while it is paused. Scheduled checks that fall inside a pause are missed, and this page stops updating until the machine wakes.
- Protective stops stay on at the broker. Every position (except the ones deliberately held) carries a standing stop order at the broker, a fixed distance under its entry price. It works even while the desk machine is asleep or being restored.
- Orders already sent keep working. Day limit orders stay live at the broker until they fill or the session ends.
- On wake, it catches up. The desk reads every order back from the broker, applies any fills that happened while it was away, and runs the next due check. A missed closing check has a catch-up pass.
- After a reset, it restores itself. On a fresh start it restores the newest checked backup before trading, then compares its book with the broker's positions and flags any difference.
Words used on this site