Drømmer du om en stabil passiv indkomst, der tikker ind som et præcist urværk – uafhængigt af volatile aktiemarkeder? Så er obligationsstigen et af de mest effektive værktøjer, du kan bygge til din portefølje. Og nej, du behøver hverken dyre forvaltere eller komplekse trading-platforme: du kan bygge hele stigen i Excel på én eftermiddag.
I denne guide tager vi dig trin for trin gennem processen – fra de første strategiske overvejelser til den færdige, visuelt indbydende model, der automatisk opdaterer dine pengestrømme og afkast. Undervejs lærer du:
- Hvordan du vælger den rette trinstørrelse og løbetid, så dine forfald passer perfekt til dine likviditetsbehov.
- De vigtigste Excel-funktioner (ACCRINT, PRICE, XIRR m.fl.), som forvandler tørre kupondata til et levende cash-flow dashboard.
- Praktiske hacks til datavalidering, betinget formatering og automatiske kursopdateringer, så din stige altid står snorlige.
Slutresultatet? Et skræddersyet værktøj, der giver dig ro i maven – og måske endda et forspring i forhold til de professionelle. Klar til at sætte første trin? Lad os dykke ned og bygge din egen obligationsstige i Excel.
Planlæg designet af din obligationsstige
Før du åbner Excel, skal du klart definere, hvorfor du bygger stigen:
- Likviditet: Skal obligationerne finansiere et kendt cash-flow (fx studieafgift) eller blot stå klar som nødbuffer?
- Stabil indkomst: Ønsker du jævne kuponudbetalinger, eller må kontantstrømmen variere?
- Løbetidshorisont: Hvornår skal den sidste tranche udløbe? Typiske private porteføljer ligger 5-10 år ude.
- Risikotolerance: Angiv maksimal kursvolatilitet, kreditrating (fx BBB- eller bedre) og ønsket udstederdiversifikation.
2. Vælg trinstørrelse og samlet varighed
En klassisk stige deler investeringen op i lige store “trin”, der udløber med faste intervaller.
- Interval: Årligt, halvårligt eller kvartalsvist. Jo kortere interval desto flere ISIN’er og højere transaktionsomkostninger.
- Antal trin: Bestemmes af din tidshorisont. Eksempel: 10 trin á ét år (1 til 10 år).
- allokering pr. trin: Vægt porteføljen ligeligt (fx 10 % pr. år) eller overvægt kort ende for øget likviditet.
3. Afklar kuponstruktur, kreditprofil, skat og omkostninger
| Parameter | Spørgsmål | Eksempler |
|---|---|---|
| Kupon | Fast eller variabel? Ønskes minimums-YTM? | Fast 3-5 % for forudsigelighed |
| Kreditrating | Min. rating pr. ISIN og porteføljesnit? | ≥ A- for kommunekredit, BBB+ for virksomhedsobligationer |
| Skat | Kapitalindkomst eller lagerbeskatning? | Stats-/realkredit under par er lagerbeskattet |
| Gebyrer | Kurtage & spreads pr. handel? | 0,1-0,3 % afhængig af ISIN |
4. Identificér pålidelige datakilder
- Markedskurser: Nasdaq Copenhagen, Bloomberg, Refinitiv eller gratis API’er som Nationalbanken.dk.
- Masterdata: ISIN, udsteder, kupon, første/ næste kupon-dato, forfald, betalingsfrekvens.
- Kreditinformation: Moody’s/S&P rating, CDS-spreads.
- Tilgængelighed i Excel: CSV-eksport, Power Query, web-scraping eller manuelt indtastede skabeloner.
5. Skitser excel-strukturen
En simpel mappestruktur gør modellen overskuelig og auditerbar:
| Fane | Indhold | Nøglepunkter |
|---|---|---|
| Input | Rå data pr. ISIN | Importér kun; ingen formler |
| Stige | Allokerede trin, vægte, summer | Betinget formatering til at fremhæve huller |
| Cash Flow | Alle kupon- og hovedstolsbetalinger | Basis for YTM, XIRR, likviditetsgrafer |
| Parametre | Skattesatser, geninvesteringskrav, limit-checks | Kan ændres uden at røre formlerne |
Når disse fundamentale valg er taget og modellen er skitseret, er du klar til det praktiske “Trin-for-trin i Excel”, hvor formler, datavalidering og automatiske kontroller implementeres.
Trin-for-trin i Excel: data, formler og opbygning
Følg nedenstående workflow for at gå fra tom projektmappe til fuldt funktionel obligationsstige i Excel. Eksemplerne tager udgangspunkt i en årlig stige på 10 trin, men kan let tilpasses andre intervaller.
1 – opret den centrale datatabel
- Indsæt en Excel-tabel (Ctrl + T) på fanen Input. Giv den navnet
tbl_Bonds. - Kolonneoverskrifter (eksempelvis):
ISIN Udsteder Rating Pålydende Kupon % Frekvens Købskurs (clean) Afregningsdato Forfaldsdato Tilføj evt.
CashYieldTarget,CallDateeller andre felter, der er relevante for dine krav. - Datavalidering: Brug lister til Frekvens (1, 2 eller 4) og Rating (AAA – CCC). Det reducerer tastefejl og sikrer konsistens.
2 – udregn nøgletal og kuponkalender
- Akkumuleret rente
I en hjælpekolonne Accrued:=ACCRINT([@IssueDate],[@Afregningsdato],[@Forfaldsdato],[@[Kupon %]]/100,[@Frekvens],0)
Vælg 0 for Basis = faktisk/360 eller 4 for faktisk/faktisk. - Dirty price og effektivt afkast
- DirtyPrice:
=[@[Købskurs (clean)]] + [@Accrued] - YieldToMaturity:
=YIELD([@Afregningsdato],[@Forfaldsdato],[@[Kupon %]]/100,[@DirtyPrice],100,[@Frekvens],0)
- DirtyPrice:
- Kuponkalender
- Næste kupondato:
=COUPNCD([@Afregningsdato],[@Forfaldsdato],[@Frekvens],0) - Antal resterende kuponer:
=COUPNUM([@Afregningsdato],[@Forfaldsdato],[@Frekvens],0) - Brug
SEQUENCEsammen medEDATEtil at liste alle fremtidige kupondatoer i en dynamisk matrix, som viser cash flow-tidslinjen.
- Næste kupondato:
3 – >beregn pengestrømme og tidsværdier
- Cash flow matrix
Indsæt en separat tabeltbl_Cashflowmed én kolonne pr. år fra 1 til 10 (eller pr. kvartal). BrugSUMIFStil at samle alle kuponer og hovedstol for hvert år. - Intern rente og nutidsværdi
- XIRR:
=XIRR(tbl_Cashflow[Beløb], tbl_Cashflow[Dato]) - NPV:
=NPV(DiscountRate, tbl_Cashflow[Beløb])
Anvend en diskonteringsrente hentet fra fanen Parametre for konsistens på tværs af scenarier.
- XIRR:
4 – sikring af trinformen
- Betinget formatering
I fanen Stige vises obligationsbeholdningen som et heatmap (rækker = år, kolonner = antal ISIN’er). Marker:- Grøn = opfyldt trinhøjde (f.eks. ≥ 10 % af porteføljen)
- Rød = hul (< 5 %)
- Orange = overvægt (> 15 %)
- Navngivne ranges og struktur
Brug Ctrl + F3 til at oprette navnetTargetPerRung. Det gør formler som=IF(SUMIF(tbl_Bonds[År],A2,tbl_Bonds[DirtyPrice])<TargetPerRung,"Mangler","OK")
mere læsevenlige. - Error-checks og kontroller
- Minimumskøb:
=IF([@[Pålydende]]<Param!MinLot,"FEJL","") - Likviditetsbuffer: Sammenlign
CashmodParam!MinCash% - Maks. udsteder: Brug
COUNTIFStil at sikre < X % pr. issuer.
- Minimumskøb:
5 – praktiske excel-tips
- Power Query til at trække kurser og ratings direkte fra leverandører (CSV, API eller web).
- Slicer (tabelskærer) kan filtrere stigen på rating eller sektor med ét klik.
- Versionering: Gem centrale faner som separate filer og indlæs dem via Get & Transform, så du kan rulle tilbage uden datatab.
- Scenarieanalyse: Brug Data → Hvad-hvis → Datatabel til at teste parallelle renteskift på ±50 bp.
Med denne opsætning har du et robust, gennemsigtigt og skalerbart fundament, der kan udvides med nye ISIN’er, automatiske prisopdateringer og mere avanceret risikoanalyse uden at bryde eksisterende struktur.
Visualisering, rulning og vedligehold
En obligationsstige er kun nyttig, hvis du kan se den. Opret en dedikeret fane – fx Dashboard – hvor du samler de vigtigste nøgletal og grafer:
- Forfaldsprofil (kolonne- eller lagkagediagram)
Viser, hvor meget nominelt beløb der udløber i hvert år. Brug enPivottabelpå kildedataene og etKolonnediagramkoblet til pivoten. Tilføj datamærker, så du klart ser eventuelle “huller”. - Pengestrømsgraf (linje eller område)
Akkumuler de planlagte kuponbetalinger og hovedstolsindfrielser pr. kalenderår eller -kvartal. Diagrammet illustrerer, hvordan stigen dækker dine fremtidige likviditetsbehov. - Ladder-heatmap
Et betinget formateret gitter (år på x-aksen, ISIN på y-aksen) der farver celler efter størrelse af position eller rating. Det giver et “one-glance” overblik over spredning og koncentration.
Rulning og geninvestering: Sådan bevarer du stigen
- Identificér udløbende trin
Brug en dynamiskFILTER()-formel til at liste alle obligationer, der udløber inden for de næste 6-12 måneder. - Fastlæg rulningsreglen
Det klassiske princip er at geninvestere provenuet fra det korteste trin i den længste ende (fx fra 1-års til 10-års), så stigen bevarer sin oprindelige varighed. - Opdater inputfanen
Indtast nye ISIN og handelsdata i tabellen. Brug datavalidering til at sikre, at kuponer, forfaldsdatoer og ratings bliver indtastet korrekt. - Kontrollér balancer
Tilføj et “Løbende tjek”-område, der summerer beløb pr. trin og advarer med betinget formatering, hvis et trin afviger mere end fx ±5 % fra målvægten.
Automatisk kursopdatering
Kurser kan hentes på flere måder:
- Manuel CSV-import: Download daglige prislister fra din broker eller Nasdaq og opdater tabellen via
Data > Fra tekst/CSV. - Power Query: Byg en forespørgsel, der henter data fra et web-API eller FTP-kilde. Sæt tidsstyring, så regnearket opdateres hver morgen.
Anvend PRICE() eller dine egne yield-til-kurs formler til at beregne opdaterede markedsværdier efter import.
Scenarier og følsomhed
Lav en Data Tabel (ét input pr. række, ét pr. kolonne) til at variere:
| Variabel | Lav | Baseline | Høj |
|---|---|---|---|
| Renteændring (bps) | -100 | 0 | +100 |
| Kreditspænd (bps) | -25 | 0 | +50 |
For hver kombination beregner du Total Markedsværdi, Portefølje-Yield og Årlig Cash flow-dækning. Brug en Heatmap til hurtigt at se worst-case-felter.
Dokumentation og versionsstyring
- Antagelser: Opsummer betaantagelser, skattesatser, prisdatakilder og yieldberegning i en læs-mig-fane.
- Versionslog: En tabel med dato, version, ændring og ansvarlig.
- Tjekliste før handel: Automatisér med
FORM CONTROLS(checkbokse) for at bekræfte:- Likviditetsbuffer ≥ X kr.
- Maks. eksponering pr. udsteder ≤ Y %.
- Ingen obligationer under min. rating BBB-.
Kend de vigtigste faldgruber
Bare fordi stigen “ser pæn ud”, er den ikke risikofri. Vær særlig opmærksom på:
- Kreditrisiko – nedgradering eller default kan skabe huller i stigen.
- Renterisiko – lange trin taber mest ved stigende renter; scenarietest jævnligt.
- Likviditetsrisiko – niche-obligationer kan være svære at sælge eller rulle.
- Call-risk – præmature indfrielser flader stigen og kræver hurtig genopbygning.
- Skattebehandling – beskatning af kursgevinst, lager vs. realisationsprincippet, og kuponrenter påvirker det reelle afkast.
Ved at kombinere et stærkt visuelt overblik, klare rulningsregler og disciplineret vedligehold forvandler du Excel-arket fra et statisk regneark til et levende styringsværktøj for din obligationsstige.











