Notebook
In [1]:
#Imports

from quantopian.pipeline import CustomFactor, CustomFilter, Pipeline
from quantopian.research import run_pipeline
from quantopian.pipeline.data.builtin import USEquityPricing
from quantopian.pipeline.factors import Returns, RollingPearsonOfReturns

import numpy as np
import pandas as pd

from scipy.stats import pearsonr 
In [2]:
def make_pipeline():
    # Method 1
    pearsonr_returns = RollingPearsonOfReturns(
        target=symbols('SPY'), 
        returns_length=2, 
        correlation_length=252
    )

    # Method 2
    returns = Returns(window_length=2)
    returns_SPY = returns[symbols('SPY')]
    pearsonr_returns2 = returns.pearsonr(target=returns_SPY, correlation_length=252)
    
    return Pipeline(
        columns={
            'pearsonr_returns': pearsonr_returns,
            'pearsonr_returns2': pearsonr_returns2
        }
    )
In [3]:
result = run_pipeline(make_pipeline(), '2018-06-01', '2018-06-01')
In [4]:
result.head()
Out[4]:
pearsonr_returns pearsonr_returns2
2018-06-01 00:00:00+00:00 Equity(2 [ARNC]) 0.495093 0.495093
Equity(21 [AAME]) NaN NaN
Equity(24 [AAPL]) 0.636267 0.636267
Equity(25 [ARNC_PR]) NaN NaN
Equity(31 [ABAX]) 0.348947 0.348947