All studies
01Quantitative finance

Optimize a portfolio, then test what the curve promises

A backtest above the CAC 40 is not enough: costs, stability, sensitivity and uncertainty change the decision.

Study framework

Reconstructed organization. Frozen public prices; calculations and results genuinely executed and reproducible.

Frozen public data

Reading plan

From problem to decision

  1. 01

    Understand the mandate

    Twelve French equities, one benchmark and one monthly decision.

  2. 02

    Replay the initial approach

    No future data and a cost attached to every change.

  3. 03

    Build a more stable rule

    Capped weights, shrinkage and a turnover penalty.

  4. 04

    Decide with uncertainty

    Compare metrics, scenarios and the active-return interval.

01

Before we begin

The problem

A reconstructed organization is considering a portfolio of twelve large French equities, with no short selling, and wants to compare it with the CAC 40.

The problem is not to find the prettiest curve after the fact. The decision is whether an allocation rule could have been used month after month with only the information available at the time.

Portfolio optimisation selects the share of capital allocated to each stock. It does not directly predict the next price: it seeks a compromise between estimated return, risk, concentration and the cost of changing positions.

02

Phase 1

What the organization built

We begin by understanding the system as presented, without caricaturing it and before proposing any correction.

The model's mandate

The reconstructed organization wants to allocate capital across twelve large French equities, without short selling. The CAC 40 is the benchmark: the aim is not to replicate it, but to test whether the model adds anything once risk is considered.

Each month, the prototype looks at the previous 252 trading sessions—roughly one market year—then estimates each stock's average return and how their movements relate to one another.

Why the first result looks convincing

The model may place up to 35% of the capital in one stock. This freedom strongly exploits the most favourable estimates and produces an attractive curve.

But the initial presentation charges neither repeated trading nor sector concentration. A small estimation error can therefore trigger a large portfolio change the following month.

Initial approach summary

  • Means and covariance estimated over the latest 252 sessions.
  • 35% position cap, with no sector control.
  • Costs and turnover absent from the initial presentation.

03

Phase 2

What the assessment checks and proposes

The second phase reproduces the mechanism, locates what breaks and turns criticism into a testable change.

Replay without knowing the future

The test moves forward in time. At each date, weights are computed using only past data, applied to the following month, then charged 12 basis points per unit of capital traded. This is a walk-forward test.

The resulting 92 monthly decisions form an out-of-sample experiment: the model cannot go back and choose parameters that would have improved a difficult month.

Stabilise before seeking performance

The corrected rule reduces the influence of extreme estimates, caps each stock at 20%, limits each sector to 40% and penalises unnecessary changes. In other words, it gives up part of the theoretical return to obtain more usable behaviour.

Finally, 4,000 block resamples test the fragility of the additional return versus the CAC 40. The resulting interval crosses zero: the model may have done better, but the data do not establish that the advantage is real.

Assessment

  • The 92 monthly decisions are replayed in order, without future information, and charged 12 basis points per unit of capital traded.
  • The robust model annualizes at 10.15% versus 8.30% for the CAC 40, with 17.08% volatility.
  • But block resampling gives a 95% interval of −3.70% to +6.80% for the return gap versus the index: this interval crosses zero.

Proposed correction

  • Pull extreme return and dependence estimates towards more conservative values.
  • Cap each position at 20% and each sector at 40%.
  • Penalise portfolio changes and ignore small adjustments.
  • Test 25 cost and stabilisation-strength combinations.

04

Concepts and equations

No symbol without a definition

The same notes open from the “?” links placed throughout the article.

05

Numerical results

What the numbers actually measure

The following metrics must be read together: return, risk, depth of losses and stability tell different stories.

10.15%

robust annual return

Compound annual growth of the corrected approach.

17.08%

annualized volatility

Annualised amplitude of daily fluctuations.

0.65

Sharpe ratio, zero rate

Return obtained per unit of total fluctuation.

[−3.70; +6.80]%

95% active-return interval

The interval contains zero: the advantage is not established.

Comparative performance table

Out-of-sample period: 28 December 2018 to 31 July 2026, or 1,944 sessions. Returns use prices excluding dividends; the risk-free rate is set to zero. CAGR is the compound annual growth rate.

MetricInitial approach after costsRobust approach after costsCAC 40 price indexHow to read
Total return104,75 %110,74 %85,05 %Growth over the full period, without annualisation.
CAGR9,73 %10,15 %8,30 %Compound annual rate linking starting and ending value.
Annualised volatility20,59 %17,08 %18,72 %Typical fluctuation amplitude; lower does not mean loss-free.
Sharpe ratio0,5550,6520,520Return relative to all fluctuations, with zero risk-free rate.
Sortino ratio0,7570,8960,716Return relative only to downside fluctuations.
Maximum drawdown−30,56 %−31,31 %−38,56 %Worst fall from a peak to a subsequent trough.
Calmar ratio0,3190,3240,215CAGR divided by the absolute maximum drawdown.
Annual one-way turnover324,07 %33,94 %N/DCumulative share of the portfolio traded in one year; the correction sharply reduces trading.

06 · See the evidence

Read the charts step by step

Each figure first explains how to read its axes and colours, then what it does—or does not—support.

07 · Assessment protocol

How the assessment was conducted

Assessment protocol

  • Twelve French equities and the CAC 40 price index, 2 January 2018 to 31 July 2026.
  • A 252-session window and monthly rebalancing tested chronologically.
  • One-way cost: 12 basis points.
  • Circular resampling: 4,000 simulations in 21-session blocks.

Limitations that matter

  • The fixed universe was selected after the period: companies that disappeared or left the index are not restored.
  • Closing prices and a price-only index, with dividends excluded.
  • Yahoo Finance is not a source designed to simulate real execution.
  • Taxes, market impact and operational risk are absent.

08 · Sources & provenance

Where the facts come from

09 · Decision

NO-GO

NO-GO for production — outperformance versus the CAC 40 is not established.

  1. 1

    The corrected rule is more stable and trades much less, which is a measurable operational improvement.

  2. 2

    It finishes ahead of the CAC 40 price index over this period, but the 95% active-return interval includes zero. Outperformance is therefore not established.

  3. 3

    The next useful evidence is not another retrospective adjustment: it is a shadow portfolio, a survivorship-bias-free historical universe and a dividend-aware index.

Next step: No production deployment. Require a six-month shadow portfolio, a historical universe containing only securities genuinely available at each date, and a dividend-aware comparison index.