Modificeret Dietz-metode - Modified Dietz method

Fra Wikipedia, den gratis encyklopædi

Den modificerede Dietz-metode er et mål for den efterfølgende (dvs. historiske) performance for en investeringsportefølje i nærvær af eksterne strømme. (Eksterne strømme er værdibevægelser såsom overførsler af kontanter, værdipapirer eller andre instrumenter i eller ud af porteføljen uden nogen lige samtidig bevægelse af værdi i den modsatte retning, og som ikke er indtægter fra investeringerne i porteføljen, såsom renter, kuponer eller udbytte.)

For at beregne det modificerede Dietz-afkast dividerer du gevinsten eller tabet i værdi, fratrukket eksterne strømme, med den gennemsnitlige kapital over måleperioden. Den gennemsnitlige kapitalvægt på individuelle pengestrømme efter tidsrummet mellem disse pengestrømme indtil periodens udgang. Strømme, der opstår mod begyndelsen af ​​perioden, har en højere vægt end strømme, der opstår mod slutningen. Resultatet af beregningen er udtrykt som en procentdel afkast i løbet af ejerperioden.

GIPS

Denne metode til beregning af afkast bruges i moderne porteføljestyring. Det er en af ​​metoderne til beregning af afkast anbefalet af Investment Performance Council (IPC) som en del af deres Global Investment Performance Standards (GIPS). GIPS er beregnet til at give overensstemmelse med den måde, porteføljeafkast beregnes på internationalt plan.

Oprindelse

Metoden er opkaldt efter Peter O. Dietz. Den originale idé bag Peter Dietz 'arbejde var at finde en hurtigere, mindre computerintensiv måde at beregne en IRR på, da den iterative tilgang ved hjælp af de daværende ret langsomme computere, der var tilgængelige, tog lang tid; forskningen blev produceret for BAI, instituttet for bankadministration.

Formel

Formlen for den modificerede Dietz-metode er som følger:

hvor

er startmarkedsværdien
er slutmarkedsværdien
er den eksterne nettotilgang for perioden (så bidrag til en portefølje behandles som positive strømme, mens udbetalinger er negative strømme)

og

summen af ​​hver strøm ganget med dens vægt

Vægten er andelen af ​​tidsperioden mellem tidspunktet for strømningen og slutningen af ​​perioden. Antages det, at strømmen sker i slutningen af ​​dagen, kan beregnes som

hvor

er antallet af kalenderdage i returperioden, der beregnes, hvilket svarer til slutdato minus startdato (plus 1, medmindre du vedtager konventionen om, at startdatoen er den samme som slutdatoen for den foregående periode)
er antallet af dage fra starten af ​​returperioden til den dag, hvor strømmen opstod.

Dette forudsætter, at strømmen sker i slutningen af ​​dagen. Hvis flowet sker i begyndelsen af ​​dagen, er flowet i porteføljen i yderligere en dag, så brug følgende formel til beregning af vægten:

Sammenligning med tidsvægtet afkast og intern afkast

Den modificerede Dietz-metode har den praktiske fordel i forhold til den sande tidsvægtede afkastmetode , idet beregningen af ​​et modificeret Dietz-afkast ikke kræver porteføljevurderinger på hvert tidspunkt, når der opstår en ekstern strøm. Den interne afkastmetode deler denne praktiske fordel med den modificerede Dietz-metode.

Med teknologisk fremskridt kan de fleste systemer beregne et tidsvægtet afkast ved at beregne et dagligt afkast og geometrisk sammenkædning for at få et månedligt, kvartalsvis, årligt eller andet periodeafkast. Den modificerede Dietz-metode forbliver dog nyttig til performance-tilskrivning, fordi den stadig har den fordel, at det tillades, at modificerede Dietz-afkast på aktiver kombineres med vægte i en portefølje, beregnet efter gennemsnitlig investeret kapital, og det vægtede gennemsnit giver det modificerede Dietz-afkast. på porteføljen. Tidsvægtet afkast tillader ikke dette.

Den modificerede Dietz-metode har også den praktiske fordel i forhold til intern afkastrate (IRR) -metoden, at den ikke kræver gentagen forsøg og fejl for at få et resultat.

