RSJ Portfolio Portfolio Optimization

← All posts

2026-09-27

Correlation and Volatility: A Long-Term Investor's Guide

Correlation and Volatility: A Long-Term Investor's Guide
portfolio optimization modern portfolio theory portfolio correlation portfolio optimization hierachical risk parity minimize volatility minimize semivariance maximize sharpe

Correlation and Volatility: A Long-Term Investor’s Guide

Mira sold her bootstrapped SaaS company last spring. After taxes, she has a seven-figure sum to manage, a 25-year horizon, and no desire to become a full-time trader. Her first instinct was familiar: keep the money in the names she understands — cloud infrastructure, a couple of semiconductor suppliers, two enterprise software companies she used as a customer. Quality companies, all of them.

Then she looked at the drawdown. In a bad quarter for growth stocks, every one of those positions fell together. She was not diversified. She was long one macro factor, wearing six ticker symbols.

That is the long-term investor’s dilemma in miniature: the risk that hurts you over decades is not the risk of any single stock. It is the risk of everything you own moving in the same direction at the same time. This article is about that hidden lever — portfolio correlation and volatility reduction for long-term investors — and how to work it deliberately rather than by accident.

The Long-Term Investor’s Dilemma: Why Volatility Matters Over Decades

If your horizon is 25 years, why care about volatility at all? Two reasons, and neither is about sleeping well.

The first is sequence-of-returns risk. If you are contributing steadily and never withdrawing, a drawdown is an opportunity. But most long-term investors eventually flip from accumulation to withdrawal — or face a large, lumpy expense along the way. A 35% drawdown two years before that switch does far more damage than the same drawdown ten years earlier.

The second is behavioral cost. Volatility is what forces decisions. A concentrated portfolio that drops 40% tests your conviction in a way that a portfolio dropping 18% does not. The math of a long holding period only works if you actually hold.

And here is the part long-term investors most often miss: they screen candidates one at a time. Great balance sheet, durable moat, reasonable valuation — one stock at a time. Portfolio volatility, however, is not the average of the individual volatilities. It is driven by how those positions co-move. Six excellent companies that all sell into the same capex cycle are one bet with six names.

RSJ Portfolio is a Windows desktop application built precisely for this problem: it constructs a statistically optimized stock portfolio from historic end-of-day prices, analyses the return correlation between candidates, and allocates capital to the ones that correlate weakly — or whose downside correlates weakly — which reduces the volatility of the resulting portfolio.

Why Correlation Is the Hidden Lever for Long-Term Returns

Correlation is a number between −1 and +1 that describes how two return series move together. +1 means they move in lockstep, 0 means no linear relationship, −1 means they move oppositely. It is not a statement about quality, growth, or valuation — only about co-movement.

A few consequences that matter for a long horizon:

  • Count is not diversification. Ten high-growth software names may carry more concentration than three names from unrelated industries, because their return correlation can sit above 0.7 in stressed markets.
  • Weak correlation reduces volatility without requiring you to give up expected return. This is the core of modern portfolio theory: the portfolio’s variance depends on the covariance structure, not just the weighted average of individual variances. Add a weakly correlated candidate and total volatility can fall even if that candidate is individually noisier than what you already hold.
  • Downside correlation is the sharper tool. Two stocks can have modest overall correlation and still sell off together in a crisis, when correlation tends to rise. Optimizing on downside risk — rather than symmetric variance — targets the co-movement you actually fear.
  • Correlation drifts. It is not a stable property of a pair of tickers. It shifts with regimes, business models, and index membership. That is why estimating it from a long historical window, and re-estimating periodically, is the practical approach rather than a static “diversification list.”

If you want the manual, spreadsheet-and-screener version of this work, we walk through it step by step in How to Build a Low Correlation Stock Portfolio, Step by Step. This article is the strategic “why” — what to optimize for, and what to avoid over a multi-decade horizon.

A Practical Playbook: Using RSJ Portfolio to Optimize for the Long Haul

The workflow is deliberately short. Here is the version we recommend to long-horizon investors.

Step 1: Define your investment universe. Using RSJ Portfolio’s selection interface, search symbols and build a candidate list. This is where your judgment belongs: companies you would be comfortable holding for a decade. Do not screen for correlation at this stage — put the names you believe in on the list and let the optimizer measure the co-movement.

