-
Notifications
You must be signed in to change notification settings - Fork 18
Standard Errors for Performance and Risk
The goal of this project will be to enhance to quality of performance and risk analyses via adding both specific and generalized wrappers to provide multiple measures of standard error for the functions.
Analytics functions in PerformanceAnalytics and PortfolioAnalytics are written to provide estimates of several hundred different performance and risk metrics.
For most of these metrics, there is no measure of the error in the estimate.
For some metrics, such as mean, standard errors are provided.
standard error of the mean = sd(x)/sqrt(sum(!is.na(x)))
For other common metrics, well-known formulas exist as in:
http://web.eecs.umich.edu/~fessler/papers/lists/files/tr/stderr.pdf
The general plan should be to provide a standard error wrapper for PerformanceAnalytics metrics that will cover multiple methodologies:
- sqrt(n) i.i.d. method
- bootstrap
- block bootstrap
- utilizing different estimates of error (e.g. Student's-t or skewed Student's-t)
- covering different assumptions for serial correlation (both from sample autocorrelation and from autocorrelation in resampled inputs)
We should also plan to provide visualization for these metrics, where possible, using plot.xts or appropriate base graphics.
The student in this project will develop a list of specific functions identified from this outline in the packages discussed above that will be modified/re-written to integrate new functionality. New code will be consistent and backwards compatible with interfaces of other functions in its respective package.
In addition, the student will review and extend as necessary the complete documentation for each function.
Students should plan to create a vignette that goes beyond the functional documentation to show how the functions might be used, including some extended examples. Building interactive examples using Shiny would also be very interesting.
Applicants should have:
- Prior experience using or developing in R, and comfort with tools such as svn, git, Roxygen2, LaTeX (for equations in particular), and familiarity with base graphics.
- Those with demonstrable experience with finance-related or graphics related R packages will be preferred.
- A background in computer science or engineering with graduate training in finance would likely be ideal.
- Discuss the list of proposed functionality for inclusion in quantmod, PerformanceAnalytics, and PortfolioAnalytics.
- Develop a specific plan with a timeline for development, documentation (consider adding a vignette as well), and testing the functionality.
- Provide a complete code example of a function with documentation that could be used in the PerformanceAnalytics or similar package (exceptional examples will be considered for inclusion in the package and their author given full credit for the contribution). The example does not need to pertain to the subject of this project, but should demonstrate your coding ability and familiarity with the tools used in development.
- Clearly identify any other commitments or possible conflicts for your time during the coming summer.
Brian Peterson ([@](mailto:brian {at} braverock {dot} com)) is one of the primary authors of these packages, and has previously mentored GSoC projects.
Peter Carl ([@](mailto:peter {at} braverock {dot} com)) is one of the primary authors of these packages, and has previously mentored GSoC projects.
Douglas Martin ([@](mailto:martinrd {at} uw {dot} edu)) is Director of the Computational Finance and Risk Management program at the University of Washington, and has extensive experience in evaluating robustness of analytical methods.
Ross Bennett ([@](mailto:rossbennett34 {at} gmail {dot} com)) is a contributor to these packages, and has previously participated in GSoC as a student.