ETF Ratio Signal
Ratio-breakout trend-following signal & backtest API.
| Method | Path | Notes |
|---|---|---|
| GET | /pairs | List registered pairs |
| GET | /pairs/:name/signal | Latest computed signal - ratio, band, side to hold, whether it just flipped |
| GET | /pairs/:name/backtest | CAGR, max drawdown, buy&hold benchmarks. Query: initial_capital, end, apply_costs, brokerage_flat, other_charges_pct, short_term_tax_pct, stt_a_pct, stt_b_pct |
| GET | /pairs/:name/series.csv | Downloadable CSV of every resolved-position day: both closes, ratio, rolling band, side held - for manually verifying the computation against another data source. Query: end |
| POST | /pairs/:name/webhooks | Either {url, secret?, turnstile_token} or {email, turnstile_token} - fires on signal flip only. url must be https://; payload HMAC-SHA256 signed (X-Signal-Signature) when secret is set. email subscriptions are double opt-in - inactive until the confirmation link sent to that address is clicked. turnstile_token is a Cloudflare Turnstile response token - easiest to get one via /subscribe rather than solving the widget yourself. |
| GET | /subscriptions/confirm?token= | Confirms an email subscription (link sent by the endpoint above) and activates alert delivery. |
| GET | /subscriptions/unsubscribe?token= | Deactivates an email subscription. Same token as the confirm link (link sent in every flip-alert email). |
New pairs are registered by the operator, not via this public API.
curl https://etfratios.com/pairs/niftybees-goldbees/signal