USD Finans

Magasinet der gør dig klogere på penge

7 trin til at beregne Sortino-ratioen i Excel

7 trin til at beregne Sortino-ratioen i Excel

Forestil dig, at du kan måle en investerings risiko præcist dér, hvor det gør allermest ondt – nemlig når afkastet skuffer. Det er netop, hvad Sortino-ratioen kan, og med et par enkle formler i Excel kan du selv gøre talmagi til et styringsværktøj, der skiller de solide strategier fra de rene højdespringere.

Men hvorfor nøjes med den velkendte Sharpe-ratio, når Sortino-ratioen zoomer ind på de negative udsving og fortæller dig, hvor meget afkast du egentlig får pr. enhed af nedsiden? I en verden, hvor risiko sjældent er symmetrisk, giver det langt mere mening at belønne jævne opsving og straffe ubehagelige dyk – og det er præcis det, du lærer på de næste få minutter.

I denne trin-for-trin-guide viser vi dig, hvordan du fra rå prisdata til færdig analyse kan beregne Sortino-ratioen direkte i Excel. Du får praktiske tip til datarensning, formel-opbygning og tolkning, så du kan løfte din porteføljeanalyse til et nyt niveau – uanset om du forvalter din egen formue eller rådgiver andre.

Knæk formlerne, og gør risikoen til din bedste ven – lad os komme i gang!

Trin 1: Forstå Sortino-ratioen og hvornår du skal bruge den

Før du åbner Excel-arket, er det vigtigt at have en klar forståelse af, hvad Sortino-ratioen måler, og hvordan den adskiller sig fra den mere udbredte Sharpe-ratio.

Definition: Sortino-ratioen kvantificerer, hvor meget merafkast en investering genererer i forhold til et fastsat målafkast (MAR, Minimum Acceptable Return) pr. enhed af downside risk. Formlen kan skrives sådan:

Sortino = (E[R] - MAR) / Downside Deviation

hvor:

  • E[R] er det gennemsnitlige afkast pr. periode.
  • MAR er dit målafkast pr. samme periode.
  • Downside Deviation er standardafvigelsen kun af afkast under MAR.

Sharpe vs. Sortino

  • Sharpe-ratioen straffer al volatilitet – både opadgående (positive afkast) og nedadgående (negative afkast).
  • Sortino-ratioen ignorerer den gunstige, opadgående volatilitet og fokuserer kun på den del, investorer faktisk frygter: afkast under målet.

Resultatet er, at Sortino-ratioen giver et mere retvisende billede, når:

  • afkastfordelingen er asymmetrisk (skævhed, “fat tails”),
  • strategien har hyppige, små gevinster kombineret med sjældne tab,
  • du ønsker at evaluere performance i relation til et specifikt afkastkrav frem for den risikofri rente.

Hvornår bør du vælge sortino frem for sharpe?

Hvis du som investor lægger mere vægt på at undgå negativ afvigelse fra et mål (fx 0 % eller inflationsrate) end på samlet udsving, er Sortino-ratioen at foretrække. Det gælder f.eks. i:

  • Private porteføljer med klare indtjeningsmål (pension, børneopsparing).
  • Alternativt aktiver (hedgefonde, krypto), hvor afkastserier ofte er ikke-normalt fordelte.
  • Risikojustering af strategier med store “upsides”, hvor Sharpe-ratioen ville “straffe” de positive outliers.

De input, du skal have klar, før du går videre

  1. Afkastserie: En kolonne med periodiske afkast (daglige, ugentlige eller månedlige). Disse beregnes som regel ud fra pris- eller NAV-data.
  2. Målafkast (MAR): Minimum Acceptable Return pr. periode. MAR kan være 0 %, den risikofri rente, inflationsmålet eller et personligt afkastkrav.
  3. Tidsfrekvens (m): Antal perioder pr. år – typisk 252 for daglige, 52 for ugentlige eller 12 for månedlige observationer. Frekvensen bestemmer både, hvordan du omregner MAR og hvordan du annualiserer resultatet senere.

Når disse tre elementer er fastlagt, er du klar til at indsamle data og bygge regnearket i næste trin.

Trin 2: Klargør dit datasæt i Excel

