Minimum Volatility vs Maximum Sharpe Ratio: Which to Choose?
You have a candidate list. You have a few years of end-of-day prices. You open the optimizer — and the first thing it asks you is not which stocks but what you are optimising for. Minimum volatility or maximum Sharpe ratio?
That single dropdown does more to shape the resulting allocation than any other setting in the tool. The two objectives use the same covariance inputs and produce portfolios that can look nothing alike: one tilts hard toward quiet, weakly correlated names, the other is willing to accept more turbulence in exchange for a better ratio of return to risk.
Both are selectable objectives in RSJ Portfolio, a Windows desktop application that builds a statistically optimised stock portfolio from historic end-of-day prices and lets you pick the objective, the risk estimator, and the weight constraints. This article compares minimum volatility and maximum Sharpe ratio side by side so you can decide which one fits your allocation — and so you know when the honest answer is “run both and look”.
The Landscape: What Each Objective Actually Optimizes
Minimum volatility
A minimum volatility optimisation allocates capital so that the variance of the portfolio as a whole is as small as possible, given the historic price series you supplied. Nothing about expected returns enters the objective. The optimizer’s job is to find the weight vector that makes the combined return stream as calm as possible.
In practice that pushes capital toward stocks that are individually low-volatility and, just as importantly, toward stocks whose returns correlate weakly with the rest. RSJ Portfolio is built around exactly this idea: it analyses the return correlation between stocks and allocates capital to candidates that correlate weakly — or whose downside correlates weakly — which reduces the volatility of the resulting portfolio. If you are still assembling that candidate list, the mechanics of picking low-correlation names are covered in How to Build a Low Correlation Stock Portfolio, Step by Step; this article assumes the list already exists and focuses on the objective you point at it.
Maximum Sharpe ratio
A maximum Sharpe ratio optimisation targets the risk-adjusted return: excess return per unit of volatility. It is not indifferent to risk — volatility is the denominator — but it will happily accept a more volatile portfolio if the additional return is large enough to improve the ratio.
The practical consequence is that this objective needs two kinds of input rather than one. Minimum volatility needs a risk model. Maximum Sharpe ratio needs a risk model and a return model, because it has to estimate where returns are heading.
Where the two sit in the toolbox
They are not the only choices. RSJ Portfolio also ships minimum semi variance, hierarchical risk parity, and conditional value at risk allocation, all built on modern portfolio theory. Behind the objectives sit eight risk models, plus return models and weight constraints — and those inputs matter as much as the objective itself, because they determine what the optimizer is actually solving.
Selection Criteria: When to Favor Each Objective
Four criteria usually settle the question.
Risk tolerance. If your primary goal is capital preservation and you would rather underperform a bull market than sit through a deep drawdown, minimum volatility is the natural fit. If you are return-seeking and can live with a bumpier equity curve as long as the risk-adjusted result is better, maximum Sharpe ratio speaks your language.
Market outlook. A minimum volatility portfolio tends to hold up in uncertain or bearish conditions, because it concentrates in names that historically moved less and moved together less. A maximum Sharpe ratio portfolio is more likely to capture upside in stable or bullish conditions — it is willing to buy the stocks the return model likes. Be honest about this one: it is a view, not a fact, and the optimizer will not tell you whether your view was right.
Data and estimation quality. This is the criterion quants argue about most, and it is where the two objectives genuinely differ. Return estimates are noisy; risk estimates are comparatively well behaved. A short simulation makes the asymmetry concrete:
import numpy as np
rng = np.random.default_rng(42)
years = 3 # three years of end-of-day prices
mu = 0.07 # assumed true annualised excess return, per stock
sigma = 0.20 # assumed true annualised volatility, per stock
sims = 20_000
# Estimator for the mean: standard error shrinks like sigma / sqrt(years)
mu_hat = rng.normal(mu, sigma / np.sqrt(years), sims)
# Estimator for volatility: converges faster and cannot flip sign
sigma_hat = sigma * (1 + rng.normal(0, 1 / np.sqrt(2 * years), sims))
print(f"mean excess return estimate : {mu_hat.mean():.2%}")
print(f"std. error of that estimate : {mu_hat.std():.2%}")
print(f"share of samples with a negative : {np.mean(mu_hat < 0):.2%}")
print(f"volatility estimate : {sigma_hat.mean():.2%}")
print(f"std. error of that estimate : {sigma_hat.std():.2%}")
With three years of history, the standard error on an annualised mean is on the order of the mean itself — which is why an expected-return estimate can flip sign from sample to sample, while a volatility estimate stays in a narrow band around the truth. Minimum volatility consumes only the second kind of input. Maximum Sharpe ratio consumes both, and inherits the first kind’s instability.
Operational fit. If switching between objectives means re-plumbing a research notebook, you will not switch. In RSJ Portfolio the objective is selectable in the interface, so the comparison is a run and a re-run rather than a refactor. Weight constraints apply on top of either objective, so you can enforce diversification limits or position caps whatever you optimise for.
Side-by-Side Comparison: Minimum Volatility vs Maximum Sharpe Ratio
| Objective | Primary goal | Inputs required | Typical portfolio tilt | Sensitivity to estimation error | Best for |
|---|---|---|---|---|---|
| Minimum volatility | Lowest achievable portfolio volatility | Risk model | Low-volatility, weakly correlated stocks; often defensive sectors | Lower — depends on risk estimates only | Risk-averse investors prioritising stability |
| Maximum Sharpe ratio | Highest return per unit of volatility | Risk model and return model | Higher expected-return stocks; more concentrated in what the return model favours | Higher — depends on noisy return estimates | Return-seeking investors comfortable with estimation error |
Both are supported in RSJ Portfolio, and nothing stops you from running both on the same candidate list and comparing the allocations and risk metrics before committing capital. If the two outputs are nearly identical, the choice hardly matters for your universe. If they diverge sharply, that divergence is the most useful piece of information the comparison produces.
How RSJ Portfolio Implements Both Objectives
RSJ Portfolio is a Windows desktop application. It analyses historic end-of-day prices, computes the correlation structure of your candidates, and allocates capital toward weakly correlated names to reduce the volatility of the resulting portfolio. The objective — minimum volatility, maximum Sharpe ratio, or one of the other methods — is a setting, not a rewrite.
The workflow is deliberately bounded:
- Connect a data provider. RSJ Portfolio supports several providers, keeps prices in a local cache, and handles quotes in more than one currency through a defined conversion path.
- Let the price cleaning pipeline run. Historic end-of-day series arrive with gaps, splits, and outliers; cleaning happens as part of the pipeline rather than as homework you do in a spreadsheet.
- Build the candidate list. Search for symbols and assemble the universe you want the optimizer to consider.
- Run the optimizer. Choose the objective, pick one of the eight risk models, add a return model if the objective needs one, and set weight constraints.
- Review the recommended allocation and the accompanying risk metrics before you commit capital.
The hard way is the one every quant has done at least once: write the data pipeline, reconcile corporate actions, estimate a covariance matrix, code the quadratic program, add constraints, and then discover that the whole stack is not reproducible six months later. RSJ Portfolio is the managed alternative — the pipeline, the estimators, the optimizer, and the constraints live in one application.
Before the first run, check the installer you downloaded. The downloads page publishes the Windows installer under a versioned filename together with its SHA-512 checksum:
$installer = "$env:USERPROFILE\Downloads\rsj-portfolio-setup-<version>.exe"
$expected = "<sha512-from-downloads-page>"
(Get-FileHash $installer -Algorithm SHA512).Hash.ToLower() -eq $expected.ToLower()
Parameter-by-parameter detail for the recommendation step — what each field does and how to read the resulting allocation — is documented in the user guide’s recommendation chapter. The methods and features page lists every allocation method, the risk models, and the available constraints.
Verdict: Which Objective Should You Choose?
Choose minimum volatility if stability is the point. You are risk-averse, you expect the portfolio to be judged on how it behaves in a downturn, and you would rather not depend on a return forecast you cannot defend. Its inputs are the ones you can estimate most reliably.
Choose maximum Sharpe ratio if you want the best risk-adjusted result and you accept that the return side of the calculation is an estimate with real error bars. It rewards a considered view on returns and punishes a careless one.
Choose both if you are not sure — which is most of the time. Run the two objectives on the same candidate list, compare the allocations, the volatility, and the concentration each one produces, and pick the one whose trade-offs you can actually live with. RSJ Portfolio’s flexibility exists precisely so that this is a cheap experiment rather than an irreversible architectural decision, and so that you can revisit it when your views or market conditions change.
If you want to see the workflow end to end, start with the overview and the getting started guide, then grab the installer from downloads. Licensing is a single-user license, detailed on the pricing page.
FAQ
Can I use both minimum volatility and maximum Sharpe ratio in RSJ Portfolio?
Yes. RSJ Portfolio lets you select the objective, so you can run both minimum volatility and maximum Sharpe ratio optimisations on the same candidate list and compare the resulting allocations.
Which objective is more sensitive to estimation error?
Maximum Sharpe ratio is generally more sensitive because it relies on expected return estimates, which are noisier. Minimum volatility relies primarily on risk estimates, which tend to be more stable.
Does RSJ Portfolio require programming or manual data pipelines?
No. RSJ Portfolio is a Windows desktop application that provides a managed workflow: you load data from supported providers, clean prices, build a candidate list, and run the optimizer without writing code.
How do weight constraints affect the choice between objectives?
Weight constraints limit how much capital can be allocated to individual stocks or groups. They apply regardless of the objective, so you can enforce diversification or regulatory limits while optimizing for either minimum volatility or maximum Sharpe ratio.
Conclusion
Minimum volatility and maximum Sharpe ratio answer different questions. One asks “how do I make this portfolio as calm as possible?” The other asks “how do I get the most return per unit of risk?” Neither is universally correct, and the right pick depends on your tolerance for drawdowns and your willingness to bet on a return forecast.
Because RSJ Portfolio exposes the objective as a setting alongside the risk model and weight constraints, you can answer the question empirically: run both, compare, then commit.
Related posts: