Composite 0-100 risk-appetite score with regime and per-gauge contributions
API · /riskappetite-api
Risk-On / Risk-Off (RORO) Index
One number for the market's mood across asset classes — a live 0-100 risk-on / risk-off (RORO) score, computed from Yahoo Finance (no key, nothing stored). On any day capital is either reaching for risk or fleeing to safety, and the signal lives in the relationships between markets, not any single price. This blends four classic cross-asset gauges — stocks vs long bonds (SPY/TLT), high-yield vs investment-grade credit (HYG/LQD), copper vs gold (the growth metal vs the haven) and the VIX (inverted) — into one score: high = risk-on (greed), low = risk-off (fear). The score endpoint returns the composite, each gauge's contribution and a regime label; the components endpoint returns the four underlying ratios with where each sits in its recent range (its percentile), so you can see what is driving the mood. The cross-asset risk-sentiment / RORO composite cut — distinct from the intermarket-ratios feed (raw ratios), the volatility-index API and the price APIs. It synthesises the regime, not the parts.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 176 ms
- Server probes · 24h
- Subscribers
- 3,654
- active
- Total calls
- 3
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 600 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 600 calls/month
- 2 req/sec
- Live RORO score + 4 cross-asset gauges
- Regime label
Starter
€10.44 /month
- 16,200 calls / month
- 5 requests / second
- Hard cap (429 above quota, no overage)
- 16,200 calls/month
- 5 req/sec
- Full composite + per-gauge percentiles
- Email support
Pro
€32.66 /month
- 82,000 calls / month
- 15 requests / second
- Hard cap (429 above quota, no overage)
- 82,000 calls/month
- 15 req/sec
- Production cross-asset sentiment
- Priority support
Business
€75.60 /month
- 430,000 calls / month
- 40 requests / second
- Hard cap (429 above quota, no overage)
- 430,000 calls/month
- 40 req/sec
- High-volume RORO feed
- Dedicated support
Built by
Related APIs
Other APIs with overlapping tags.
Variance Ratio Test API
A formal statistical test of whether a market follows a random walk, or whether its returns carry tradeable momentum or mean-reversion that is real rather than noise — the Lo-MacKinlay variance ratio test, computed live from Yahoo Finance daily closes, no key, nothing stored. Most persistence tools give you a single descriptive number; this gives you a hypothesis test with a verdict. The variance ratio compares the variance of multi-day returns to the variance of one-day returns scaled up: under a true random walk the ratio is 1 at every horizon. A ratio above 1 means returns positively autocorrelate (trends persist — momentum); below 1 means they reverse (mean-reversion). Crucially it attaches a heteroskedasticity-robust z-statistic and a p-value at each horizon, so you know whether the deviation from a random walk is statistically significant or just sampling noise — the thing a point estimate cannot tell you. The asset endpoint runs the test at horizons of 2, 4, 8 and 16 days and returns each ratio, z-statistic, p-value and a reject/fail-to-reject verdict, plus an overall read. The screener endpoint ranks the cross-asset universe by their 2-day variance ratio, separating the statistically momentum-like markets from the mean-reverting ones. This is the random-walk hypothesis-test cut — distinct from the Hurst-exponent regime API (a point estimate with no significance), the momentum and the price APIs. It is the test, with the p-value attached.
api.oanor.com/varianceratio-api
Calendar Effects (Day-of-Week & Turn-of-Month) API
The two best-documented calendar anomalies in equities — the day-of-week effect and the turn-of-month effect — measured live across a cross-asset universe from Yahoo Finance daily history, no key, nothing stored. Decades of research show returns are not spread evenly through the week or the month: the turn-of-month effect — the cluster of the last trading day of a month and the first few of the next — has historically captured the bulk of the entire month's gain while the rest of the month drifts; and the day-of-week effect (the old "Monday effect" and its kin) shows some weekdays running persistently stronger than others. This API quantifies both directly. The turnofmonth endpoint splits an instrument's history into the turn-of-month window (the last trading day plus the first three of each month) versus the rest, and returns the average daily return and win-rate of each, the spread between them, and the share of the total return earned inside that handful of days. The dayofweek endpoint returns, for each weekday, the average daily return, win-rate and sample size, with the best and worst day. The screener endpoint ranks the cross-asset universe by the strength of the turn-of-month effect, so you can see where the calendar edge is biggest. This is the day-of-week / turn-of-month calendar-anomaly cut — distinct from the month-of-year seasonality APIs (equity-index, FX, commodity) and the crypto-only intraday/day-of-week seasonality API. Patterns are descriptive, not predictive.
api.oanor.com/calendareffects-api
Closing Strength (CLV) API
Where each market closes inside its daily range, and what that says about who is in control into the bell, computed live from Yahoo Finance daily OHLC — no key, nothing stored. The close is the most important price of the day: a market that runs up but closes back near its low was sold into all afternoon (distribution), while one that closes on its highs has buyers in firm control (accumulation), even if the headline change is the same. The Close Location Value (CLV) captures this on a -1 to +1 scale — +1 is a close exactly on the high, -1 exactly on the low, 0 the middle of the range. This API turns it into a conviction gauge. For each instrument it returns today's CLV, the average CLV over the window (a positive average means closes persistently in the upper half — accumulation; negative means distribution), the recent 20-day CLV as the current pressure reading, the share of days that closed in the upper third versus the lower third of their range, and a plain-language read. The asset endpoint returns one instrument's full closing-strength profile; the screener endpoint ranks the cross-asset universe from strongest accumulation to heaviest distribution, so you can see where buyers are quietly winning the close. This is the close-location / accumulation-distribution-pressure cut, price-only and no volume — distinct from the candlestick-pattern API (named shapes on the last bar), the volume-indicator tools and the price feeds. It is who won the day.
api.oanor.com/closestrength-api
Streak Analysis & Reversal Odds API
The consecutive up- and down-day runs swing-traders fade, with the historical probability that a run reverses, computed live from Yahoo Finance daily closes — no key, nothing stored. "It has gone up five days in a row, it is due a pullback" is a guess until you put a number on it. This API counts every up- and down-day run in an instrument's history and measures, for each run length, how often the very next day reversed it — turning a gut feeling into a base rate. For each instrument it returns the current streak (its direction and length), the longest up and down streaks in the window, the average run length, the full distribution of run lengths, and the reversal table: after k consecutive up (or down) days, the share of times the next day went the other way, with the sample size behind each figure. If a name is currently on a streak it also returns the historical odds that tomorrow reverses it — the one number a mean-reversion trader wants. The asset endpoint returns one instrument's full streak profile; the screener endpoint ranks the universe by how stretched each is right now (current streak length), so you can see what is most extended. This is the consecutive-run / reversal-odds cut — distinct from the Hurst persistence-regime API, the multi-timeframe momentum API, the candlestick-pattern API and the price feeds. It is the runs, counted, with the odds attached.
api.oanor.com/streak-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Risk-On / Risk-Off (RORO) Index?
What's the rate limit for Risk-On / Risk-Off (RORO) Index?
How much does Risk-On / Risk-Off (RORO) Index cost?
Can I cancel my subscription anytime?
Is Risk-On / Risk-Off (RORO) Index GDPR-compliant?
Pick an endpoint from the list on the left to see its details and try it.
Code snippets
Sign up to get an API key, then call any path under your slug.
curl https://api.oanor.com/riskappetite-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/riskappetite-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/riskappetite-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
"https://api.oanor.com/riskappetite-api/SOME_PATH",
headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())
Ratings
Sign in to rate.
No reviews yet.
Discussion
Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.
Sign in to start a thread or reply.
Sign inNew thread
·
-
Provider answer
🔒 This thread is locked — no new replies.
-
·
- No threads yet — start the discussion.
Support
Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.
Sign in to open a support ticket.
Sign inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.