Step 2: Configure data and cleaning. In the configuration panel, set your data provider, your local currency, the historical date range, and the price cleaning settings. For a long-horizon mandate, use a multi-year history — the outline of a 10+ year window — so correlation estimates are not dominated by one regime. If your candidates are quoted in different currencies, the conversion path handles portfolios quoted in more than one currency. The local cache means repeated runs do not re-download everything.

Keep a short run journal outside the app so you can compare runs later. Something like this is enough:

# Personal run journal - your notes, not a product file format
run: 2026-Q3-rebalance
universe: 30 candidates, 6 sectors, US + EU listings
data:
  provider: primary
  local_currency: EUR
  history: 12y
  cleaning: defaults
optimizer:
  objective: minimum_volatility
  risk_model: semi_variance
  max_weight_per_name: 0.05
result:
  portfolio_vol_estimate: "see recommendation screen"
  notes: "small-cap industrials entry correlated higher than expected"

Step 3: Choose an objective and a risk model. RSJ Portfolio offers minimum volatility, maximum Sharpe ratio, minimum semi variance, hierarchical risk parity, and conditional value at risk. Pick the objective that matches your mandate, not the one that sounds most sophisticated. A pure long-horizon capital-preservation mandate usually points at minimum volatility; if you care specifically about drawdowns, minimum semi variance or conditional value at risk is the more honest target. Then pick a risk estimator from the eight available risk models. (If you are torn between the two most common objectives, Minimum Volatility vs Maximum Sharpe Ratio: Which to Choose? works through that trade-off.)

Step 4: Run the optimizer and review the allocation. The software uses modern portfolio theory to allocate capital across weakly correlated candidates. You can apply weight constraints to reflect your preferences — a per-name cap is the single most useful constraint for a long-term investor, because it prevents the optimizer from parking 30% in whichever stock happens to have the lowest estimated variance. Read the resulting weights against your own priors: if a name you expected to dominate gets zero, that is information about correlation, not a bug.

Step 5: Export and implement. Use the export to get your target weights, then execute with your broker at your own pace. Record the date. Re-run periodically.

One housekeeping note before any of this: the Windows installer is published on the downloads page with a versioned filename and a published SHA-512, so you can verify what you downloaded before running it.

# Verify the installer against the SHA-512 published on the downloads page
Get-FileHash .\RSJPortfolio-Setup-<version>.exe -Algorithm SHA512 |
  Format-List Algorithm, Hash

What to Avoid: Common Pitfalls for Long-Term Investors

  • Chasing past performance without checking correlation. The best-performing stock of the last cycle is frequently the one most correlated with what you already own. Buying it increases concentration while feeling like diversification.
  • Over-optimizing on short timeframes. Six months of daily data produces unstable correlation estimates and weights that flip on every run. Long-horizon investors should feed the optimizer multi-year histories.
  • Ignoring downside correlation. Low overall correlation is not a guarantee of low crisis correlation. If your concern is the drawdown, express it through a downside-aware objective such as minimum semi variance or conditional value at risk, not through a variance-based default.
  • Treating the optimization as a one-time event. Correlations drift and businesses change. A portfolio optimized once and never revisited quietly reverts to the concentration you started with.
  • Assuming more holdings equals better diversification. Twenty names drawn from one industry cluster can be riskier than eight names spread across genuinely unrelated return drivers.

How RSJ Portfolio Fits into a Long-Term Investor’s Workflow

The product is a managed desktop application: you install it, configure your data sources, currency, and preferences, and it handles the statistical heavy lifting. There is no optimizer to code and no raw price series to clean, join, and align yourself. Data providers, the price cleaning pipeline, the local cache, and the multi-currency conversion path are all part of the package. Eight risk models and several return models give you room to match your risk tolerance and market view, and weight constraints let you express the rules you do not want the optimizer to break.

You could build this yourself. Mean-variance optimization with a semi-variance objective is a few dozen lines, and there is real satisfaction in owning every detail:

# The hard way: you own the data pipeline, the estimator, and every edge case
import numpy as np
from scipy.optimize import minimize

