Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Factor models

I recently read a couple papers describing 3 or 4 factor models that explain a huge number of anomalies (purported sources of alpha), such as this one by Lu Zhang et al:

http://rfs.oxfordjournals.org/content/28/3/650.short?rss=1&ssource=mfr

Usually the models include a factor for the market, a factor (or two) for value/mispricing and maybe a factor for momentum. These models are basically claiming that using an anomaly that correlates closely with the value factor, for example, is getting extra returns because it is exposing you to more risk, not because it is a source of alpha. Value and momentum are things that don't work all the time (e.g. the period from 1996 to 1999 was horrible for value), so by definition, it is a risk to expose yourself to it even if, over the long run, it will bring you excess return (this is the risk compensation).

On Quantopian, the results for beta and alpha are computed using a simple CAPM model, where the only factor included is the market factor. A user just has to expose themselves to the value or momentum factor over the long run and it can look like "alpha" on Quantopian.

I'm wondering if the Quantopian team has thought about this and if it would make sense to somehow incorporate risk factor models like these into the analysis to see if algorithms are actually finding true alpha or just exposing themselves to extra risk.

2 responses

Hey Rudiger,

Great question and interesting paper. It's a well known issue that, often, seemingly new factors will just be re-discovering existing and known anomalies. Of course the way that this is usually expressed is through a factor model

F_new = alpha + beta_1 * F_1 + beta_2 * F_2 + ... + beta_n * F_n

If a linear regression estimates low alpha when existing factors F_1, ... , F_n are used then you have reason to suspect that there isn't much new content beyond what is already explained by F_1, ... , F_n. Keep in mind that 'alpha' is often used to mean generally new information, however it will depend on what factors are being used as your existing factors in this model. So a factor can appear to have high alpha but just because a similar known factor isn't being used as one of the independent variables.

Having completely independent factors in a trading model is the ideal situation, as even when some aren't working others will, and each will bring something new to the table. You're completely correct that if you use a factor that is explained by other existing factors, you aren't really providing alpha as much as increased exposure to these existing factors and therefore risk.

It's incredibly important to measure factor risk exposure, not only when evaluating new alpha factors, but also when considering an overall model or algorithm return stream. Quantopian doesn't currently offer a user-facing API to measure factor or algorithm risk exposure, but it is something we're currently thinking about. You can also manually compute it yourself as is shown here:

https://www.quantopian.com/lectures#Factor-Risk-Exposure

When we evaluate algorithms for allocation, we use a wide variety of tools. Our research team is constantly building new infrastructure to do it better, and we certainly look at risk exposure of our algorithms during the process. Our goal is to turn as much of what the research team produces into front-facing tools and APIs so users can benefit. That has already been done with PyFolio and Alphalens, our goal would be to do the same for a risk modeling API.

Disclaimer

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.

Hi Delaney -

Having completely independent factors in a trading model is the ideal situation

My understanding is that at present, you have ~15 algos trading an average of $100K real money each, and many others in the queue. You have the advantage of selecting from presumably a relatively large, diverse pool of ideas. To what extent have you been able to achieve the ideal of having independent factors?

I realize that you may not be at liberty to share much information, but I feel compelled to ask the question, since you might be starting to get some sense if the theoretical is realizable. Have you been able to apply statistical tests to show that at a reasonable confidence level that there are N independent factors in the pool of algos trading real money, and the ones you are considering adding?

Best regards,

Grant