Strasmore Research
Learn · Matt ConnorBy Matt Connor · · Updated 2026-07-24

De low-volatility anomaly uitgelegd

Ontdek waarom meer risico niet altijd een hoger rendement oplevert. Wij vergelijken de realized volatility met het return van grote aandelen over twee jaar.

De financiële theorie stelt dat een belegger die meer risico accepteert, een hoger rendement zou moeten ontvangen voor het dragen van dat risico. De low-volatility anomaly is de langdurige observatie dat dit vaak niet het geval is. Gedurende vele perioden in de marktgeschiedenis hebben rustigere aandelen het tempo van wildere aandelen bijgehouden of zelfs verslagen, terwijl ze de houders blootstelden aan veel kleinere schommelingen. Deze post zet de gerealiseerde volatility af tegen het total return voor 25 grote, bekende aandelen over ongeveer de afgelopen twee jaar, en de relatie blijkt los en ruisachtig in plaats van de nette opwaartse lijn die het tekstboek schetst.

Wat de low-volatility anomaly inhoudt

Volatility betekent hier geannualiseerde volatility: de standaarddeviatie van de dagelijkse rendementen van een aandeel, opgeschaald naar een jaarlijks cijfer. Een getal nabij 16% is rustig voor een aandeel, en een cijfer boven de 50% duidt op een aandeel dat routinematig enkele procenten per dag beweegt. Het Capital Asset Pricing Model, het raamwerk dat in elke financiële cursus wordt onderwezen, voorspelt een rechte opwaartse lijn, waarbij een hogere volatility een hoger verwacht rendement oplevert.

Decennia aan academisch onderzoek hebben het tegenovergestelde laten zien. Low-volatility portfolios hebben historisch gezien rendementen geleverd die vergelijkbaar zijn met, en soms beter dan, die van high-volatility portfolios, tegen een fractie van het risico. Die kloof tussen de theorie en de praktijk is de anomaly. Het is een van de meest bestudeerde patronen in de markten, en het vormt de basis voor de "min-vol" en "low-vol" fondsen die vandaag de dag worden verkocht.

Volatility tegenover rendement, aandeel voor aandeel

De onderstaande grafiek neemt 25 bekende large caps, berekent de geannualiseerde volatility en het total return van elk aandeel over dezelfde periode, en sorteert ze van rustigst naar wildst. Als het tekstboek gelijk zou hebben, zouden de rendementen in stappen meestijgen met de volatility-staven van links naar rechts.

QueryAnnualized volatility vs total return, 25 large caps, van rustig naar volatiel (~2 jaar)
De exacte SQL achter elk getal
WITH d AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
           argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY','KO','JNJ','PG','PEP','WMT','MCD','MO','VZ','XOM','JPM','HD','COST','UNH','MRK','LLY','HON','LMT','CAT','TXN','ORCL','NVDA','TSLA','AMD','NFLX')
      AND window_start >= now() - INTERVAL 800 DAY
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker, dt
),
r AS (
    SELECT ticker, dt, c,
           c / lagInFrame(c) OVER (PARTITION BY ticker ORDER BY dt) - 1 AS ret
    FROM d
)
SELECT ticker,
       round(stddevSamp(ret) * sqrt(252) * 100, 1) AS annual_vol_pct,
       round((exp(sum(log(1 + ret))) - 1) * 100, 1) AS total_return_pct
FROM r
WHERE ret IS NOT NULL AND ret > -0.5 AND ret < 0.5
GROUP BY ticker
ORDER BY annual_vol_pct

Dat doen ze niet. De rustigste naam in de set is de S&P 500 zelf, ticker SPY, met 16% geannualiseerde volatility voor een 42.8% total return. Als we de lijn volgen, lieten enkele van de rustigste individuele aandelen sterke winsten zien, terwijl verschillende van de meest volatiele namen rond het nulpunt of in de min eindigden. De rendementen zijn verspreid. Ze volgen de volatility-staven niet op een rechte lijn, wat de anomaly in één beeld samenvat: de extra volatility aan de rechterkant leverde geen betrouwbare stijging in rendement op.

