Módosított Dietz módszer - Modified Dietz method

A módosított Dietz-módszer a befektetési portfólió ex post (azaz korábbi) teljesítményének mérése külső áramlások jelenlétében. (A külső áramlások olyan értékmozgások, mint például készpénz, értékpapírok vagy más eszközök átadása a portfólióba vagy a portfólióból, az érték ellentétes irányú egyidejű mozgása nélkül, és amelyek nem a portfólióba történő befektetésekből származó jövedelmek, mint pl. kamat, kupon vagy osztalék.)

A módosított Dietz-hozam kiszámításához ossza el az értéknövekedést vagy -veszteséget a külső áramlások nélkül, a mérési időszak átlagos tőkéjével. Az átlagos tőke súlyozza az egyes cash flow-kat az adott cash flow-k közötti időtartam szerint az időszak végéig. Az időszak kezdete felé áramló áramok súlya nagyobb, mint a vége felé. A számítás eredményét a tartási időszak hozamának százalékában fejezik ki .

GIPS

Ezt a módszert használják a modern portfóliókezeléshez. Ez a megtérülés kiszámításának egyik módszere, amelyet a Investment Performance Council (IPC) ajánl a globális befektetési teljesítményre vonatkozó szabványaik (GIPS) részeként. A GIPS célja, hogy konzisztenciát biztosítson a portfolió hozamainak nemzetközi számításában.

Eredet

A módszer Peter O. Dietz nevéhez fűződik. Peter Dietz munkájának eredeti gondolata az volt, hogy találjon gyorsabb, kevésbé számítógép-igényes módszert az IRR kiszámítására, mivel az iteratív megközelítés az akkor meglehetősen lassú, rendelkezésre álló számítógépek használatával jelentős időt vesz igénybe; a kutatást a BAI, a Bank Administration intézet számára készítették.

Képlet

A módosított Dietz-módszer képlete a következő:

hol

a kiinduló piaci érték
a végső piaci érték
az adott időszak nettó külső beáramlása (tehát a portfólióhoz való hozzájárulásokat pozitív, míg a kivonások negatív áramlásként kezelik)

és

az egyes áramlások összege megszorozva a tömegével

A tömeg az áramlás bekövetkezésének időpontja és az időszak vége közötti időtartam aránya . Feltételezve, hogy az áramlás a nap végén történik, a következőképpen számolható:

hol

a kiszámított visszatérési időszak alatt a naptári napok száma, amely megegyezik a befejezési dátum és a kezdő dátum mínuszával (plusz 1, kivéve, ha elfogadja azt a megállapodást, hogy a kezdő dátum megegyezik az előző időszak végének dátumával)
a visszatérési időszak kezdetétől az áramlás bekövetkezésének napjáig tartó napok száma .

Ez azt feltételezi, hogy az áramlás a nap végén történik. Ha az áramlás a nap elején történik, az áramlás egy további napig van a portfólióban, ezért használja a következő képletet a súly kiszámításához:

Összehasonlítás az idővel súlyozott megtérüléssel és a belső megtérülési rátával

A módosított Dietz-módszer gyakorlati előnnyel rendelkezik a valódi idővel súlyozott megtérülési ráta módszerrel szemben, mivel a módosított Dietz-hozam kiszámításához nincs szükség portfólió-értékelésre az egyes időpontokban, amikor külső áramlás történik. A belső megtérülési ráta módszer osztja ezt a gyakorlati előnyt a módosított Dietz-módszerrel.

A technológia fejlődésével a legtöbb rendszer kiszámíthatja az idővel súlyozott megtérülést a napi hozam kiszámításával és geometriai összekapcsolással annak érdekében, hogy havi, negyedéves, éves vagy bármely más időszakos hozamot kapjon. A módosított Dietz-módszer azonban továbbra is hasznos a teljesítmény-hozzárendeléshez, mert ennek még mindig az az előnye, hogy lehetővé teszi az eszközök módosított Dietz-hozamának összevonását a portfólióban lévő súlyokkal, az átlagos befektetett tőke alapján számítva, és a súlyozott átlag adja a módosított Dietz-hozamot a portfólión. Az idővel súlyozott hozamok ezt nem teszik lehetővé.

A módosított Dietz-módszernek gyakorlati előnye van a belső megtérülési (IRR) módszerrel szemben is, mivel nem igényel ismételt próbát és hibát az eredmény eléréséhez.