Den modificerede Dietz-metode er baseret på et simpelt renteprincip. Det tilnærmer sig den interne afkastmetode, der anvender et sammensat princip, men hvis strømme og afkast er store nok, vil resultaterne af den Modificerede Dietz-metode afvige betydeligt fra den interne afkast.

Det modificerede Dietz-retur er løsningen på ligningen:

hvor

er startværdien
er slutværdien
er den samlede tidsperiode

og

er tiden mellem starten af ​​perioden og flowet

Sammenlign dette med den (unannualiserede) interne afkast (IRR). IRR (eller mere strengt taget en ikke-årlig returneringsversion af IRR) er en løsning på ligningen:

Eksempel

Antag, at værdien af ​​en portefølje er $ 100 i begyndelsen af ​​det første år og $ 300 i slutningen af ​​det andet år, og der er en tilgang på $ 50 i slutningen af ​​det første år / begyndelsen af ​​det andet år. (Antag yderligere, at ingen af ​​årene er et skudår, så de to år er af samme længde.)

For at beregne gevinst eller tab over toårsperioden,

For at beregne den gennemsnitlige kapital over toårsperioden,

så det modificerede Dietz-retur er:

Den (ikke-annulerede) interne afkast i dette eksempel er 125%:

så i dette tilfælde er den modificerede Dietz-retur mærkbart mindre end den ikke-annulerede IRR. Denne afvigelse mellem det modificerede Dietz-afkast og det ikke-annulerede interne afkast skyldes en betydelig strømning inden for perioden og det faktum, at afkastet er stort.

Den enkle Dietz-metode

Den modificerede Dietz-metode adskiller sig fra den enkle Dietz-metode , hvor pengestrømmene vægtes ens uanset hvornår de opstod i måleperioden. Den enkle Dietz-metode er et specielt tilfælde af den Modificerede Dietz-metode, hvor eksterne antagelser antages at forekomme midt i perioden eller ækvivalent fordelt jævnt over hele perioden, hvorimod der ikke antages en sådan antagelse ved brug af den Modificerede Dietz-metode , og timingen af ​​eventuelle eksterne strømme tages i betragtning. Bemærk, at i eksemplet ovenfor forekommer strømmen midt i den samlede periode, der svarer til den antagelse, der ligger til grund for den enkle Dietz-metode. Dette betyder, at det enkle Dietz-retur og det modificerede Dietz-retur er det samme i dette særlige eksempel.

Justeringer

Hvis enten start- eller slutværdien er nul, eller begge dele, skal start- og / eller slutdatoer justeres for at dække den periode, som porteføljen har indhold i.

Eksempel

Antag, at vi beregner afkastet for kalenderåret 2016, og at porteføljen er tom indtil en overførsel på EUR 1 mio. Kontant på en ikke-rentebærende konto fredag ​​den 30. december. Ved udgangen af ​​dagen lørdag den 31. december 2016 har valutakursen mellem euro og Hong Kong dollars ændret sig fra 8,1 HKD pr. EUR til 8,181, hvilket er en stigning i værdien på 1 procent målt i Hongkongs dollarbetingelser, så den rigtige svaret på spørgsmålet om, hvad der er afkast i Hong Kong dollars er intuitivt 1 procent.

Imidlertid er anvendelse af den modificerede Dietz-formel blindt ved anvendelse af en antagelse om transaktionstiming ved udgangen af ​​dagen dagsvægtningen ved tilstrømningen af ​​8,1 mio HKD den 30. december, en dag inden årets udgang, 1/366, og den gennemsnitlige kapital beregnes som:

startværdi + tilstrømning × vægt = 0 + 8,1 m HKD × 1/366 = 22,131,15 HKD

og gevinsten er:

slutværdi - startværdi - nettotilstrømning = 8.181.000 - 0 - 8.100.000 = 81.000 HKD

så det modificerede Dietz-afkast beregnes som:

gevinst eller tab / gennemsnitlig kapital = 81.000 / 22,131.15 = 366%

Så hvilket er det korrekte afkast, 1 procent eller 366 procent?

Justeret tidsinterval

Det eneste fornuftige svar på eksemplet ovenfor er, at afkastet på beholdningsperioden utvetydigt er 1 procent. Dette betyder, at startdatoen skal justeres til datoen for det indledende eksterne flow. Ligeledes, hvis porteføljen er tom i slutningen af ​​perioden, skal slutdatoen justeres til den endelige eksterne strøm. Slutværdien er faktisk det endelige eksterne flow, ikke nul.

