Skip to content
Justin M. Shea edited this page Apr 19, 2022 · 11 revisions

Background

In this project, you shall reproduce work from key papers referenced in 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

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 implement solutions. While these packages are excellent and widely used, there are gaps that will need to be filled.

Details of the Expected Returns 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 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) Factor Analysis & 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.
  • Create factor constructor functions for all papers listed above, ie feature engineering in ML parlance.
  • Check data parsers and port them to functions in the package.
  • Refactor existing vignettes and unify them with the FactorAnalytics and PerformanceAnalytics R package functions if possible
  • Add Unit tests using the tinytest R package, throughout the course of refactoring and testing your work.

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 MENTORS)
  • Bryan Rodriguez, bryan506 (DO NOT POST YOUR RESULTS IN PUBLIC, PLEASE EMAIL MENTORS)

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