Før du kan begynde at regne på Sortino-ratioen, skal dit rådata være rent, komplet og ensartet. Ét fejlagtigt tal kan forplumre hele analysen, så brug et par minutter ekstra på at få strukturen på plads:

  • Hent data fra en pålidelig kilde – f.eks. Yahoo Finance, Nasdaq, Bloomberg, Morningstar eller en CSV-fil fra din netbank. Vælg helst total return-serier (inkl. dividender) for aktier og NAV-serier for fonde, så du fanger hele afkastet.
  • Importer til Excel via Data > Hent og transformer data eller ved at åbne CSV-filen direkte. Gem arket med et sigende navn (fx “Rådata”).
  • Etabler en enkel struktur:
    • Kolonne A: Dato (formatér som dato, kort eller lang)
    • Kolonne B: Pris/NAV (decimalformat med 2-4 cifre)

    Omdan området til en Excel-tabel (Ctrl + T) – så følger formler og grafer automatisk med, hvis du tilføjer nye rækker.

  • Sorter datoer stigende (ældste øverst) med Data > Sortér. Sortino-beregningen forudsætter kronologisk rækkefølge.
  • Tjek for datohuller og dubletter:
    • Marker hele datokolonnen og vælg Betinget formatering > Duplikatværdier for at finde overlappende rækker.
    • Filtrer efter tomme celler i dato- eller prisfeltet. Mangler der enkelte dage i en daglig serie, kan du enten:
      • slette hele rækken (mest konservativt),
      • eller “forward-fille” prisfeltet, hvis du accepterer uændret pris på lukkedage.
  • Vælg og fasthold én tidsfrekvens:
    • Daglig: Mest præcis, men flest datapunkter.
    • Ugentlig: Brug typisk fredagens lukkepris. Gruppér med en pivottabel eller Power Query.
    • Månedlig: Sidste handelsdag i måneden; giver glattere Sortino.

    En ren frekvens er vigtig, fordi MAR-konverteringen og annualiseringsfaktoren i Trin 6 afhænger af antallet af perioder pr. år (m).

  • Undgå valuta-støj: Hvis du beregner Sortino i danske kroner, skal alle priser være konverteret til DKK inden import. Ellers risikerer du et “valuta-Sortino”, som kan være misvisende.
  • Dokumentér justeringer: Læg en kort note i cellen lige over dataserien eller i et separat “README”-ark: kilde, download-dato, eventuelle manuelt rettede observationer og om serien er total return eller pris.

Når disse trin er på plads, har du et stabilt fundament til at beregne periodiske afkast i næste trin – uden at bekymre dig om datasnavs, der fordrejer resultatet.

Trin 3: Beregn periodiske afkast

Nu hvor priserne ligger færdigrensede i et ark (kolonne A = Dato, kolonne B = Pris/NAV), er næste skridt at omsætte dem til periodiske afkast. Det giver en skalerbar serie, som senere kan sammenholdes med målafkastet og downside-deviationen.

  1. Vælg afkasttype – simpelt eller log
    • Simpelt afkast: (Pt/Pt-1) - 1. Det er mest intuitivt og nemt at forklare for ikke-tekniske brugere.
    • Log-afkast: LN(Pt/Pt-1). Fordelen er, at log-afkast kan summeres over perioder og giver en mere symmetrisk fordeling ved høje volatiliteter. Til Sortino-beregninger kan begge anvendes; vælg den, der stemmer overens med dine øvrige analyser.
  2. Indsæt en ny kolonne til afkast
    Tilføj fx kolonne C med overskriften Afkast. I række 3 (første række med både Pt og Pt-1) skriver du en af følgende formler og kopierer nedad:
    =B3/B2-1 

    eller

    =LN(B3/B2) 

    Brug absolutte/relative referencer efter behov, hvis du arbejder i flere ark.

  3. Håndtér første række
    Række 2 har ingen foregående pris at sammenligne med. Sæt afkastet til 0, #N/A eller lad cellen stå tom – blot så andre beregninger ikke fejler.
  4. Kontrollér for ekstreme værdier og databrud
    En hurtig sanity-check:
    • Anvend Conditional FormattingHighlight Cells RulesGreater Than/Less Than for at spotte afkast > ±20 % (eller en grænse du selv sætter).
    • Tjek for overlappende helligdage eller manglende observationer, der kan give spring på 2-3x normal frekvens.
    • Bekræft, at der ikke er negative priser eller andre dataslip.
  5. Sikre ensartet formatering
    • Marker kolonnen og vælg talformat Procent (2 decimaler) for simple afkast – eller Tal (4-6 decimaler) for log-afkast – så formler senere ikke blander procent- og decimalnotation.
    • Notér i kommentar eller dokumentationsark, hvilken afkasttype du bruger. Det gør det lettere at fejlfinde senere.

Når denne kolonne er på plads og kvalitetssikret, har du fundamentet til at kunne sammenligne hvert afkast med dit valgte målafkast i de næste trin.

Trin 4: Fastlæg målafkast (MAR) pr. periode

Målafkastet – også kaldet Minimum Acceptable Return (MAR) – er det afkastniveau, du som investor kræver, før et negativt afvigelse betragtes som “bad news”. Når du beregner Sortino-ratioen, skal dette afkast derfor ligge på samme tidsfrekvens som afkastserien, ellers bliver forholdstallet misvisende.

