# Portfolio Optimizer

248 portfolio maths endpoints over HTTP — no install, no solver, no account.

*https://stockmarketstack.com/tools/portfolio-optimizer · Market Analysis & Portfolio Optimization Libraries*

## Facts

### At a glance

| Field | Value |
| --- | --- |
| Vendor | Portfolio Optimizer |
| Category | Market Analysis & Portfolio Optimization Libraries |
| Job | optimization |
| Website | https://portfoliooptimizer.io |
| Pricing model | subscription |
| Free tier | true |
| Open source | false |
| Licence | none |
| Self-hosted | false |
| Tested hands-on | false |
| Last updated | 2026-09-19 |

### Pricing

| Tier | USD | Period |
| --- | --- | --- |
| Anonymous | 0 EUR | month |
| Authenticated user | 4 EUR | month |

### Coverage

| Field | Value |
| --- | --- |
| Asset classes | stocks, etf, bonds, commodities, crypto |
| Markets | global |
| Works outside the US | true |
| Data latency | none |
| Platforms | web |
| AI features | none |

### Interfaces

| Field | Value |
| --- | --- |
| API | true |
| Webhooks | false |
| Scripting | none |
| Python | false |
| Spreadsheet add-in | false |
| MCP server | false |
| Export | json |

### Capabilities

Yes: none

No: charting, screening, scanning, backtesting, automation, live_trading, paper_trading, portfolio_tracking, broker_import, tax_reporting, alerts, news, options_analysis

*Verified: pricing 2026-09-19; capabilities 2026-09-19; coverage 2026-09-19.*

## What it is

Portfolio Optimizer is the same body of mathematics the Python libraries in this category
implement, exposed as 248 HTTP endpoints. You POST a covariance matrix and get weights back; there
is nothing to install, no solver to choose and, anonymously, no account to create.

The catalogue is deeper than the name suggests. Around 33 optimisation endpoints cover minimum
variance, maximum Sharpe, mean-variance efficient, maximum return, most diversified, minimum
correlation, equal risk contribution, risk budgeting, hierarchical risk parity, minimum and maximum
Ulcer-index objectives, and market-capitalisation weighting — several of them in resampled and
subset-resampled variants that a library would make you assemble yourself. About 65 analysis
endpoints handle value-at-risk in a dozen estimators, drawdowns, risk contributions and factor
exposures. The rest estimate and forecast covariance, correlation and volatility (EWMA, ARMA-GARCH,
Gerber, shrinkage, denoising), simulate returns by bootstrap or Monte Carlo, cluster assets, replicate
an index, and round a weight vector into tradable lots.

It is one person's service — the terms name Roman Rubsamen — running on servers in Western Europe,
with a public uptime page and a release-notes feed. The spec version was 1.0.12 on 19 September 2026.

## Pricing

Anonymous use is genuinely free and genuinely limited, and the documentation publishes the numbers,
which is more than most do. Anonymous callers get a subset of the endpoints, one second of
execution time, and inputs capped at 20 assets, 250 portfolios, 500 data points, 500 simulations
and 5 factors — plus the limit that makes this a demo rather than a tier: **one request per second
for all the anonymous users combined, with concurrent requests rejected**. That is the spec's own
wording, not a reading of it, and every response carries `x-ratelimit-*` headers showing where the
shared bucket currently stands.

An API key lifts that to every endpoint, 10,000 requests per rolling 24 hours, concurrency allowed,
2.5 seconds of execution time, and five times the input sizes. The key is bought through Buy Me a
Coffee as a 4 euro a month membership, 48 euro annually; the about page also frames it as one coffee
per month of usage, and a coffee is 3 euro. Limits beyond the published ones, and deployment in
another region, are arranged by email.

## Data & coverage

Not a data provider, with a handful of exceptions that are worth knowing about. A few key-only
endpoints return monthly Fama-French factors for the US, developed and emerging markets, the NAAIM
exposure index and the AAII asset allocation survey, and long-term capital market assumptions in
USD, EUR and CHF. There are no quotes, no bars and no prices — everything else you send.

## Integrations

