For some reason my pipeline is showing the previous day's close price. For example, for AAPL the pipeline shoes close for 3/11 shows close price for 3/10. Any ideas?
# Build pipeline
# Pipeline class
from quantopian.pipeline import Pipeline
# Import Pipeline class and USEquityPricing dataset
from quantopian.pipeline import Pipeline
from quantopian.pipeline.data import USEquityPricing
from quantopian.pipeline.filters import StaticSids
from quantopian.pipeline.experimental import QTradableStocksUS
# Import built-in calculations
from quantopian.pipeline.factors import SimpleMovingAverage, AnnualizedVolatility, Returns
# Pipeline definition
def make_pipeline():
# Create reference to tradeable universe
base_universe = StaticSids([24])
# Get latest closing price
close_price = USEquityPricing.close.latest
# Get latest returns
returns = Returns(window_length=2)
# Calculate 20 day average closing price
sma_20 = SimpleMovingAverage(
inputs=[returns],
window_length=20)
# Calculate upper and lower bands
ann_vol = AnnualizedVolatility(
inputs=[returns],
window_length=20)
std_20 = ann_vol ** (1/2)
# Calculate Z-Score
z_score = (returns - sma_20) / std_20
return Pipeline(
columns={
'close_price': close_price,
'returns': returns},
screen = base_universe)
# Import run_pipeline method
from quantopian.research import run_pipeline
# Execute pipeline created by make_pipeline
# between start_date and end_date
pipeline_output = run_pipeline(
make_pipeline(),
start_date='2020-01-01',
end_date='2020-03-11'
)
# Display last 10 rows
pipeline_output.tail(5)