1. Vælg et passende årligt målafkast

  • 0 % – ofte brugt, når du blot vil måle, om afkastet er negativt.
  • Risikofri rente – f.eks. 10-årig statsobligation eller den aktuelle STIBOR/€STR.
  • Investor­krav – den hurdle rate dit mandat eller KPI tilsiger (fx 5 % p.a.).

2. Konvertér til periodisk mar

Antag, at du har valgt en årlig MAR på 4 % og analyserer månedlige afkast (m = 12 perioder/år). Den periodiske MAR beregnes som:

MARperiodisk = (1 + MARårlig)1/m − 1

I Excel kan du skrive, hvis den årlige MAR står i celle $B$1 og antallet af perioder i $B$2:

=POWER(1 + $B$1; 1/$B$2) - 1

Eksempel (4 % årligt, månedlig frekvens):

=POWER(1 + 0,04; 1/12) - 1 ➔ 0,3274 %

3. Læg mar ind i regnearket

  1. Opret en ny kolonne (fx Kolonne D) med overskriften MAR.
  2. Skriv den periodiske MAR-formel i række 2 (samme række som det første valide afkast).
  3. Kopier/fyld ned til sidste observationsrække – alle perioder får dermed samme referenceværdi.

Når dette er gjort, står hver afkastobservation nu side om side med sit periodiske målafkast. Det giver dig rammen til i næste trin at identificere downside-afvigelser (Afkast − MAR) og beregne downside deviation.

Trin 5: Identificér downside-afkast og beregn downside deviation

Nu hvor vi både har en kolonne med periodiske afkast og en kolonne med det periodiske målafkast (MAR), skal vi isolere de observationer, hvor afkastet ligger under MAR – den såkaldte downside. Det er kun disse negative afvigelser, der indgår i Sortino-ratioens nævner.

1. Opret en kolonne for downside-afkast

Antag denne struktur (fra række 3 og ned):

  • Kolonne C: Afkast (Return)
  • Kolonne D: MAR pr. periode (MAR)
  • Kolonne E: Downside-afkast (Downside) – ny kolonne

I celle E3 skrives formlen:

=MIN(C3-D3; 0)

Kopier formlen hele vejen ned. Resultat:

  • Hvis afkastet er lavere end MAR, fås en negativ værdi (fx -0,0123).
  • Hvis afkastet er højere eller lig med MAR, returneres 0.

2. Kvadrér downside-afkastet

Til det statistiske gennemsnit skal værdierne kvadreres. Du kan enten:

  1. Tilføje en hjælpekollonne (Kolonne F):
    I F3: =E3^2  →  kopier ned.
  2. Brug en matrixformel (Office 365/2021) direkte i næste trin – se nedenfor.

3. Beregn gennemsnittet af de kvadrerede downside-værdier

Metode med hjælpekollonnen:

=AVERAGEIF(E3:E1000; "<0"; F3:F1000)

Metode uden hjælpekollonne (matrix):

=AVERAGE(IF(E3:E1000<0; (E3:E1000)^2))

Afslut som dynamisk matrix (Ctrl+Shift+Enter i ældre Excel).

4. Tag kvadratroden – Selve downside deviation

I celle H2 eller et passende sted:

=SQRT(AVERAGEIF(E3:E1000; "<0"; F3:F1000))

Eller, hvis du brugte matrixvarianten:

=SQRT(AVERAGE(IF(E3:E1000<0; (E3:E1000)^2)))

