See how a stock's price, its news mood, and a simple news-based strategy have behaved — in two minutes.
Educational project · not investment advice · see limitations ↓
1 Price
What this shows: how this stock's price moved. Up-triangles mark days the strategy bought it; down-triangles mark days it sold.
RSI (14 days)
RSI measures how fast the price has risen recently, on a 0–100 scale. The strategy only buys below 70 and sells above 80.
2 3-day news mood
What this shows: how positive or negative the last 3 days of news were. Above the top band the strategy may buy; below the bottom band it sells. Days with no news count as 0.
3 Strategy vs. simply buying all 20
What this shows: what $1 would have become with the strategy vs. simply holding all 20 stocks equally. This is the whole 20-stock portfolio, not just this stock.
All 20 stocks
Past results only — not a ranking of stocks to buy.
How it works
The strategy applies the same two fixed rules to each of the 20 stocks. The rules were written down before any backtest results were seen and have not been changed.
The two rules
- Buy when the 3-day news mood is above +0.3 and RSI is below 70.
- Sell when the 3-day news mood is below −0.3 or RSI is above 80.
How trades are made
- Signals are worked out after each day's close, and trades happen at the next day's opening price.
- The money is split into 20 equal parts, one per stock. Each part is either fully in its stock or in cash, and the parts are evened out on the first trading day of each month.
- Every buy and every sell costs 0.1% of the amount traded.
- It only buys stocks (no short selling) and never borrows money.
Where the data comes from
- Daily prices: Polygon.io, adjusted for stock splits (dividends not included).
- News: headlines from Polygon.io; an article is kept if it tags at most 3 companies or names the company in its headline.
- News mood: each headline is scored by FinBERT, a language model trained on financial text.
- Latest price: Polygon.io, delayed by 15 minutes.
- The latest price at the top updates every minute (delayed 15 minutes). The charts use daily closing prices up to the “Data to” date at the top; backtest results are fixed to the period ending 21 Oct 2026.
On 100 hand-labelled headlines, FinBERT agreed with the human label 55% of the time (95% CI 45–64%), so the news mood should be read with caution.