Methodology: How Our AI Signals Work
What we measure, how we measure it, where the data comes from, and where it stops being reliable. If a number appears anywhere on this site, this page explains how it was produced.
How does Stock Companion score news sentiment?
For the news sentiment score, every headline for a ticker is scored by state-of-the-art AI models trained specifically on financial data. They read whole sentences, so they correctly classify phrasing where individual words mislead — "the company cut its debt" is bullish despite the word "cut". The score shown on a ticker page is the mean of those readings in the trailing window, shown as a whole number from 0 (most negative) to 100 (most positive), and it is the same for every plan. The per-headline numbers in a free account's dashboard news feed come from a single AI model. 50 is neutral. We call 48 to 52 neutral; 53 to 59 slightly bullish, 60 to 74 bullish and 75 or more very bullish; 41 to 47 slightly bearish, 26 to 40 bearish and 25 or less very bearish.
How is a buy, hold or sell signal generated?
The signal is a multi-factor score, not a sentiment reading alone. It weighs price trend (35%), momentum (25%), news sentiment (25%) and smart-money activity (15%: insider trades, large funds' 13F holdings and unusual options activity) into one score from -100 to +100. A score of +40 or more is a BUY and -40 or less a SELL; everything in between, including inputs that disagree, is a HOLD. For alerts, a stock already called BUY stays BUY until its score falls below +25 (SELL is the mirror image), and a new call has to hold for three checks in a row, so a stock near the line does not send one alert after another.
Where does the market data come from?
Quotes come from Finnhub, with pre-market and after-hours prices from Yahoo Finance; chart history comes from Polygon and sector performance from Financial Modeling Prep. News headlines come from Finnhub. Insider transactions come from SEC Form 4 filings, institutional positions from 13F filings, and congressional trades from STOCK Act disclosures.
How often does the data refresh?
Ticker pages serve a cached snapshot that refreshes every 15 minutes; each page states the timestamp it was generated. Insider, institutional and congressional filings appear as the source agencies publish them, which for some filing types is on a statutory delay of days to weeks.
How does the strategy backtest work?
The backtest, free on every stock page and at /backtest, replays the same signal the site shows today over the last 12 months of a stock's daily closes, one close at a time and using only data available that day. On a BUY the whole balance buys at that close; on a SELL everything is sold at that close, starting from $10,000 with no fees, taxes or slippage. It uses the same entry and exit thresholds as the live signal but acts on the first close a call appears, without the alert's three-check confirmation. Insider, institutional and options activity is left out, because those sources only report current filings, so that part of the score is zero. The news follows the live signal's own rule at each close: the 10 newest headlines filed under the stock in the 3 days before it (up to 1 p.m. on the market's half-days), scored by state-of-the-art AI models trained specifically on financial data and averaged exactly as the live signal does. We store a year of that history for the stocks on the site and build it for other stocks when someone backtests them; our news source reaches back about a year, and where the history does not reach, signals are read from price alone and the result says so. Each trade lists the headlines its signal read, including general market stories filed under the stock, which are marked.
Are the backtest results on the homepage real trading returns?
No. They are simulations: the same strategy backtest anyone can run on a stock page, not audited results and not the returns of any real account. The homepage shows each result as it comes out, including when following the signal trailed simply holding the stock. Backtests benefit from hindsight, exclude slippage and trading costs, and cannot account for the market conditions that will actually apply going forward. Past performance does not guarantee future results.
Is any of this financial advice?
No. Stock Companion is a research and monitoring tool. Nothing on the site is a personal recommendation, none of it accounts for your circumstances or risk tolerance, and no signal should be traded without your own analysis. We are not a registered investment adviser or broker-dealer.
Corrections and editorial policy
Automated articles are labelled as such and are generated from the same market data and sentiment pipeline described above. If you find a factual error in anything we publish, email [email protected] and we will correct or withdraw the page.
Use this data in your own assistant
The same sentiment scores and signals described above are available as an open-source MCP server, so Claude, ChatGPT, Cursor and any other MCP client can read them directly instead of summarising a page. It is read-only, needs no account or API key, and every answer carries the URL of the page the number came from.
{
"mcpServers": {
"stockcompanion": {
"command": "uvx",
"args": [
"stockcompanion-mcp"
]
}
}
}Four tools: get_sentiment, get_signal, get_sector_sentiment and list_hot_tickers. A sentiment answer always states how many headlines it was computed from, because a score over three headlines and one over ninety are different claims.
Risk disclaimer
Trading equities involves substantial risk of loss and is not suitable for every investor. Signals, sentiment scores and backtested figures are informational only and are not a recommendation to buy or sell any security. Past performance does not guarantee future results. You are solely responsible for your own trading decisions.
Questions about a specific metric? See the glossary or contact support.