-
Notifications
You must be signed in to change notification settings - Fork 6
Add robust betas to PerformanceAnalytics
Robust statistics are useful in finance, since all classical estimates are vulnerable to extreme distortion by outliers. Because financial data has outliers to various degrees, practitioners need robust estimates that:
- Are not strongly influenced by outliers,
- Fit a good model to the bulk of the data,
- Detect and ignore outliers, and
- Provide for stable inference and prediction
{PerformanceAnalytics} is a collection of econometric functions for performance and risk analysis, long considered a core package by the finance community. In addition to standard risk and performance metrics, this package aims to assist practitioners and researchers in using the latest research in analysis of non-normal return streams.
The idea here is to supplement existing functions in {PerformanceAnalytics} for calculating betas with robust betas fit using a modern robust regression method
"Robust Betas for Asset Management" by Bailer, Maravina and Martin (2011), Handbook of Quantitative Asset Management, Oxford University Press, 2011, which is referred to below as BMM, and available upon request from Doug Martin ([email protected]).
{RobStatTM} is a companion package for the book: "Robust Statistics: Theory and Methods, second edition", http://www.wiley.com/go/maronna/robust. This package contains code that implements the robust estimators discussed in the book, as well as the scripts reproducing all the examples in the book.
The candidate will be expected to become familiar with the function lmrobdetMM
in the {RobStatTM} package available at https://cran.r-project.org/web/packages/RobStatTM/index.html.
Examine the lm
function in R and the lmrobdetMM
function in the {RobStatTM} R package on CRAN, and get familiar with their use to compute a least square fit and a robust regression fit for single factor and multiple factor regression models. Match the capability of the function lmrobdetMM
to the several CAPM.beta
functions in {PerformanceAnalytics}. Get familiar with those various CAPM.beta
functions by running the examples in the {PerformanceAnalytics} documentation. Then use the lm
function to replicate those results, and use the lmrobdetMM
function and compare the results with the lm
results, and explain why any differences occur.
Figure out how to enhance the CAPM.beta
functions so that they will allow the user to compute: (1) a robust beta instead of a least-squares (LS) beta, (2) both a LS and a robust betas, and (3) the LS beta only, as the default.
Create functions to tabulate and visualize comparisons between the methods for assessment, or any other visualizations or useful statistical summaries. This is likely most easily and effectively done using the {fit.models} package available at CRAN.
Write a vignette showing how to use the new functionality in {PerformanceAnalytics}.
Identify any other robust statistics in {RobStatTM} for possible inclusion in {PerformanceAnalytics}.
Students should propose a realistic project plan. Quality is more important than quantity, so your proposal may not contain all targeted functionality.
The proposed project will make it possible for academics and practitioners to easily compute classical and robust betas using stock and market returns data sets. Comparison of the differences between least squares and robust estimates has the considerable virtue of revealing whether or not the least squares estimate is influenced by outliers, which the portfolio or risk manager will otherwise not be aware of. Adding these methods to a widely-used R package with supporting visualizations, vignettes and other documentation should help practitioners adopt the methods where they may be most useful.
Students, please contact mentors below after completing at least one of the tests below.
- EVALUATING MENTOR - Peter Carl: [email protected]
- Doug Martin: [email protected]
- Brian Peterson: [email protected]
Students, please do one or more of the following tests before contacting the mentors:
- Demonstrate how to use the RobStatTM package to replicate the plots in Figure 2 of BBM.
- Complete the exercises found at this link.
In addition to the test above, applicants should demonstrate that they have:
- A very good working knowledge of programming in R
- Familiarity with the construction of R packages
- Good coding standards (Google’s R style guide)
- Experience with GitHub
Please email the results of your tests to the mentors and add a link to your profile or website below.
Students, please post contact information here, and send a link to the mentors with your test results:
-
Student name: Dhairya Jain
Email: [email protected], [email protected]
University: Indian Institute of Technology, Bombay
Program: B.S. Economic Sciences
- Maronna, Ricardo A., R. Douglas Martin, Victor J. Yohai, and Matías Salibián-Barrera, eds. “Robust Statistics.” Wiley Series in Probability and Statistics (November 19, 2018). doi:10.1002/9781119214656.
- Bailer, Heiko M., Tatiana A. Maravina, and R. Douglas Martin. “Robust Betas In Asset Management.” Oxford Handbooks Online (December 15, 2011). doi:10.1093/oxfordhb/9780199553433.013.0011.
- http://past.rinfinance.com/agenda/2012/workshop/DougMartin.pdf
- http://past.rinfinance.com/agenda/2014/talk/DouglasMartin.pptx
- https://cran.r-project.org/web/packages/RobStatTM/index.html