Afkastet, der årliggøres ved hjælp af en enkel metode til at multiplicere 1 procent pr. Dag med antallet af dage i året, giver svaret 366 procent, men afkastet på beholdningsperioden er stadig 1 procent.

Eksempel rettet

Eksemplet ovenfor korrigeres, hvis startdatoen justeres til slutningen af ​​dagen den 30. december, og startværdien nu er 8,1 m HKD. Der er ingen eksterne strømme derefter.

Den korrigerede gevinst eller tab er den samme som før:

slutværdi - startværdi = 8.181.000 - 8.100.000 = 81.000 HKD

men den korrigerede gennemsnitlige kapital er nu:

startværdi + vægtet nettotilstrømning = 8,1m HKD

så det korrigerede modificerede Dietz-afkast er nu:

gevinst eller tab / gennemsnitlig kapital = 81.000 / 8.1m = 1%

Andet eksempel

Antag, at en obligation købes for HK på 1.128.728 inklusive påløbne renter og provision på handelsdagen den 14. november og sælges igen tre dage senere på handelsdagen den 17. november til HK på 1.125.990 (igen, netto efter påløbne renter og provision). Under forudsætning af, at transaktioner finder sted i begyndelsen af ​​dagen, hvad er det modificerede Dietz-afkast i HKD for denne obligationsbeholdning i løbet af året indtil udgangen af ​​dagen den 17. november?

Svar

Svaret er, at henvisningen til beholdningsperioden år til dato indtil udgangen af ​​dagen den 17. november inkluderer for det første både køb og salg. Dette betyder, at den effektive justerede beholdningsperiode faktisk er fra købet i starten af ​​dagen den 14. november, indtil den sælges tre dage senere den 17. november. Den justerede startværdi er nettobeløbet for købet, slutværdien er nettobeløbet for salget, og der er ingen andre eksterne strømme.

startværdi = 1.128.728 HKD
slutværdi = 1.125.990 HKD

Der er ingen strømme, så gevinsten eller tabet er:

slutværdi - startværdi = 1.125.990 - 1.128.728 = -2.738 HKD

og den gennemsnitlige kapital er lig med startværdien, så det modificerede Dietz-afkast er:

gevinst eller tab / gennemsnitlig kapital = -2,738 / 1.128.728 = -0,24% 2 dp

Bidrag - hvornår beholdningsperioden ikke skal justeres

Denne metode til at begrænse beregningen til den aktuelle beholdningsperiode ved at anvende en justeret start- eller slutdato gælder, når afkastet beregnes på en investering isoleret. Når investeringen hører hjemme i en portefølje, og vægten af ​​investeringen i porteføljen og bidraget fra dette afkast til porteføljen som helhed er påkrævet, er det nødvendigt at sammenligne ligesom med lignende med hensyn til en fælles beholdning periode.

Eksempel

Antag, at en portefølje i begyndelsen af ​​året indeholder kontanter til en værdi af $ 10.000 på en konto, der bærer renter uden gebyrer. I begyndelsen af ​​fjerde kvartal investeres $ 8.000 af disse kontanter i nogle amerikanske dollaraktier (i selskab X). Investoren anvender en buy-and-hold-strategi, og der er ingen yderligere transaktioner resten af ​​året. Ved årets udgang er aktierne steget i værdi med 10% til $ 8.800, og $ 100 renter aktiveres på kontantkontoen.

Hvad er afkastet af porteføljen i løbet af året? Hvad er bidragene fra kontantkontoen og aktierne? Desuden, hvad er afkastet på kontantkontoen?

Svar

Slutværdien af ​​porteføljen er $ 2.100 i kontanter plus aktier til en værdi af $ 8.800, hvilket er i alt $ 10.900. Der har været en stigning på 9 procent i værdi siden begyndelsen af ​​året. Der er ingen eksterne strømme ind eller ud af porteføljen i løbet af året.

vægtede strømme = 0

gennemsnitlig kapital = startværdi = $ 10.000

så afkastet er:

gevinst eller tab / gennemsnitlig kapital = 900 / 10.000 = 9%

Dette porteføljeafkast på 9% opdeles mellem 8 procent bidrag fra $ 800 optjent på aktierne og 1 procent bidrag fra $ 100 renter optjent på kontokontoen, men hvor mere generelt kan vi beregne bidrag?

