API · /portfoliooptimizer-api

Portfolio Optimizer API

healthy 4,857 Subscribers

Live mean-variance (Markowitz) portfolio optimisation that quants and allocators run across a basket of assets, computed on demand from the price series you pass in — no key, no cache, nothing stored. The optimize endpoint returns the two cornerstone portfolios: the minimum-variance portfolio and the maximum-Sharpe (tangency) portfolio, each with its optimal weights, expected return, volatility and Sharpe ratio. The frontier endpoint traces the efficient frontier — a set of optimal risk/return points and the weights that achieve them — so you can plot the whole risk/return curve. The stats endpoint returns the per-asset annualised return and volatility plus the full correlation and covariance matrices, the raw material behind the optimisation. It exploits diversification: by combining assets with low or negative correlation the optimiser finds a portfolio whose volatility is lower than any single holding. Works for any basket — stocks, funds, ETFs, crypto, FX or commodities. This is a multi-asset allocation engine, fundamentally different from single-asset risk and CAPM tools: it answers how to weight several assets together, not how one behaves. Weights can be negative, representing a short leg, as in classic unconstrained Markowitz. Computed locally and deterministically, so it is instant and private. Ideal for robo-advisors, portfolio dashboards, asset-allocation research and back-tests. Rates are fractions (0.02 = 2%). Live, nothing stored. 3 compute endpoints. For single-asset Sharpe/drawdown use a risk-metrics API; for beta use a CAPM API.

api.oanor.com/portfoliooptimizer-api
Get an API key Try in playground → Contact provider

Machine-readable spec so AI agents can integrate this API.

/api/portfoliooptimizer-api/openapi.json
/api/portfoliooptimizer-api/llms.txt

Discovery: GET /api/index.json lists every API.

API health

healthy
Uptime
100.00%
Server probes · 24h
Avg latency
95 ms
Server probes · 24h
Subscribers
4,857
active
Total calls
4
last 7 days
status Full status page → · 8 probes/24h

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 4,200 calls / month
  • 2 requests / second
  • Hard cap (429 above quota, no overage)
  • 4,200 calls/month
  • 2 req/sec
  • Optimize + frontier + stats
  • No credit card
Sign in to subscribe

Starter

€9.40 /month

  • 85,000 calls / month
  • 6 requests / second
  • Hard cap (429 above quota, no overage)
  • 85,000 calls/month
  • 6 req/sec
  • Min-variance & max-Sharpe weights
  • Email support
Sign in to subscribe

Pro

€26.80 /month

  • 450,000 calls / month
  • 18 requests / second
  • Hard cap (429 above quota, no overage)
  • 450,000 calls/month
  • 18 req/sec
  • Robo-advisor & allocation pipelines
  • Priority support
Sign in to subscribe

Business

€62.00 /month

  • 2,800,000 calls / month
  • 45 requests / second
  • Hard cap (429 above quota, no overage)
  • 2,800,000 calls/month
  • 45 req/sec
  • Asset-manager scale
  • Dedicated SLA
Sign in to subscribe

Built by

Related APIs

Other APIs with overlapping tags.

CAPM & Beta API

Live capital-asset-pricing-model and systematic-risk analytics that quants and portfolio managers run on an asset against a market benchmark, computed on demand from the two series you pass in — no key, no cache, nothing stored. The beta endpoint regresses an asset's returns on the market's and returns the beta, the alpha (per period and annualised), the correlation and the R-squared, so you see how strongly the asset tracks the market and how much it amplifies it. The capm endpoint returns the CAPM expected return — risk-free rate plus beta times the market risk premium — and Jensen's alpha, the excess over what beta says the asset should earn; it also has a direct mode where you pass beta, market return and risk-free rate with no series. The treynor endpoint returns the Treynor ratio, the reward per unit of systematic (market) risk. This measures risk relative to a market — systematic risk — which is fundamentally different from single-series total-risk tools: it needs two series and answers how an asset moves with, and is priced against, the market. Works for any asset against any benchmark: stocks, funds, crypto, FX or a whole portfolio. Computed locally and deterministically, so it is instant and private. Ideal for portfolio analytics, factor and risk dashboards, fund fact-sheets and back-tests. Rates are fractions (0.02 = 2%). Live, nothing stored. 3 compute endpoints. For single-series Sharpe/volatility/drawdown use a risk-metrics API.