Wat de extra volatility daadwerkelijk heeft opgeleverd

Het groeperen van de 25 namen in derde delen op basis van volatility maakt het punt duidelijker. Elk derde deel krijgt een mediane return en een bereik van de slechtste tot de beste presteerder, zodat de spread van uitkomsten zichtbaar is naast het gemiddelde.

QueryVolatility thirds: median return, en de range van slechtste naar beste name per groep
De exacte SQL achter elk getal
WITH d AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
           argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY','KO','JNJ','PG','PEP','WMT','MCD','MO','VZ','XOM','JPM','HD','COST','UNH','MRK','LLY','HON','LMT','CAT','TXN','ORCL','NVDA','TSLA','AMD','NFLX')
      AND window_start >= now() - INTERVAL 800 DAY
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker, dt
),
r AS (
    SELECT ticker, dt,
           c / lagInFrame(c) OVER (PARTITION BY ticker ORDER BY dt) - 1 AS ret
    FROM d
),
pername AS (
    SELECT ticker,
           stddevSamp(ret) * sqrt(252) * 100 AS vol,
           (exp(sum(log(1 + ret))) - 1) * 100 AS tr
    FROM r
    WHERE ret IS NOT NULL AND ret > -0.5 AND ret < 0.5
    GROUP BY ticker
),
ranked AS (
    SELECT ticker, vol, tr, ntile(3) OVER (ORDER BY vol) AS bucket FROM pername
)
SELECT multiIf(bucket = 1, '1. Calmest third', bucket = 2, '2. Middle third', '3. Wildest third') AS vol_group,
       round(median(vol), 1) AS median_vol_pct,
       round(median(tr), 1) AS median_return_pct,
       round(min(tr), 1) AS worst_return_pct,
       round(max(tr), 1) AS best_return_pct,
       round(max(tr) - min(tr), 0) AS range_pct
FROM ranked
GROUP BY bucket
ORDER BY bucket

Over deze specifieke periode behaalde het wildste derde deel inderdaad het hoogste mediane rendement, 87.1% tegenover 20.6% voor het rustigste derde deel. Dat is een eerlijk resultaat, en het is relevant. Een venster van twee jaar is kort, en de afgelopen twee jaar beloonden een handvol grote, volatiele technologie- en momentum-aandelen. Wat het wildste derde deel ook opleverde, was dispersie. De rendementen varieerden van -15.8% tot +223.3%, een spread van 239 basispunten. Het rustigste derde deel paste binnen een spread van 92 punten. Hoge volatility verbreedde de spreiding van uitkomsten veel meer dan dat het het centrum ervan omhoog tilde. Een belegger in de volatiele groep had een reële kans op het hoogste rendement in de tabel en een even reële kans op het laagste rendement.

Het pad is even belangrijk als het eindpunt

Eén enkel total return-getal verbergt de reis. Het volgen van $100 die aan het begin van de periode is geïnvesteerd gedurende elke week laat zien hoe volatility aanvoelt tijdens het aanhouden van een positie.

QueryGrowth van $100: een rustige name (KO), de market (SPY), een volatiele name (NVDA), weekly
De exacte SQL achter elk getal
WITH d AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
           argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('KO','SPY','NVDA')
      AND window_start >= now() - INTERVAL 800 DAY
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY ticker, dt
),
r AS (
    SELECT ticker, dt,
           c / lagInFrame(c) OVER (PARTITION BY ticker ORDER BY dt) - 1 AS ret
    FROM d
),
f AS (
    SELECT ticker, dt, ret FROM r WHERE ret IS NOT NULL AND ret > -0.5 AND ret < 0.5
),
cum AS (
    SELECT ticker, dt,
           100 * exp(sum(log(1 + ret)) OVER (PARTITION BY ticker ORDER BY dt)) AS idx
    FROM f
),
wk AS (
    SELECT ticker, toMonday(dt) AS week, argMax(idx, dt) AS wv
    FROM cum GROUP BY ticker, week
)
SELECT week,
       round(maxIf(wv, ticker = 'KO'), 1) AS ko_calm,
       round(maxIf(wv, ticker = 'SPY'), 1) AS spy_market,
       round(maxIf(wv, ticker = 'NVDA'), 1) AS nvda_wild
