so here's a little prototype of what I want, the main problem so far is that I have to input the exact time to find the publication date, not just
YYYY-MM-DD but the whole YYYY-MM-DD hours-minutes-seconds. The latter might be good, too, but at least I need to find a way to have it as a range like starting date - end date
#Function: earnings report on a specific date
#Input: Exchange; Date
#Output: Stock tickers
from quantopian.pipeline import Pipeline
from quantopian.pipeline.data.factset.estimates import Actuals
from quantopian.pipeline.domain import US_EQUITIES
from quantopian.research import run_pipeline
def make_pipeline():
pipe = Pipeline()
# Create our slice for the last actual earnings data
fq0_eps_act = fe.Actuals.slice('EPS', 'qf', 0)
publication_date = fq0_eps_act.publication_date.latest
return Pipeline(
columns={
'publication_date' : publication_date
},
)
pipeline_output = run_pipeline(
make_pipeline(),
start_date='2017-10-23',
end_date='2017-10-23'
)
#asset_list = pipeline_output.index.levels[1].unique()
pipeline_output
pipeline_output['publication_date']=='2017-07-24 12:30:00'
that yields:
Pipeline Execution Time: 0.17 Seconds
2017-10-23 00:00:00+00:00 Equity(2 [ARNC]) True
Equity(21 [AAME]) False
Equity(24 [AAPL]) False
Equity(25 [ARNC_PR]) False
Equity(31 [ABAX]) False
Equity(39 [DDC]) False
Equity(41 [ARCB]) False
Equity(52 [ABM]) False
Equity(53 [ABMD]) False
Equity(62 [ABT]) False
Equity(64 [GOLD]) False
Equity(66 [AB]) False
Equity(67 [ADSK]) False
Equity(70 [VBF]) False