Content deleted Content added
m →Origin: + wikilink for IRR |
|||
(5 intermediate revisions by 3 users not shown) | |||
Line 1:
{{Short description|Historical performance of an investment portfolio}}
The '''modified Dietz method'''<ref name="Dietz1966">{{cite book
|author=Peter O. Dietz
Line 183 ⟶ 184:
There are no flows, so the gain or loss is:
:{{nowrap begin}}{{link if exists|end value}}
and the average capital equals the start value, so the modified Dietz return is:
:{{nowrap begin}}{{sfrac|{{link if exists|gain or loss}}|{{link if exists|average capital}}}} = {{sfrac|
===Contributions - when not to adjust the holding period===
Line 219 ⟶ 220:
:{{nowrap begin}}{{link if exists|average capital}}{{nowrap end}}
::{{nowrap begin}}= {{link if exists|start value}}
::{{nowrap begin}}= 10,000
::{{nowrap begin}}= 10,000
::{{nowrap begin}}= $8,000{{nowrap end}}
The average capital of the shares over the last quarter requires no calculation, because there are no flows after the beginning of the last quarter. It is the $8,000 invested in the shares. However, the average capital in the shares over the whole year is something else. The start value of the shares at the beginning of the year was zero, and there was an inflow of $8,000 at the beginning of the last quarter, so:
:{{nowrap begin}}{{link if exists|average capital}}{{nowrap end}}
::{{nowrap begin}}= {{link if exists|start value}}
::{{nowrap begin}}= 0 + {{sfrac|1|4}} × $8,000{{nowrap end}}
::{{nowrap begin}}= $2,000{{nowrap end}}
Line 300 ⟶ 301:
There are sometimes other difficulties when decomposing portfolio returns, if all transactions are treated as occurring at a single point during the day.
For example, consider a fund opening with just $100 of a single stock that is sold for $110 during the day. During the same day, another stock is purchased for $110, closing with a value of $120. The returns on each stock are 10% and 120/110
:w*10/100 + (1
Such weights are absurd, because the second stock is not held short.
Line 322 ⟶ 323:
:At the end of Day 40, the remaining 20 shares are worth 12.50 dollars per share
The gain or loss is end value
:<math>20 \times 12.50 - 100 \times 10 + 80 \times 15</math>
Line 452 ⟶ 453:
==Java method for modified Dietz return==
<syntaxhighlight lang="java">
private static double modifiedDietz
/* emv: Ending Market Value
Line 467 ⟶ 468:
if (numCD <= 0) {
throw new ArithmeticException
}
for (int i = 0; i < cashFlow.length; i++) {
if (numD[i] < 0) {
throw new ArithmeticException
}
weight[i] = (double) (numCD - numD[i]) / numCD;
Line 478 ⟶ 479:
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];
}
|