FROM wk
GROUP BY week
ORDER BY week

Het rustige aandeel hier is Coca-Cola (KO), het volatiele aandeel is Nvidia (NVDA), en de middelste lijn is de markt. Tegen de laatste week was $100 in KO gegroeid naar $129.9, de S&P 500 naar $142.8, en NVDA naar $226.8. NVDA won de periode, maar deed dit via een zichtbaar grillig pad, waarbij meer dan één keer dubbelcijferige percentages werden teruggegeven. KO bleef beide andere lijnen achter, terwijl het nauwelijks schommelde. Geen van beide uitkomsten komt overeen met het tekstboek. De rustige naam versloeg de markt deze keer niet, en de volatiele naam leverde rendement op ondanks de anomaly, niet in lijn met de theorie. Dat is de aard van een korte periode. De anomaly is een tendens die over decennia wordt gemeten, geen belofte over een specifieke periode van twee jaar.

Waarom de anomaly echt is maar geen wet

De sterkste versie van de low-vol bevinding is bescheiden: over lange perioden heeft het kopen van rustigere aandelen beleggers geen rendement gekost, en heeft het hun risico aanzienlijk verlaagd. Het is een uitspraak over gemiddelden over duizenden namen en vele jaren, geen regel die 25 aandelen over 24 maanden beheerst. Periodes zoals deze, waarin volatiele momentum-aandelen hard zijn gegaan, zijn precies de reden waarom het patroon een anomaly wordt genoemd in plaats van een wet. Voor een vollediger overzicht van welke large caps daadwerkelijk het rustigst zijn geweest, zie de rustigste large-cap aandelen. De andere kant, het aanhouden van enkele grote volatiele winnaars, brengt een eigen concentratierisico met zich mee, en het temperament dat de anomaly beloont, ligt dicht bij het principe achter kopen wanneer anderen bang zijn.

FAQ

Wat is de low-volatility anomaly?

Het is het lang geobserveerde patroon dat low-volatility aandelen over lange perioden rendementen hebben behaald die even hoog zijn als, of hoger dan, die van high-volatility aandelen, tegen een veel lager risico. Dit gaat in tegen de voorspelling uit het tekstboek dat meer risico meer rendement oplevert.

Verslaan low-volatility aandelen echt high-volatility aandelen?

Over steekproeven van meerdere decennia laat onderzoek zien dat ze op een risico-gecorrigeerde basis ongeveer gelijk zijn of hen verslaan. Over elke korte periode kan dit resultaat omslaan. In het hier gemeten venster van twee jaar behaalde het meest volatiele derde deel van de namen het hoogste mediane rendement, met bij veruit de breedste spreiding van uitkomsten.

Is low-volatility beleggen een goede strategie?

Low-volatility beleggen heeft historisch gezien het risico verlaagd zonder veel rendement op te offeren, wat de reden is dat "min-vol" fondsen bestaan. Het is geen garantie op outperformance in een specifiek jaar, en het kan sterk achterblijven wanneer speculatieve namen de markt leiden.

Hoe wordt de volatility van een aandeel gemeten?

De gebruikelijke maatstaf is geannualiseerde volatility: de standaarddeviatie van de dagelijkse procentuele rendementen, vermenigvuldigd met de wortel van 252 (het aantal handelsdagen in een jaar). Een hoger cijfer betekent grotere typische dagelijkse bewegingen in beide richtingen.


Elk paneel hierboven is een opgeslagen, inspecteerbare query. Open de SQL onder een grafiek om de berekening te controleren, of voer dezelfde volatility-versus-return test uit op uw eigen mandje met namen op de Strasmore terminal.