Det første trin er at beregne den gennemsnitlige kapital på hver kontantkonto og aktierne over hele årsperioden. Disse skal summe til den gennemsnitlige kapital på $ 10.000 i porteføljen som helhed. Fra den gennemsnitlige kapital for hver af de to komponenter i porteføljen kan vi beregne vægte. Vægten på kontantkontoen er den gennemsnitlige kapital i kontantkontoen divideret med den gennemsnitlige kapital ($ 10.000) i porteføljen, og aktiens vægt er den gennemsnitlige kapital i aktierne over hele året divideret med den gennemsnitlige kapital af porteføljen.

For nemheds skyld antager vi, at tidsvægten af ​​udstrømningen på $ 8.000 kontant for at betale for aktierne er nøjagtigt 1/4. Det betyder, at årets fire kvartaler behandles som ens længde.

Den gennemsnitlige kapital på kontantkontoen er:

gennemsnitlig kapital
= startværdi - tidsvægt × udstrømningsbeløb
= 10.000 - 1 / 4 × $ 8.000
= 10.000 - $ 2.000
= $ 8.000

Aktiernes gennemsnitlige kapital i det sidste kvartal kræver ingen beregning, fordi der ikke er strømme efter starten af ​​sidste kvartal. Det er de $ 8.000, der er investeret i aktierne. Imidlertid er den gennemsnitlige kapital i aktierne over hele året noget andet. Startværdien af ​​aktierne i begyndelsen af ​​året var nul, og der var en indstrømning på $ 8.000 i begyndelsen af ​​sidste kvartal, så:

gennemsnitlig kapital
= startværdi - tidsvægt × udstrømningsbeløb
= 0 + 1 / 4 × $ 8.000
= $ 2.000

Vi kan straks se, at vægten af ​​kontantkontoen i porteføljen i løbet af året var:

gennemsnitlig kapital på kontantkontoen / gennemsnitlig kapital i porteføljen
= 8.000 / 10.000
= 80%

og aktiens vægt var:

gennemsnitlig kapital i aktier / gennemsnitlig kapital i porteføljen
= 2.000 / 10.000
= 20%

hvilket beløber sig til 100 procent.

Vi kan beregne afkastet på kontantkontoen, som var:

gevinst eller tab / gennemsnitlig kapital = 100 / 8.000 = 1,25%

Bidraget til porteføljeafkastet er:

vægt × afkast = 80% × 1,25% = 1%

Hvad med bidraget til porteføljeafkastet fra aktierne?

Det korrigerede afkast på aktierne er 10 procent. Hvis vi multiplicerer dette med vægten på 20 procent af aktierne i porteføljen, er resultatet kun 2 procent, men det korrekte bidrag er 8 procent.

Svaret er at bruge afkastet på aktierne over den ikke-justerede helårsperiode til at beregne bidraget:

Ujusteret periodeafkast
= gevinst eller tab / ujusteret periode gennemsnitlig kapital
= 800 / 2.000
= 40%

Derefter er bidraget fra aktierne til porteføljeafkastet:

vægt × ujusteret periodeafkast
= 20% × 40% = 8%

Det betyder ikke, at det korrekte afkast på aktierne er 40 procent, men til beregning af bidraget skal du bruge det ujusterede periodeafkast, hvilket er tallet på 40 procent, ikke det aktuelle afkast på 10 procent.

Gebyrer

For at måle afkastet efter gebyrer skal du tillade, at værdien af ​​porteføljen reduceres med gebyrets størrelse. For at beregne afkast brutto af gebyrer skal du kompensere for dem ved at behandle dem som en ekstern strøm og ekskludere påløbne gebyrer fra værdiansættelser.

Årlig afkast

Bemærk, at det modificerede Dietz-afkast er et afkast i beholdningsperioden, ikke et årligt afkast, medmindre perioden tilfældigvis er et år. Annualisering, som er konvertering af afkastet i beholdningsperioden til en årlig afkast, er en separat proces.

Pengevægtet afkast

Den modificerede Dietz-metode er et eksempel på en penge (eller dollar) vægtet metode (i modsætning til tidsvægtet ). Især hvis det modificerede Dietz-afkast på to porteføljer er og målt over et fælles matchende tidsinterval, er det modificerede Dietz-afkast på de to porteføljer samlet over det samme tidsinterval det vægtede gennemsnit af de to afkast:

hvor porteføljens vægt afhænger af den gennemsnitlige kapital over tidsintervallet:

Sammenkædet afkast versus ægte tidsvægtet afkast

Et alternativ til den modificerede Dietz-metode er at linke geometrisk den modificerede Dietz-retur i kortere perioder. Den sammenkædede modificerede Dietz-metode er klassificeret som en tidsvægtet metode, men den giver ikke de samme resultater som den sande tidsvægtede metode, som kræver værdiansættelse på tidspunktet for hver pengestrøm.

Problemer

Problemer med timing antagelser

Der er undertiden vanskeligheder ved beregning eller nedbrydning af porteføljeafkast, hvis alle transaktioner behandles som forekommende på et enkelt tidspunkt på dagen, såsom slutningen af ​​dagen eller begyndelsen af ​​dagen. Uanset hvilken metode der anvendes til at beregne afkast, kan en antagelse om, at alle transaktioner finder sted samtidigt på et enkelt tidspunkt hver dag, føre til fejl.

Overvej f.eks. Et scenarie, hvor en portefølje er tom i starten af ​​en dag, så startværdien A er nul. Der er så en ekstern tilstrømning i løbet af den dag på F = $ 100. Ved slutningen af ​​dagen er markedspriserne flyttet, og slutværdien er $ 99.

Hvis alle transaktioner behandles som forekommende i slutningen af ​​dagen, er der nul startværdi A og nulværdi for gennemsnitlig kapital, fordi dagsvægten ved tilstrømningen er nul, så der kan ikke beregnes noget modificeret Dietz-afkast.

Nogle af disse problemer løses, hvis den modificerede Dietz-metode justeres yderligere for at sætte indkøb åbent og salg ved afslutningen, men mere sofistikeret undtagelseshåndtering giver bedre resultater.

Der er undertiden andre vanskeligheder ved nedbrydning af porteføljeafkast, hvis alle transaktioner behandles som forekommende på et enkelt tidspunkt i løbet af dagen.

Overvej f.eks. En fondsåbning med kun $ 100 af en enkelt aktie, der sælges for $ 110 i løbet af dagen. I løbet af samme dag købes en anden aktie til $ 110, der lukkes med en værdi på $ 120. Afkastet på hver aktie er 10% og 120/110 - 1 = 9,0909% (4 dp), og porteføljeafkastet er 20%. Aktivvægten w i (i modsætning til tidsvægten W i ), der kræves for at få afkastet for disse to aktiver til at rulle op til porteføljeafkastet, er 1200% for den første aktie og negative 1100% for den anden:

w * 10/100 + (1-w) * 10/110 = 20/100 → w = 12.

Sådanne vægte er absurde, fordi den anden bestand ikke holdes kort.

Problemet opstår kun, fordi dagen behandles som et enkelt, diskret tidsinterval.

Negativ eller nul gennemsnitlig kapital

Under normale omstændigheder er gennemsnitskapitalen positiv. Når en udstrømning inden for perioden er stor og tidligt nok, kan den gennemsnitlige kapital være negativ eller nul. Negativ gennemsnitskapital får det modificerede Dietz-afkast til at være negativt, når der er overskud, og positivt, når der er et tab. Dette ligner en forpligtelses eller kort positions opførsel, selvom investeringen faktisk ikke er en forpligtelse eller en kort position. I tilfælde, hvor den gennemsnitlige kapital er nul, kan der ikke beregnes noget modificeret Dietz-afkast. Hvis den gennemsnitlige kapital er tæt på nul, vil det modificerede Dietz-afkast være stort (stort og positivt eller stort og negativt).

En delvis løsning til løsning indebærer som et første trin at opfange undtagelsen ved f.eks. At opdage, hvornår startværdien (eller den første tilstrømning) er positiv, og den gennemsnitlige kapital er negativ. I dette tilfælde skal du derefter bruge den enkle returmetode og justere slutværdien for udstrømning. Dette svarer til summen af ​​bestanddele, hvor bidragene er baseret på enkle afkast og vægte afhængigt af startværdier.

Eksempel

For eksempel i et scenarie, hvor kun en del af beholdningen sælges for betydeligt mere end den samlede startværdi relativt tidligt i perioden:

Ved starten af ​​dag 1 er antallet af aktier 100
Ved starten af ​​dag 1 er aktiekursen 10 dollars
Startværdi = 1.000 dollars
Ved udgangen af ​​dag 5 sælges 80 aktier til 15 dollars pr. Aktie
Ved udgangen af ​​dag 40 er de resterende 20 aktier værd 12,50 dollars pr. Aktie

Gevinsten eller tabet er slutværdien - startværdi + udstrømning:

Der er en gevinst, og positionen er lang, så vi ville intuitivt forvente et positivt afkast.

Den gennemsnitlige kapital i dette tilfælde er:

Det modificerede Dietz-afkast i dette tilfælde går galt, fordi den gennemsnitlige kapital er negativ, selvom dette er en lang position. Den modificerede Dietz-tilbagevenden i dette tilfælde er:

I stedet bemærker vi, at startværdien er positiv, men den gennemsnitlige kapital er negativ. Desuden er der ikke noget salg. Med andre ord er antallet af aktier til enhver tid positivt.

Vi måler derefter det enkle afkast fra de solgte aktier:

og fra de aktier, der stadig er ved udgangen:

og kombiner disse afkast med vægten af ​​disse to dele af aktierne inden for startpositionen, som er:

og henholdsvis.

Dette giver bidragene til det samlede afkast, som er:

og henholdsvis.

Summen af ​​disse bidrag er afkastet:

Dette svarer til det enkle afkast, justering af slutværdien for udstrømning:

Begrænsninger

Denne løsning har begrænsninger. Det er kun muligt, hvis beholdningerne kan opdeles på denne måde.

Det er ikke ideelt af to yderligere grunde, nemlig at det ikke dækker alle sager, og det er uoverensstemmende med den modificerede Dietz-metode. Kombineret med modificerede Dietz-bidrag til andre aktiver, vil summen af ​​de indskudte bidrag ikke tilføje det samlede afkast.

En anden situation, hvor gennemsnitskapitalen kan være negativ, er short selling. I stedet for at investere ved at købe aktier, lånes aktier og derefter sælges. Et fald i aktiekursen resulterer i et overskud i stedet for et tab. Positionen er en forpligtelse i stedet for et aktiv. Hvis overskuddet er positivt, og den gennemsnitlige kapital er negativ, er det modificerede Dietz-afkast negativt, hvilket indikerer, at selv om antallet af aktier er uændret, er den absolutte værdi af forpligtelsen faldet.

I tilfælde af et køb efterfulgt af et salg af flere aktier, end der var købt, hvilket resulterede i en kort position (et negativt antal aktier), kan den gennemsnitlige kapital også være negativ. Hvad der var et aktiv på købstidspunktet, blev en forpligtelse efter salget. Fortolkningen af ​​den modificerede Dietz-tilbagevenden varierer fra situation til situation.

Visual Basic

Function georet_MD(myDates, myReturns, FlowMap, scaler)
' This function calculates the modified Dietz return of a time series
'
' Inputs.
'   myDates. Tx1 vector of dates
'   myReturns. Tx1 vector of financial returns
'   FlowMap. Nx2 matrix of Dates (left column) and flows (right column)
'   scaler. Scales the returns to the appropriate frequency
'
' Outputs.
'   Modified Dietz Returns.
'
' Note that all the dates of the flows need to exist in the date vector that is provided.
' when a flow is entered, it only starts accumulating after 1 period.
'
Dim i, j, T, N As Long
Dim matchFlows(), Tflows(), cumFlows() As Double
Dim np As Long
Dim AvFlows, TotFlows As Double

' Get dimensions
If StrComp(TypeName(myDates), "Range") = 0 Then
    T = myDates.Rows.Count
Else
    T = UBound(myDates, 1)
End If
If StrComp(TypeName(FlowMap), "Range") = 0 Then
    N = FlowMap.Rows.Count
Else
    N = UBound(FlowMap, 1)
End If

' Redim arrays
ReDim cumFlows(1 To T, 1 To 1)
ReDim matchFlows(1 To T, 1 To 1)
ReDim Tflows(1 To T, 1 To 1)