A módosított Dietz-módszer egyszerű kamatláb elvén alapul. Közelíti a belső megtérülési arány módszerét, amely összetett elvet alkalmaz, de ha az áramlás és a megtérülési ráta elég nagy, akkor a Modified Dietz módszer eredményei jelentősen eltérnek a belső megtérülési rátától.

A módosított Dietz-visszatérés az egyenlet megoldása:

hol

a kiindulási érték
a végérték
az időtartam teljes hossza

és

a periódus kezdete és az áramlás közötti idő

Hasonlítsa ezt össze a (nem évezett) belső megtérülési rátával (IRR). Az IRR (vagy szigorúbban véve az IRR évenkénti visszatartási időszakának visszatérési változata) megoldás az egyenletre:

Példa

Tegyük fel, hogy egy portfólió értéke az első év elején 100 dollár, a második év végén pedig 300 dollár, az első év végén / a második év elején pedig 50 dolláros beáramlás következik be. (Tegyük fel továbbá, hogy egyik év sem szökőév, tehát a két év azonos hosszúságú.)

A kétéves időszak nyereségének vagy veszteségének kiszámításához

A kétéves időszak átlagos tőkéjének kiszámításához

tehát a módosított Dietz visszatérés:

A (nem évesített) belső megtérülési ráta ebben a példában 125%:

tehát ebben az esetben a módosított Dietz-hozam érezhetően kisebb, mint az évenkénti IRR. A módosított Dietz-hozam és az évközi belső megtérülési ráta közötti eltérés az időszakon belüli jelentős áramlásnak és annak a ténynek köszönhető, hogy a hozamok nagyok.

Az egyszerű Dietz-módszer

A módosított Dietz-módszer eltér az egyszerű Dietz-módszertől , amelyben a pénzáramokat egyformán súlyozzák, függetlenül attól, hogy mikor történtek a mérési időszak alatt. Az egyszerű Dietz-módszer a Modified Dietz-módszer speciális esete, amelyben feltételezzük, hogy a külső áramlások az időszak felénél jelentkeznek, vagy ekvivalensen egyenletesen oszlanak el az egész időszakban, míg a Modified Dietz-módszer alkalmazásakor ilyen feltételezés nem történik. , és figyelembe veszik a külső áramlások időzítését. Ne feledje, hogy a fenti példában az áramlás a teljes időszak közepén történik, ami megegyezik az egyszerű Dietz-módszer alapját képező feltételezéssel. Ez azt jelenti, hogy az egyszerű Dietz-visszatérés és a módosított Dietz-visszatérés azonos ebben a példában.

Kiigazítások

Ha a kezdő vagy a végérték nulla, vagy mindkettő, akkor a kezdő és / vagy a befejezési dátumot ki kell igazítani, hogy lefedje azt az időszakot, amely alatt a portfólió tartalma van.

Példa

Tegyük fel, hogy kiszámítjuk a 2016-os naptári év hozamát, és hogy a portfólió üres, amíg december 30-án, pénteken nem kamatozó számlán 1 millió EUR készpénzt utalnak be. 2016. december 31-én, szombaton a nap végére az euró és a hongkongi dollár közötti árfolyam 8,1 HKD / EUR-ról 8181-re változott, ami 1 százalékos értéknövekedést jelent, hongkongi dollárban kifejezve, tehát a jobb arra a kérdésre, hogy mi a hozam Hong Kong dollárban, intuitívan 1 százalék a válasz.

A módosított Dietz-képlet vakon történő alkalmazásával, a nap végi tranzakció időzítési feltételezésének felhasználásával, a december 30-án, egy évvel az év vége előtt egy nappal a 8,1 millió HKD beáramlásának napi súlyozása 1/366, és az átlagos tőkét a következőképpen számítják:

kezdőérték + beáramló × súly = 0 + 8,1 m HKD × 1/366 = 22 131,15 HKD

és a nyereség:

végérték - kezdő érték - nettó beáramlás = 8 181 000 - 0 - 8 100 000 = 81 000 HKD

tehát a módosított Dietz-hozamot a következőképpen számoljuk:

nyereség vagy veszteség / átlagos tőke = 81.000 / 22,131.15 = 366%

Tehát melyik a helyes hozam, 1 százalék vagy 366 százalék?