cov = np.cov(returns, rowvar=False)          # your cleaned, aligned price panel

def portfolio_vol(w):
    return float(np.sqrt(w @ cov @ w))

res = minimize(
    portfolio_vol,
    x0=np.ones(n) / n,
    bounds=[(0.0, 0.05)] * n,                # 5% max weight per name
    constraints=[{"type": "eq", "fun": lambda w: w.sum() - 1.0}],
)

That path is fine if you enjoy maintaining it. The point of a guided application is that you skip straight to the decision and get a reproducible answer, with exports you can act on. The user guide — published as HTML in both English and German, covering installation and licensing, selection, recommendation, configuration, the statistical concept, and the feature overview — is written so that non-quants can follow the same path.

Case Study: A Founder’s Portfolio Transformation

Take a founder in Mira’s position: a concentrated position in technology names, a retirement horizon of 20+ years, and a genuine wish to stop watching daily moves.

She built a candidate list of 30 stocks across sectors — a handful of the technology names she knew well, plus industrials, healthcare, consumer staples, energy infrastructure, and a couple of regional banks. She selected minimum volatility as the objective with a semi variance risk model, because her real concern was drawdown behavior rather than day-to-day noise, and applied a 5% maximum weight per stock so no single name could dominate.

The resulting allocation looked unfamiliar to her. Several names she considered obvious core holdings received small weights or none, because they correlated strongly with the rest of her list. Several less glamorous candidates received meaningful weights because their downside correlated weakly with the technology cluster she had been implicitly long. The projected portfolio volatility came in below that of her original concentrated book — not because the optimizer found better stocks, but because it found better combinations.

Two things are worth stating plainly. RSJ Portfolio does not predict returns; it uses historical data to optimize allocation based on correlation and risk. And the output is a starting point for a periodic process, not a permanent verdict. The founder exports the weights, executes them, and schedules a quarterly re-run so the allocation tracks correlations as they change.

FAQ

How does RSJ Portfolio reduce portfolio volatility?

RSJ Portfolio analyzes historical end-of-day prices to estimate correlations between stocks. It then uses modern portfolio theory to allocate capital to candidates that correlate weakly — or whose downside correlates weakly — which reduces the volatility of the resulting portfolio. You can choose from objectives like minimum volatility, minimum semi variance, or conditional value at risk, and select from eight risk models to tailor the optimization.

Can I use RSJ Portfolio if I’m not a quantitative investor?

Yes. RSJ Portfolio is a Windows desktop application with a guided workflow. You configure your data provider, currency, date range, and cleaning settings, then build a candidate list and run the optimizer. The user guide provides step-by-step instructions in English and German, so you don’t need to write code or manage raw data.

What data providers does RSJ Portfolio support?

The product information lists supported data providers on the Data and currencies page. RSJ Portfolio includes a price cleaning pipeline and a local cache, and it can handle portfolios quoted in multiple currencies via a conversion path. For the exact list, refer to the official documentation.

How often should I re-optimize my portfolio with RSJ Portfolio?

Correlations change over time, so periodic re-optimization is recommended. Many long-term investors re-run the optimizer quarterly or annually, or after significant market events. RSJ Portfolio makes it easy to update your candidate list and re-run the allocation with fresh data.

Does a lower-volatility portfolio mean lower long-term returns?

Not necessarily. The theory behind correlation-aware allocation is that you can reduce volatility for a given level of expected return — or hold expected return roughly constant while reducing risk — by improving the covariance structure of the portfolio. What the optimizer cannot do is guarantee any particular return, because returns are not derived from historical correlation.

Conclusion: Own the Combination, Not Just the Companies

Over a 25-year horizon, your outcome depends less on picking the single best stock than on how the pieces you own behave together. Correlation is the lever that most long-term investors never pull — and it is the one that shows up in every drawdown. Build a candidate list you believe in, give RSJ Portfolio a long price history, choose an objective that reflects your actual fear (volatility, drawdown, or tail risk), constrain the weights, and re-run on a schedule.

If you want the detailed manual route first, start with the sibling walkthrough; if you would rather have the statistics handled for you, install the Windows application, work through the user guide, and let the optimizer show you what your convictions look like when they are measured against each other.

Related posts

EU label: AI-generated content