Skip to content
Justin M. Shea edited this page Mar 30, 2022 · 11 revisions

Background

In this project, you shall explore and implement several investment strategies in R, as inspired by one of the most interesting investment references on the topic Expected Returns: An Investors Guide to Harvesting Market Rewards by Antti Ilmanen.

From the Description;

This comprehensive reference delivers a toolkit for harvesting market rewards from a wide range of investments. Written by a world-renowned industry expert, the reference discusses how to forecast returns under different parameters. Expected returns of major asset classes, investment strategies, and the effects of underlying risk factors such as growth, inflation, liquidity, and different risk perspectives, are also explained. Judging expected returns requires balancing historical returns with both theoretical considerations and current market conditions. Expected Returns provides extensive empirical evidence, surveys of risk-based and behavioral theories, and practical insights.

Related work

Your objective will be to reproduce key approaches suggested by the text and test performance on current market conditions with R. You will use functions found in popular R in finance packages such as FactorAnalytics, PerformanceAnalytics and PortfolioAnalytics.

In some cases, this will involve fixing issues and making PRs in those packages, but you will also need to write functions of your own to streamline workflows and implement solutions. While these packages are excellent and widely used, there are gaps in the workflows we'd like to fill.

Details of the Expected Returns: Open Source Factor Modeling project

Mentors will guide your understanding of the topic, support your use of best practices in software development for quantitative finance using R, and provide market data for validating these approaches.

Ultimately, this work will be organized into an open source R package. It will complement the text and provide data, functions, and reproducible examples to guide academics, practitioners, and hobbyists in the R community in applying the work to their own research or portfolio management endeavors.

Students engaged in this project will obtain a deeper understanding of:
i) Data Science applications in finance
ii) Quantitative Analysis of active portfolio management

Approaches to Dynamic asset weighting

Fama, E. F.; French, K. R. (1993). Common risk factors in the returns on stocks and bonds

Hou, Kewei and Mo, Haitao and Xue, Chen and Zhang, Lu (2016). Which Factors?

Value-oriented equity selection, chapter 12.

Asness, Clifford and Frazzini, Andrea (2012). The devil in HML's details

Asness, Clifford S. and Moskowitz, Tobias J. and Pedersen, Lasse Heje (2013). Value and momentum everywhere

Commodity Momentum and trend following, Chapter 14.

Moskowitz, Tobias J and Ooi, Yao Hua and Pedersen, Lasse Heje (2012). Time Series Momentum

Balts, Kosowski (2012). Demystifying Time-Series Momentum Strategies: Volatility Estimators, Trading Rules and Pairwise Correlations

Balts, Kosowski (2013). Momentum Strategies in Futures Marketsand Trend-Following Funds

Ari Levine, Yao Hua Ooi, Matthew P. Richardson, Caroline Sasseville (2016). Commodities for the Long Run

...and more!

Steps for this project:

  • Read the texts referenced above
  • Get familiar with the ExpectedReturns project.
  • Refactor, document, and unify existing functions, adding new ones as needed.
  • Check data parsers and port them to existing functions
  • Refactor case studies in existing vignettes and unify them with the FactorAnalytics R package functions such as fitTsfm and Fitffm.
  • Add Unit tests using the tinytest R package, throughout the course of refactoring and testing your work.
  • Submit PRs for finished vignettes for inclusion in the FactorAnalytics package

Mentors

Student-developer

Applying and tests

Firstly, please reach out to mentors directly with questions. We would love to chat with you and gauge your interest in the project.

Next, please do one or more of the following tests before contacting the mentors above. We encourage work on Linux Debian-based distributions.

  1. Easy: Begin by downloading and building the ExpectedReturns and FactorAnalytics packages locally. List any build errors or issues you encounter on install, and see if you can work through those and get the package to build.
library(remotes)
install_github("JustinMShea/ExpectedReturns")
install_github("braverock/FactorAnalytics")
  1. Intermediate: Check the files in the vignettes directory and find one that doesn't build and identify bugs. Message the authors privately with issues you would open (don't post this in public).

  2. Harder: Reflect on the steps above. How do you interpret the statistical estimates of the vignettes that are working for you? In addition, was there any repetitious code in the vignette that may be written as a function for future use? If so please include it as an example.

Solutions of tests

Students, please post a link to your test results here.

  • EXAMPLE STUDENT 1 NAME, LINK TO GITHUB PROFILE (DO NOT POST YOUR RESULTS IN PUBLIC, PLEASE EMAIL

Ilmanen, Anti. 2011. “Expected Returns.” John Wiley & Sons Ltd. ISBN: 978-1-119-99072-7

Clone this wiki locally