[R-SIG-Finance] making sense of 100's of funds

paul sorenson sf at metrak.com
Sat Aug 18 13:05:33 CEST 2007


Brian and Tobias,

Yes I believe the data I have includes everything from fees to dividends.

FWIW the web site I get this data from is 
http://www.colonialfirststate.com.au/ and a significant factor in 
choosing them was because I can download daily prices in CSV format. 
(For any Aussies on the list who might be interested, I can provide some 
python code to download the prices for all the funds), please feel free 
to contact me off the list.

cheers

Brian G. Peterson wrote:
> Toby,
> 
> CalculateReturns works from price series.  That's what it's for.  The 
> original poster (Paul) was looking for a calculation to take a price 
> series of a mutual fund and turn it into a geometric return series.
> 
> In most cases, it is not easy to get historical interest, dividend, and 
> capital gains distributions information on mutual funds in a form that 
> is useful for analysis (i.e. not on a paper statement), especially of 
> hundreds of funds.
> 
> It would not be too difficult to add distribution calculations to the 
> CalculateReturns function, but users would need to be educated that when 
> distributions are included, the price series must be turned into a 
> position value (NAV) series or the distributions must be scaled to a 
> per-share basis.  In general, I think it is better in practice to use 
> this kind of analysis with positions actually held, and to apply a time 
> and cash flow weighted return calculation as you've suggested.  In 
> practice, because of data availability, the closest proxy for the 
> distributions you mention is often to use a total return series on the 
> index, which are generally more easily obtainable from 
> Ibbotson/Morningstar or similar locations.
> 
> Regards,
> 
>   - Brian
> 
> Tobias Muhlhofer wrote:
>> Paul,
>>
>> Sorry for the delay in my reply.
>>
>> Yes you are looking for funds that produce intercepts that are as
>> strongly positive as possible when their fund returns are regressed on
>> the returns to the benchmark. Remember to consider standard errors!
>> Since we are looking at a risk-adjusted return measure, only a fund
>> which has a *statistically significantly* positive intercept has a
>> positive intercept. Sorry if this is obvious to you, but many people
>> miss it.
>>
>> For choice of benchmark, the ASX SP200 strikes me as a very good
>> starting point.
>>
>> In terms of calculating returns, CalculateReturns (which I have never
>> used, but just looked at the manual) does not seem to take into account
>> distributions, which is imprecise. The total one-period return at time 
>> t is:
>>
>> r_t = [Price_(t) + Dividends_(t) + CapGainsDist_(t) - Price_(t-1)] /
>> Price_(t-1)
>>
>> Here Price_(t) is the price at time t, Dividends_(t) and
>> CapGainsDist_(t) are respectively the dividends and capital gains
>> distributions made by the fund between t-1 and t. The distributions may
>> be substantial, so they will make a difference. If you use "adjusted
>> closing" prices from Yahoo Finance, you are OK, as these are adjusted
>> for exactly that (and splits).
>>
>> Toby
>>
>>
>> paul sorenson wrote:
>>> Toby,
>>>
>>> Thanks for the tips.  I am somewhat of a cynic also. When it is my own
>>> retirement fund, academic meets real-life in a fairly personal way!  I
>>> have heard figures that something like 98% (from memory) of Australian's
>>> "don't understand superannuation".
>>>
>>> I am trying to get myself well into the 2%.  Writing R code leveraging
>>> some of the great packages out there is just a method of learning which
>>> I find works for me.  It can be slow going at times though.
>>>
>>> I have picked out 8 funds to crunch through and using the ASX SP200 as
>>> the benchmark for exercising my code.  My "practice" data set is at
>>> http://www.metrak.com/tmp/exitprices.csv and I retrieved the SP200 using
>>> get.hist.quote("^AXJO", start="2002-01-01", quote="Close", 
>>> retclass="zoo").
>>>
>>> I have used CalculateReturns from PerformanceAnalytics to create returns
>>> as zoo objects so hopefully I will be able to calculate the alphas.  If
>>> I understand your comment below, I am looking for a more positive
>>> intercept on my choice of fund compared with the benchmark?
>>>
>>> cheers
>>>
>>> Tobias Muhlhofer wrote:
>>>> Paul,
>>>>
>>>> Unless you are looking at index funds, you need to see whether your
>>>> funds produce alpha. To do this, pick a set of benchmarks according to
>>>> your fund's style and investment strategy, like Morningstar category
>>>> index or something like that (or perhaps just the general stock market
>>>> plus the two Fama-French factors), regress the fund's returns on the
>>>> benchmark returns, and see whether you have a significantly positive
>>>> intercept after fees. This is the best way of measuring systematic-risk
>>>> adjusted returns.
>>>>
>>>> Being a finance academic (and therefore a cynic), and judging from my
>>>> own research, if benchmarked correctly, very few fund managers generate
>>>> positively significant alphas, and so I personally buy index funds for
>>>> whatever style I want to invest in, and there I choose the one with the
>>>> lowest expense ratio.
>>>>
>>>> Best,
>>>>     Toby



More information about the R-SIG-Finance mailing list