Guides · Vanoe Market Intelligence API
Stage analysis API: which of the four trend stages a stock is in
Stage analysis is a four-phase view of a stock's trend cycle: Stage 1 basing after a decline, Stage 2 advancing, Stage 3 topping, and Stage 4 declining. The API classifies a ticker from the relationship between price and a 30-week moving average and the slope of that average, and returns the stage, the numbers behind it, and a sentence of rationale.
The rule, in one paragraph
Price above a rising 30-week average is Stage 2. Price below a falling average is Stage 4. Price crossing above a flat-to-rising average after a decline is Stage 1 turning to 2; price crossing below a flattening average after an advance is Stage 3. The response includes sma30w, price_vs_sma_pct and sma_slope so you can see the inputs and apply your own thresholds if you disagree.
Batch calls
Pass up to 50 tickers in one request, comma-separated. Duplicates count once. A ticker the price feed doesn't know comes back with price: null and a reason, and is not billed.
History for backtests
GET /v1/signals/stage/history?ticker=AAPL&weeks=104 returns one stage per week, up to 520 weeks, computed walk-forward: each week's label uses only data available that week. See the backtesting guide.
Request
curl -H "Authorization: Bearer sk_live_…" \
"https://api.vanoe.ai/v1/signals/stage?tickers=AAPL,MSFT"
Response
{
"data": {
"AAPL": {"stage": 2, "label": "Advancing", "signal": "buy/hold", "sma30w": 290.01,
"price_vs_sma_pct": 12.56, "sma_slope": "rising", "price": 326.43, "as_of": "2026-09-10",
"rationale": "Price is 12.56% above a rising 30-week moving average — Stage 2 (Advancing), which reads as buy/hold."},
"MSFT": {"stage": 2, "label": "Advancing", "signal": "buy/hold", "sma30w": 417.55,
"price_vs_sma_pct": 18.0, "sma_slope": "rising", "price": 492.72, "as_of": "2026-09-10",
"rationale": "Price is 18.0% above a rising 30-week moving average — Stage 2 (Advancing), which reads as buy/hold."}
},
"as_of": "2026-09-10", "freshness": "end_of_day", "suggested_recheck_seconds": 86400,
"disclaimer": "Informational data only. Not financial advice. This is not a recommendation, solicitation, or offer to buy or sell any security."
}
Cost: 1 credit per ticker that returns data. The weekly history endpoint costs 5 credits per call.
Fields
| stage / label | 1 Basing · 2 Advancing · 3 Topping · 4 Declining |
| signal | buy/hold · hold · sell/avoid, the textbook reading of the stage |
| sma30w | the 30-week simple moving average |
| price_vs_sma_pct | how far price sits above or below it |
| sma_slope | rising · flat · falling |
Questions
What data does stage analysis use?
Weekly closing prices. The 30-week average and its slope are computed from end-of-day data, so the stage updates once a day at most.
Can I get the stage for a whole watchlist?
Yes, up to 50 tickers per request, one credit each.
Is the history free of lookahead bias?
Yes. Each week's stage is computed only from bars up to that week, so a backtest cannot peek at the future.
Try it
Free tier: 1,000 credits a month, no card. Every response is informational data only, not financial advice.