Kiigazított időintervallum

Az egyetlen értelmes válasz a fenti példára, hogy a tartási időszak hozama egyértelműen 1 százalék. Ez azt jelenti, hogy a kezdő dátumot a kezdeti külső folyamat dátumához kell igazítani. Hasonlóképpen, ha a portfólió az időszak végén üres, akkor a befejezés dátumát hozzá kell igazítani a végső külső áramláshoz. A végérték gyakorlatilag a végső külső áramlás, nem nulla.

A napi 1 százalék és az év napjai számának megszorzásának egyszerű módszerével évesített hozam 366 százalékot ad a válaszra, de a tartási időszak hozama továbbra is 1 százalék.

Példa javítva

A fenti példa helyesbítésre kerül, ha a kezdő dátumot a nap végére, december 30-ra módosítják, és a kezdő érték most 8,1 millió HKD. Ezután nincs külső áramlás.

A korrigált nyereség vagy veszteség megegyezik az előzőekkel:

végérték - kiindulási érték = 8 181 000 - 8 100 000 = 81 000 HKD

de a korrigált átlagos tőke most:

kezdőérték + súlyozott nettó beáramlás = 8,1 m HKD

így a korrigált módosított Dietz-visszatérés most:

nyereség vagy veszteség / átlagos tőke = 81.000 / 8,1 m = 1%

Második példa

Tegyük fel, hogy egy kötvényt 1.128.728 HKD-ért vásárolnak, beleértve az elhatárolt kamatot és jutalékot a kereskedési napon, november 14-én, és három nappal később, a kereskedési napon, november 17-én, eladják újra, 1.125.990 HKD-ért (ismét, az elhatárolt kamat és jutalék nélkül). Ha feltételezzük, hogy a tranzakciók a nap kezdetén történnek, akkor mekkora a módosított Dietz holding-időszak hozama HKD-ben ennek a kötvénynek az év eddigi évében november 17-ig tartó nap végéig?

Válasz

A válasz az, hogy először is a november 17-i nap végéig tartó, a mai napig tartó tartási időszakra történő hivatkozás magában foglalja mind a vételt, mind az eladást. Ez azt jelenti, hogy a tényleges kiigazított tartási időszak valójában a november 14-i nap eleji vásárlástól a három nappal későbbi, november 17-i értékesítésig terjed. A kiigazított kiindulási érték a vásárlás nettó összege, a végérték az értékesítés nettó összege, és egyéb külső áramlás nincs.

kezdőérték = 1 128 728 HKD
végérték = 1 125 990 HKD

Nincsenek áramlások, így a nyereség vagy veszteség:

végérték - kezdőérték = 1 125 990 - 1 128 728 = -2 738 HKD

és az átlagos tőke megegyezik a kiindulási értékkel, tehát a módosított Dietz-hozam:

nyereség vagy veszteség / átlagos tőke = -2 738 / 1,128,728 = -0,24% 2 dp

Hozzájárulások - mikor nem kell beállítani a tartási időszakot

Ez a módszer a számításnak a tényleges tartási időszakra történő korlátozására a kiigazított kezdő vagy befejező dátum alkalmazásával akkor alkalmazható, amikor a hozamot egy befektetésből külön számítják. Ha a befektetés egy portfólióba tartozik, és a portfólióban lévő befektetés súlya, valamint ennek a megtérülésnek a portfólió egészéhez való hozzájárulása szükséges, akkor a hasonlót hasonlóval kell összehasonlítani a közös részesedés szempontjából időszak.

Példa

Tegyük fel, hogy az év elején egy portfólió 10 000 dollár értékű készpénzt tartalmaz egy számlán, amelyen kamatot számítanak fel díjak nélkül. A negyedik negyedév elején ebből a készpénzből 8000 dollárt fektetnek be néhány amerikai dollár részvénybe (az X vállalatba). A befektető vételi és visszatartási stratégiát alkalmaz, és az év hátralévő részében nincsenek további tranzakciók. Az év végén a részvények értéke 10% -kal 8800 dollárra nőtt, és 100 dollár kamatot aktiválnak a pénzszámlán.

Mekkora a portfolió megtérülése az év során? Milyen hozzájárulások vannak a pénztári számláról és a részvényekről? Továbbá, mennyi a hozam a készpénz számlán?