Plain JSON over HTTPS with an optional gzip request encoding and an `X-API-Key` header, which means
anything that can make an HTTP call is a client. The vendor's own worked examples are JavaScript
`fetch` in a web page, Excel and Google Sheets. There is no official SDK in any language.

## Limitations

- **Your numbers go to somebody else's server.** Most endpoints take anonymous inputs — returns,
  covariances, weights — and no ticker is required, but the holdings you are optimising still leave
  your machine. The privacy policy enumerates email addresses, API keys and IP addresses as the
  personal data collected and says nothing at all about request payloads or how long they are kept.
  No data processing agreement is offered, and the servers are in Western Europe.
- No SLA. The terms of service, last updated in October 2020, disclaim all warranties and reserve
  the right to change the limits, revoke a key or discontinue the service without notice — normal
  for a 4 euro a month service, and disqualifying for anything you would page someone about.
- The anonymous tier is a demo, not a tier. One request per second shared across every anonymous
  user on the internet means your loop will collide with strangers, and concurrent requests are
  rejected rather than queued.
- No Black-Litterman endpoint, no backtest, no rebalancing schedule and no tax or turnover
  accounting. The efficient frontier is there; views on it are not.
- No official client library, and the obvious PyPI name belongs to an unrelated package from 2021.
- Single-operator risk, plainly. One author, one uptime page, no company behind it.

## Alternatives

If the calculation can live in your own process, [PyPortfolioOpt](https://stockmarketstack.com/tools/pyportfolioopt),
[Riskfolio-Lib](https://stockmarketstack.com/tools/riskfolio-lib) and [skfolio](https://stockmarketstack.com/tools/skfolio) do the same work with nothing
leaving the machine — at the cost of installing cvxpy and choosing a solver.
[Portfolio Visualizer](https://stockmarketstack.com/tools/portfolio-visualizer) is the answer for someone who wants a form and a
chart rather than an endpoint.

## FAQ

### What does Portfolio Optimizer cost?

Anonymous use is free and needs no registration. An API key comes from a 4 euro a month membership on Buy Me a Coffee, 48 euro if paid annually, and the site also says a single 3 euro coffee buys one month of authenticated use. Higher limits than the published ones are arranged by contacting the author.

### What are the actual rate limits?

Anonymous callers share one request per second between all of them, with concurrent requests rejected, a one-second execution cap, and inputs limited to 20 assets, 250 portfolios, 500 data points, 500 simulations and 5 factors. A key raises that to 10,000 requests per 24 hours, concurrency allowed, 2.5 seconds of execution and 100 assets, 1,250 portfolios, 2,500 data points, 2,500 simulations and 25 factors.

### Is there an official Python client?

No. The API is plain JSON over HTTPS and the vendor's own examples are fetch, Excel and Google Sheets. Nothing is published on PyPI under the product's name, and the nearest package a reader would guess, portfolio-optimizer, is an unrelated 0.1.0 release uploaded by a different author in January 2021.

### Where does my data go?

To a server in Western Europe run by one person. Most endpoints take returns, covariances and weights rather than tickers or account identifiers, but the numbers still leave your machine, and the privacy policy covers email addresses, API keys and IP addresses without saying anything about request payloads or how long they are kept.

## Also worth comparing

- [PyPortfolioOpt](https://stockmarketstack.com/tools/pyportfolioopt.md) — Prices in, weights out — efficient frontier, Black-Litterman and HRP.
- [Riskfolio-Lib](https://stockmarketstack.com/tools/riskfolio-lib.md) — Twenty-six convex risk measures, four objectives, one cvxpy-backed optimiser.
- [skfolio](https://stockmarketstack.com/tools/skfolio.md) — Portfolio optimisation as scikit-learn estimators — fit, predict, cross-validate.
- [arch](https://stockmarketstack.com/tools/arch.md) — GARCH and the rest of the volatility-model family, plus the tests you need around them.
- [empyrical-reloaded](https://stockmarketstack.com/tools/empyrical-reloaded.md) — The maintained fork of Quantopian's empyrical — risk statistics, no plots.
- [ffn](https://stockmarketstack.com/tools/ffn.md) — Performance stats, drawdowns and portfolio weights from a DataFrame of prices.
