If you have a problem with the sid () function, use the symbol () function instead.
It is more natural and works.
from quantopian.pipeline import Pipeline, CustomFactor, factors, filters, classifiers
from quantopian.pipeline.factors import SimpleBeta, RollingLinearRegressionOfReturns
from quantopian.algorithm import attach_pipeline, pipeline_output
from quantopian.pipeline.filters import QTradableStocksUS
# --------------------------------------------------------------------------------------
STK_SET = QTradableStocksUS(); STOCK = symbol('MSFT'); BENCH = symbol('AAPL'); REGR = 21
# --------------------------------------------------------------------------------------
def initialize(context):
beta = SimpleBeta(target = BENCH, regression_length = REGR)
attach_pipeline(Pipeline(columns={'beta': beta}, screen = STK_SET), 'pipeline')
def before_trading_start(context, data):
output = pipeline_output('pipeline')
b = output.beta[STOCK]
record(b = b, ZERO = 0)