25936 Funds Management
Individual Assignment (40 marks)
Overview: The aim of the assignment in Funds Management (25936) is to:
a. make sure that you don’t get out of this course without knowing how to estimate fund
performance based on return-based models (RBM) and holdings-based models (HBM);
b. make sure that you are comfortable downloading and organising the basic data from: (a)
CRSP Mutual Funds Survivorship Bias Free Database (MFDB), (b) CRSP Security Prices
and (c) Compustat;
c. get you looking at real data before you actually have to produce a paper if you would like
to investigate empirically your research proposal in Funds Management;
d. lower the bar to doing empirical work by giving you a starter series of Python codes that
can be modified, augmented, and expanded in the future to suit your needs.
The assignment will consequently require a bit of coding and data analysis, but will provide
you with very valuable training on how to use the most advanced and up-to-date methods of
estimating fund performance.
Assignment: You have been asked to evaluate the empirical performance of ten mutual fund
portfolios using:
1. the holdings-based performance measure proposed by Grinblatt and Titman (1993) –
hereafter GT1993.1 After computing the GT1993 measure, draw your conclusions on the
performance estimates [10 marks]
2. the Characteristic Selectivity (CS) measure proposed by Daniel, Grinblatt, Titman, and
Wermers (1997) – hereafter DGTW1997. 2 [10 marks].
3. the fund performance based on the four-factor risk-adjusted model of Carhart (1997). To
this end, you can use an estimation window of 36 months, with a minimum of 30 months
of valid portfolio returns in the estimation window. [8 marks]
After computing all these performance measures, you have been asked to:
i. Compare the estimated risk-adjusted performance measure of the Carhart (1997) model
with the CS performance measure of DGTW (1997). Please explain any difference in
performance between these two measures and highlight possible limitations of these
approaches, if any. [3 marks]
ii. Relate the outcomes of your performance estimation with the fee-setting policies of the
ten funds considered, and ultimately draw conclusions on whether investors are paying a
fair price. [4 marks]
1 Daniel, K., Grinblatt, M., Titman, S., and Wermers, R., 1997, Measuring Mutual Fund Performance
with Characteristics-Based Benchmarks. Journal of Finance 52(3), 1035-1058
2 Grinblatt, M., Titman, S., 1993. Performance Measurement Without Benchmarks: An Examination of
Mutual Fund Returns. Journal of Business 66, 47–68
iii. Prepare a report containing the details of the steps followed when downloading the data,
matching different datasets, and constructing the performance measures. Your report does
not need professional editing but it should still look and feel professional. In addition,
your report should be accompanied by the Python (or Matlab) codes with appropriate
commentary to allow your colleagues to easily understand and validate the logic and
accuracy of your calculations. [5 marks]
Data sample: You are required to download data for a selection of ten fund portfolios from
the CRSP MFDB. Please collate the data in the following text files, for replicability:
a. FUND_DATA_1: this text file should contain the portfolio holdings of your ten
mutual fund portfolios identified by their unique portfolio identifier (Portno)
including their market value and number of share of the securities held, the CRSP
Permno identifying each security holding (i.e., CRSP's Permanent Stock Issue
Identifier), security CUSIP, the official ticker of each security holding, and the
portfolio weight of each security (i.e., security's percentage of the total net assets).
The sample period of your data extraction should be from 1 Jan 2010 to 31 Dec 2019.
b. FUND_DATA_2: this text file should contain monthly information on total net assets,
after-fee returns, and total operating expenses of the 10 mutual fund portfolios. Since
these characteristics can only be extracted by a fund’s Fundno, you need to use the
file Fund-Portfolio Map in CRSP MFDB to match the 10 mutual fund Portno in
FUND_DATA_1 with their associated Fundno in FUND_DATA_2. The sample
period of your data extraction should be from 1 Jan 2010 to 31 Dec 2019;
To facilitate your task, you can use the Python code DGTW_returns.py available in the folder
of Lecture 4 on UTS Online. This code first downloads data from Compustat and CRSP, and
then constructs the size, book-to-market, and momentum controlled value-weighted
characteristics-based benchmark returns as proposed by DGTW1997. Please make sure to
restrict the sample period to the interval from 1 Jan 2010 to 31 Dec 2019 when using this
code.