Válasz

A portfólió végértéke 2100 dollár készpénz, plusz részvények 8800 dollár értékben, ami összesen 10 900 dollár. Az év eleje óta 9 százalékos az értéknövekedés. Az év folyamán nincsenek külső áramlások a portfólióban vagy azon kívül.

súlyozott áramlás = 0

így

átlagos tőke = kezdőérték = 10 000 USD

tehát a visszatérés:

nyereség vagy veszteség / átlagos tőke = 900 / 10 000 = 9%

Ez a 9% -os portfólió-hozam 8 százalékos hozzájárulásból áll a részvényeken megszerzett 800 dolláros hozzájárulás és 1 százalékos hozzájárulás között a készpénzszámlán megszerzett 100 dolláros kamatból, de milyen általánosabban számolhatjuk a járulékokat?

Az első lépés az, hogy kiszámítsuk az átlagos tőkét a készpénzszámlákon és a részvényeken az egész éves időszakban. Ezeknek a portfólió összességében átlagosan 10 000 dolláros tőkéjének kell lenniük. A portfólió két összetevőjének átlagos tőkéjéből kiszámíthatjuk a súlyokat. A készpénzszámla súlya a készpénzszámla átlagos tőkéje, osztva a portfólió átlagos tőkéjével (10 000 USD), a részvények súlya pedig a részvények egész évre eső átlagos tőkéje osztva az átlagos tőkével portfóliójának.

A kényelem kedvéért feltételezzük, hogy a részvényekért fizetendő 8 000 dolláros készpénz kiáramlásának súlya pontosan 1/4. Ez azt jelenti, hogy az év négy negyedévét egyenlő hosszúságúnak kell tekinteni.

A készpénzszámla átlagos tőkéje:

átlagos tőke
= kezdőérték - időtömeg × kiáramló összeg
= 10 000 - 1 / 4 × 8000 USD
= 10 000 - 2 000 USD
= 8000 USD

Az utolsó negyedév átlagos részvénytőkéje nem igényel számítást, mert az utolsó negyedév kezdete után nincs áramlás. Ez a részvényekbe fektetett 8000 dollár. A részvények átlagos tőkéje azonban egész évben valami más. A részvények kezdeti értéke az év elején nulla volt, és az utolsó negyedév elején 8000 dollár volt a beáramlás, tehát:

átlagos tőke
= kezdőérték - időtömeg × kiáramló összeg
= 0 + 1 / 4 × 8000 USD
= 2000 USD

Rögtön láthatjuk, hogy a portfólióban a pénzszámla súlya az év során:

átlagos tőke a pénztári számlán / átlagos tőke a portfólióban
= 8000 / 10 000
= 80%

és a részvények súlya a következő volt:

átlagos részvénytőke / átlagos tőke a portfólióban
= 2000 / 10 000
= 20%

amelyek 100 százalékot tesznek ki.

Kiszámíthatjuk a készpénzszámla megtérülését, amely:

nyereség vagy veszteség / átlagos tőke = 100 / 8000 = 1,25%

A portfólió hozamához való hozzájárulás:

súly × visszatérés = 80% × 1,25% = 1%

Mit szólnál a részvények portfólióhozamhoz való hozzájárulásához?

A részvények korrigált részesedési hozama 10 százalék. Ha ezt megszorozzuk a portfólióban lévő részvények 20 százalékos súlyával, az eredmény csak 2 százalék, de a helyes hozzájárulás 8 százalék.

A válasz az, hogy a részvények hozamát a kiigazítatlan egész éves időszakban a járulék kiszámításához kell felhasználni:

Korrigálatlan időszaki hozam
= nyereség vagy veszteség / kiigazítatlan időszak átlagos tőkéje
= 800 / 2000
= 40%

Ekkor a részvények hozzájárulása a portfólió hozamához:

súly × kiigazítatlan időszak hozama
= 20% × 40% = 8%

Ez nem azt jelenti, hogy a részvények megfelelő tartási idő hozama 40 százalék, de a hozzájárulás kiszámításához a kiigazítatlan időszaki hozamot kell felhasználni, ami a 40 százalékos érték, nem pedig a tényleges 10 százalékos tartási hozamot.

Díjak