5. Kontrolpunkter

  • Tjek at der findes mindst én negativ observation – ellers giver nævneren 0, og Sortino-ratioen bliver uendelig eller fejl (#DIV/0!).
  • Sørg for, at rækkeudvalget (fx E3:E1000) matcher det ønskede analysevindue – eventuelt rullende intervaller ved at erstatte faste adresser med OFFSET eller INDEX.
  • Hvis du bruger procentformatering, vær sikker på, at MAR-kolonnen har samme enhed som afkastkolonnen.

Denne værdi er klar til at blive brugt som nævner i Trin 6, hvor vi samler brikkerne og beregner den endelige Sortino-ratio.

Trin 6: Beregn Sortino-ratioen (periodisk og annualiseret)

Når du har overskudsafkast-kolonnen (Afkast − MAR) og den periodiske downside deviation klar fra Trin 5, er selve beregningen af Sortino-ratioen ganske enkel. Nedenfor gennemgår vi både den periodiske og den annualiserede variant, inkl. konkrete Excel-formler.

  1. Indsæt en kolonne for overskudsafkast
    I første række under overskriften Excess (fx celle D2) skriver du:
    =[@Afkast]-[@MAR]
    Træk formlen ned gennem hele datasættet. Kontroller, at cellerne er formateret som decimaltal eller procenter efter behov.
  2. Beregn gennemsnitligt overskudsafkast
    Antag at overskudsafkastene ligger i kolonne D fra D2 til D1001:
    =AVERAGE(D2:D1001)
    Gem resultatet i en navngiven celle, fx MeanExcess.
  3. Beregn den periodiske Sortino-ratio
    Har du downside deviationen stående i en celle, fx DownDev, skriver du i en ny celle:
    =IF(DownDev=0,"NA",MeanExcess/DownDev)
    Dette forhindrer #DIV/0!, hvis downside deviationen mod forventning er nul.
  4. Annualisér Sortino-ratioen
    Hvis dine data er daglige, brug typisk m = 252; er de månedlige, brug m = 12 osv.
    Formelmæssigt gælder:
    Sortino_annual = (MeanExcess * m) / (DownDev * SQRT(m))
    …hvilket kan omskrives til:
    Sortino_annual = Sortino_periodisk * SQRT(m)
    I Excel (hvor perioden er daglig):
    =Sortino_periodisk*SQRT(252)
    Er perioden månedlig, erstattes 252 med 12 osv.
  5. Ekstra tjek
    Rimelighed: En Sortino-ratio tæt på 0 indikerer, at strategien ikke giver merafkast pr. downside-risiko. Værdier >2 betragtes ofte som meget attraktive.
    Konsekvens: Brug samme målafkast og tidsfrekvens gennem hele arket for at undgå skævheder.
    Fejlfangst: Indpak nøgletal i IFERROR() ved behov, f.eks. =IFERROR( … ; "" ), så rapporteringen ikke bliver præget af fejlmeddelelser.

Dermed har du både den periodiske og den annualiserede Sortino-ratio på plads – klar til sammenligning med andre aktiver eller strategier.

Trin 7: Valider, tolk og visualisér

Når Sortino-ratioen er beregnet, stopper arbejdet ikke dér. Du får først fuld værdi af tallet, når du sikrer dig, at det er korrekt, roboust og let at kommunikere. Følg derfor de tre trin nedenfor.

  1. Krydstjek og valider
    • Sammenlign med et eksternt værktøj: Indtast de samme afkast i f.eks. Portfolio Visualizer eller et Bloomberg/FactSet-modul og bekræft, at Sortino-ratioen matcher (afrundingsafvigelser er ok < ±0,01).
    • Tjek for deling med nul: Filtrer nedslag, hvor downside deviation er 0 – her skal Sortino markeres som “N/A” eller “∞”.
    • Benchmark-kontrol: Beregn også Sortino for et relevant benchmark (f.eks. MSCI World). Hvis din portefølje har lavere Sortino end benchmark, er det et advarselsflag, selv om Sharpe-ratioen måske ser fin ud.
  2. Følsomhedsanalyse
    • Målafkast: Opret en inputcelle til MAR og link alle formler hertil. Lav derefter en Data → What-If Analysis → Data Table med MAR fra -2 % til +5 %. Visualisér i et spredningsdiagram, hvordan Sortino ændrer sig.
    • Tidsfrekvens: Kopiér arket, konverter de daglige afkast til ugentlige/månedlige med AVERAGEIFS eller XLOOKUP på slutdatoer, og gentag beregningen. Stabilt resultat på tværs af frekvenser øger troværdigheden.
  3. Rullende Sortino & visualisering
    • Glidende vindue: Tilføj en kolonne “Sortino (12 måneder)”:
      =IF(COUNT(A2:A253)<252,"",AVERAGE(B2:B253-C2:C253)/SQRT(AVERAGE(IF(B2:B253<C2:C253,(B2:B253-C2:C253)^2))))
      (hvor A = dato, B = afkast, C = MAR). Kopiér ned for at få tidsserien.
    • Diagram: Indsæt et Combo Chart med
      – linje for rullende Sortino
      – søjler for månedlige afkast (sekundær akse).
      Nu kan du nemt se, hvornår ratioen dykker pga. store negative afkast.
    • Histogrammer: Brug Data → Analysis → Histogram eller FREQUENCY til to grafer:
      – samtlige afkast
      – kun downside-afkast (MIN(0;B:B-C:C)).
      Forskellen gør det tydeligt, hvor volatiliteten reelt gør ondt.

Dokumentér antagelserne i et særskilt arkfaneblad:

  • Tidsperiode for data, datakilder og eventuelle justeringer (split, udbytte osv.).
  • Valgt MAR og begrundelse (risikofri rente på 3-mdr. stats‐T-bill, 0 % eller andet).
  • Valg af log vs. simple afkast og hvorfor.
  • Frekvens og antal observationer pr. rullevindue.

Slutresultatet er en Sortino-analyse, der er transparent, efterprøvbar og visuelt let at afkode – præcis det, der får tallet til at gøre nytte i investeringsbeslutningen.

Indhold