' Create a vector of Flows
For i = 1 To N
    j = Application.WorksheetFunction.Match(FlowMap(i, 1), myDates, True)
    matchFlows(j, 1) = FlowMap(i, 2)
    Tflows(j, 1) = 1 - (FlowMap(i, 1) - FlowMap(1, 1)) / (myDates(T, 1) - FlowMap(1, 1))
    If i = 1 Then np = T - j
Next i

' Cumulated Flows
For i = 1 To T
    If i = 1 Then
        cumFlows(i, 1) = matchFlows(i, 1)
    Else
        cumFlows(i, 1) = cumFlows(i - 1, 1) * (1 + myReturns(i, 1)) + matchFlows(i, 1)
    End If
Next i

AvFlows = Application.WorksheetFunction.SumProduct(matchFlows, Tflows)
TotFlows = Application.WorksheetFunction.Sum(matchFlows)

georet_MD = (1 + (cumFlows(T, 1) - TotFlows) / AvFlows) ^ (scaler / np) - 1

End Function

Java-metode til modificeret Dietz-retur

private static double modifiedDietz (double emv, double bmv, double cashFlow[], int numCD, int numD[]) {

    /* emv:        Ending Market Value
     * bmv:        Beginning Market Value
     * cashFlow[]: Cash Flow
     * numCD:      actual number of days in the period
     * numD[]:     number of days between beginning of the period and date of cashFlow[]
     */

    double md = -99999; // initialize modified dietz with a debugging number

    try {
        double[] weight = new double[cashFlow.length];

        if (numCD <= 0) {
            throw new ArithmeticException ("numCD <= 0");
        }

        for (int i=0; i<cashFlow.length; i++) {
            if (numD[i] < 0) {
                throw new ArithmeticException ("numD[i]<0 , " + "i=" + i);
            }
            weight[i] = (double) (numCD - numD[i]) / numCD;
        }

        double ttwcf = 0;      // total time weighted cash flows
        for (int i=0; i<cashFlow.length; i++) {
            ttwcf += weight[i] * cashFlow[i];
        }

        double tncf = 0;      // total net cash flows
        for (int i=0; i<cashFlow.length; i++) {
            tncf += cashFlow[i];
        }

        md = (emv - bmv - tncf) / (bmv + ttwcf);
    }
    catch (ArrayIndexOutOfBoundsException e) {
    	e.printStackTrace();
    }
    catch (ArithmeticException e) {
    	e.printStackTrace();
    }
    catch (Exception e) {
    	e.printStackTrace();
    }

    return md;
}

Excel VBA-funktion til modificeret Dietz-retur

Public Function MDIETZ(dStartValue As Double, dEndValue As Double, iPeriod As Integer, rCash As Range, rDays As Range) As Double

    'Jelle-Jeroen Lamkamp 10 Jan 2008
    Dim i As Integer: Dim Cash() As Double: Dim Days() As Integer
    Dim Cell As Range: Dim SumCash As Double: Dim TempSum As Double

    'Some error trapping
    If rCash.Cells.Count <> rDays.Cells.Count Then MDIETZ = CVErr(xlErrValue): Exit Function
    If Application.WorksheetFunction.Max(rDays) > iPeriod Then MDIETZ = CVErr(xlErrValue): Exit Function

    ReDim Cash(rCash.Cells.Count - 1)
    ReDim Days(rDays.Cells.Count - 1)

    i = 0
    For Each Cell In rCash
        Cash(i) = Cell.Value: i = i + 1
    Next Cell

    i = 0
    For Each Cell In rDays
        Days(i) = Cell.Value: i = i + 1
    Next Cell

    SumCash = Application.WorksheetFunction.Sum(rCash)

    TempSum = 0
    For i = 0 To (rCash.Cells.Count - 1)
            TempSum = TempSum + (((iPeriod - Days(i)) / iPeriod) * Cash(i))
    Next i

    MDIETZ = (dEndValue - dStartValue - SumCash) / (dStartValue + TempSum)

End Function

Se også

Referencer

Yderligere læsning

  • Carl Bacon. Praktisk måling og tilskrivning af porteføljens ydeevne. West Sussex: Wiley, 2003. ISBN   0-470-85679-3
  • Bruce J. Feibel. Måling af investeringsresultater. New York: Wiley, 2003. ISBN   0-471-26849-6
  • Christopherson, Jon A. et al. Måling og benchmarking af porteføljens ydeevne. McGraw-Hill, 2009. ISBN   9780071496650