A hozamok díjak nélküli méréséhez engedje meg, hogy a portfólió értéke csökkenjen a díjak összegével. A díjak bruttó hozamának kiszámításához kompenzálja azokat külső áramlásként kezelve, és zárja ki az elhatárolt díjakat az értékelésekből.

Éves megtérülési ráta

Ne feledje, hogy a módosított Dietz-hozam egy tartási időszak hozama, nem éves megtérülési ráta, kivéve, ha az időszak történetesen egy év. Az évenkénti elszámolás, amely a tartási időszak hozamának éves megtérülési rátára való átszámítását jelenti, külön folyamat.

Pénzzel súlyozott hozam

A módosított Dietz-módszer a pénzzel (vagy dollárral) súlyozott módszertan példája (szemben az idővel súlyozott ). Különösen, ha a módosított Dietz megtérülése két portfóliók és mért egy közös megfelelő időintervallumot, majd a módosított Dietz hozam a két tárca össze ugyanebben az időintervallumban a súlyozott átlaga a két hozam:

ahol a portfóliók súlya az időközönkénti átlagos tőkétől függ:

Összekapcsolt hozam versus valódi idővel súlyozott hozam

A módosított Dietz-módszer alternatívája, ha geometrikusan kapcsoljuk össze a módosított Dietz-visszatéréseket rövidebb időszakokra. Az összekapcsolt módosított Dietz-módszer idővel súlyozott módszernek minősül, de nem hoz ugyanazokat az eredményeket, mint a valódi idővel súlyozott módszer, amelyhez az egyes cash flow-k alkalmával kell értékelést végezni.

Problémák

Problémák az időzítési feltételezésekkel

Néha nehézségek merülnek fel a portfólióhozamok kiszámításakor vagy lebontásában, ha az összes tranzakciót egyetlen napszakban, például a nap végén vagy a nap elején tartják. Bármelyik módszert alkalmazzák is a hozamok kiszámításához, az a feltételezés, hogy minden tranzakció minden nap egyszerre, egyetlen időpontban történik, hibákhoz vezethet.

Vegyünk például egy forgatókönyvet, amikor a portfólió a nap elején üres, így az A kezdőérték nulla. Ekkor külső beáramlás folyik aznap F = 100 dollár. A nap végére a piaci árak elmozdultak, a végérték pedig 99 dollár.

Ha az összes tranzakciót a nap végén bekövetkezőnek tekintjük, akkor nulla A kezdőérték és nulla érték az átlagos tőke esetében, mivel a beáramló nap súlya nulla, így nem lehet módosított Dietz-hozamot kiszámítani.

Néhány ilyen probléma megoldódik, ha a módosított Dietz-módszert tovább igazítják a nyitott vásárlások és az értékesítések bezárása felé, de a kifinomultabb kivételkezelés jobb eredményeket hoz.

Néha más nehézségek merülnek fel a portfólió hozamainak bontása során, ha az összes tranzakciót úgy kezeljük, hogy a nap folyamán egyetlen pontban történik.

Vegyük például egy alap nyitását, amelynek egyetlen részvénye csak 100 dollár, amelyet a nap folyamán 110 dollárért adnak el. Ugyanezen a napon egy újabb részvényt vásárolnak 110 dollárért, zárásként 120 dollár értékben. Az egyes részvények hozama 10% és 120/110 - 1 = 9,0909% (4 dp), a portfolió hozama pedig 20%. A w i eszközsúlyok (ellentétben a W i idősúlyokkal ), amelyek ahhoz szükségesek, hogy e két eszköz hozama a portfólió hozamába kerüljön, az első részvény esetében 1200%, a második esetében negatív 1100%:

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

Az ilyen súlyok abszurdok, mert a második részvény nem rövid.

A probléma csak azért merül fel, mert a napot egyetlen, diszkrét időintervallumként kezelik.

Negatív vagy nulla átlagos tőke

Normál körülmények között az átlagos tőke pozitív. Ha egy időszakon belüli kiáramlás nagy és elég korai, az átlagos tőke lehet negatív vagy nulla. A negatív átlagos tőke miatt a módosított Dietz hozama negatív, ha nyereség van, és pozitív, ha veszteség van. Ez hasonlít egy kötelezettség vagy rövid pozíció viselkedésére, még akkor is, ha a befektetés valójában nem kötelezettség vagy rövid pozíció. Azokban az esetekben, amikor az átlagos tőke nulla, nem lehet módosított Dietz hozamot kiszámítani. Ha az átlagos tőke közel nulla, akkor a módosított Dietz hozama nagy lesz (nagy és pozitív, vagy nagy és negatív).

