Error when merging Factor Data and Pricing Data with Alphalens

Hi,

I'm doing some research with Alphalens and I'm getting an internal error when running the function get_clean_factor_and_forward_returns. The problem appears in the third cell of the Notebook.

Any idea of what am I doing wrong?

3
2 responses

The get_clean_factor_and_forward_returns method expects a pandas multi-indexed series as the factor parameter. It's indexed by timestamp (level 0) and asset (level 1) and contains the values for a single alpha factor. Check out the docs https://quantopian.github.io/alphalens/alphalens.html#alphalens.utils.get_clean_factor_and_forward_returns .

The posted notebook has the following code

merged_data = get_clean_factor_and_forward_returns(factor=factor_data, prices=pricing_data)



Notice the factor parameter, 'factor_data', is a dataframe which contains two columns 'combined_factor' and 'longs'. It's this extra column that's causing the error. This is why you see the (rather obscure) error "Wrong number of items passed 2, placement implies 1". Add the column name to 'factor_data' which will then pass just the desired single factor as the parameter. Like this:

merged_data = get_clean_factor_and_forward_returns(factor=factor_data.combined_factor, prices=pricing_data)



Attached is a notebook with this change.

1