api.oanor.com/capm-api

Dollar-Cost Averaging API

Live dollar-cost-averaging analytics that investors run to see how periodic buying plays out — computed on demand from the price series you pass in, no key, nothing cached. Get the outcome of investing a fixed amount each period (total invested, units accumulated, average cost, current value, profit and ROI) with a lump-sum comparison; the per-period breakdown; and a ranking of dollar-cost averaging against lump-sum, best-case and worst-case timing. Works for any market — stocks, crypto, ETFs or forex. A dollar-cost-averaging engine, distinct from compound-interest and return-analysis tools: it turns a price path and a contribution into the cost basis and outcome of buying over time.

api.oanor.com/dca-api

Monte Carlo API

Live Monte-Carlo simulation for price and portfolio forecasting that quants, traders and planners run to model uncertainty — computed on demand and reproducibly, no key, nothing cached. Run a geometric-Brownian-motion simulation of an asset and get the terminal-price distribution (percentiles, mean, probability of a gain); get the modelled chance of reaching a target price; project wealth over many years with periodic contributions (a retirement / savings projection); and return one sample price path for charting. Every run is seeded, so the same inputs always give the same numbers. A forward-looking simulation engine, distinct from historical-statistics and option-pricing tools — it turns a drift and volatility into a distribution of outcomes.

api.oanor.com/montecarlo-api

Risk Metrics API

Live risk-adjusted-return analytics that quants and portfolio managers run on a return or price series — computed on demand, no key, nothing cached. Get the Sharpe ratio with annualised return and volatility; the Sortino ratio using downside deviation; periodic and annualised volatility, downside deviation and semivariance; and historical and parametric Value-at-Risk plus Conditional VaR (Expected Shortfall) at any confidence level. Every value is computed live from your input and works for any market — forex, stocks, crypto or funds. A risk-statistics engine, distinct from raw price feeds, from technical-indicator tools and from option-pricing tools: it turns a series of returns into the risk-adjusted performance numbers a strategy is judged on.

api.oanor.com/riskmetrics-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

How do I get an API key for Portfolio Optimizer API?
Sign up for free at oanor.com, generate an API key from the developer dashboard, and call Portfolio Optimizer API with the x-oanor-key header. No credit card needed for the free tier.
What's the rate limit for Portfolio Optimizer API?
Free tier allows 1 request per second. Paid plans scale up to 50 requests per second on the Mega tier. Hard limits return HTTP 429 above the quota — no surprise overage charges.
How much does Portfolio Optimizer API cost?
Portfolio Optimizer API has a free tier with 100 calls / month. Paid plans start at €9.40 / month with higher quotas and faster rate limits.
Can I cancel my subscription anytime?
Yes. Plans are billed monthly and you can cancel anytime from your billing dashboard. No long-term contracts and no cancellation fee.
Is Portfolio Optimizer API GDPR-compliant?
All requests to Portfolio Optimizer API go through our EU-based gateway. Your upstream API key never leaves our server and no personal data is shared with the upstream provider beyond the request you send.

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/portfoliooptimizer-api/SOME_PATH \
  -H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/portfoliooptimizer-api/SOME_PATH", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/portfoliooptimizer-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/portfoliooptimizer-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 in

New thread

/ 4000

📌 Pinned 🔒 Locked

·

· ·

/ 4000

🔒 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 in

Open new ticket

Describe what you need help with. The provider team gets an email and replies on the ticket page.

  • No tickets yet for this API.

Subscription active — calls can start immediately.

Send your first request —

Subscription active — copy a snippet and fire off your first call.