Az egyik részleges megoldás első lépésként magában foglalja a kivétel rögzítését, például annak észlelését, hogy a kiindulási érték (vagy az első beáramlás) pozitív-e, és az átlagos tőke negatív. Ebben az esetben használja az egyszerű visszatérési módszert, a kiáramlások végértékének beállításával. Ez egyenértékű az alkotó hozzájárulások összegével, ahol a hozzájárulások egyszerű hozamokon és súlyokon alapulnak, a kiindulási értékektől függően.

Példa

Például egy olyan forgatókönyvben, amikor a gazdaságoknak csak egy részét adják el, a teljes kiindulási értéknél lényegesen többért, az időszak viszonylag korai szakaszában:

Az 1. nap elején a részvények száma 100
Az első nap elején a részvény ára 10 dollár
Kiindulási érték = 1000 dollár
Az 5. nap végén 80 részvényt értékesítenek részvényenként 15 dollárért
A 40. nap végén a fennmaradó 20 részvény részvényenként 12,50 dollárt ér

A nyereség vagy veszteség végérték - kezdőérték + kiáramlás:

Van egy nyereség, és a pozíció hosszú, ezért intuitív módon pozitív megtérülésre számítanánk.

Az átlagos tőke ebben az esetben:

A módosított Dietz-hozam ebben az esetben rosszul alakul, mert az átlagos tőke negatív, bár ez hosszú pozíció. A módosított Dietz-visszatérés ebben az esetben:

Ehelyett azt vesszük észre, hogy a kiindulási érték pozitív, de az átlagos tőke negatív. Továbbá nincs short ügylet. Más szóval, a birtokolt részvények száma mindenkor pozitív.

Ezután mérjük az eladott részvények egyszerű hozamát:

és a végén még birtokolt részvényekből:

és kombinálja ezeket a hozamokat a részvények ezen két részének súlyával a kiindulási pozíción belül, amelyek:

illetve rendre.

Ez hozzájárul a teljes hozamhoz, amelyek a következők:

illetve rendre.

Ezen hozzájárulások összege a hozam:

Ez egyenértékű az egyszerű visszatéréssel, a kiáramlások végértékének beállításával:

Korlátozások

Ennek a megoldásnak vannak korlátai. Csak akkor lehetséges, ha a gazdaságok így feloszthatók.

Két további okból nem ideális, vagyis az, hogy nem terjed ki minden esetre, és nincs összhangban a Módosított Dietz módszerrel. Az egyéb eszközök módosított Dietz-hozzájárulásaival kombinálva az alkotó hozzájárulások összege nem lesz összeadva a teljes hozammal.

Egy másik helyzet, amelyben az átlagos tőke negatív lehet, a short ügyletek. A részvények vásárlása helyett a részvényeket kölcsön veszik, majd eladják. Az árfolyam csökkenése veszteség helyett nyereséget eredményez. A pozíció eszköz helyett kötelezettség. Ha az eredmény pozitív, és az átlagos tőke negatív, akkor a Módosított Dietz hozama negatív, ami azt jelzi, hogy bár a részvények száma változatlan, a kötelezettség abszolút értéke csökkent.

Olyan vásárlás esetén, amelyet a megvásároltnál több részvény értékesítése követ, ami rövid pozíciót eredményez (negatív részvényszám), az átlagos tőke is negatív lehet. Ami a vásárláskor eszköz volt, az eladás után kötelezettséggé vált. A módosított Dietz-visszatérés értelmezése helyzetenként változó.

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 módszer a módosított Dietz visszatéréshez

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 függvény a módosított Dietz visszatéréshez

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

Lásd még

Hivatkozások

További irodalom

  • Carl Bacon. Gyakorlati portfólió teljesítményének mérése és hozzárendelése. West Sussex: Wiley, 2003. ISBN   0-470-85679-3
  • Bruce J. Feibel. Beruházási teljesítmény mérése. New York: Wiley, 2003. ISBN   0-471-26849-6
  • Christopherson, Jon A. és mtsai. Portfólió teljesítményének mérése és összehasonlítása. McGraw-Hill, 2009. ISBN   9780071496650