#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
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
}
)
result = run_pipeline(make_pipeline(), '2018-06-01', '2018-06-01')
result.head()