-
Notifications
You must be signed in to change notification settings - Fork 0
/
4_universe_selection.py
42 lines (34 loc) · 1.18 KB
/
4_universe_selection.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Import Pipeline class and datasets
from quantopian.pipeline import Pipeline
from quantopian.research import run_pipeline
from quantopian.pipeline.data import USEquityPricing
from quantopian.pipeline.data.psychsignal import stocktwits
# Import built-in moving average calculation
from quantopian.pipeline.factors import SimpleMovingAverage
# Import built-in trading universe
from quantopian.pipeline.filters import QTradableStocksUS
def make_pipeline():
# Create a reference to our trading universe
base_universe = QTradableStocksUS()
# get latest closing price
close_price = USEquityPricing.close.latest
# calculate 3 day MA of bull-minus-bear scores
sentiment_score = SimpleMovingAverage(
inputs=[stocktwits.bull_minus_bear],
window_length=3,
)
# Return Pipeline containing close_price and sentiment_score
return Pipeline(
columns={'close_price': close_price,
'sentiment_score': sentiment_score,
}
screen=base_universe
)
## Execute the Pipeline
pipeline_output = run_pipeline(
make_pipeline(),
start_date='2013-01-01',
end_date='2013-12-31'
)
# Display last 10 rows
pipeline_output.tail(10)