Can anyone suggest how to filter only stocks that just reported earnings today without using EventVestor (the free part of their data is not long enough for my purposes). I have used Eventvestor so far in this fashion:
from quantopian.pipeline.factors.eventvestor import (
BusinessDaysSincePreviousEarnings as days_since_earnings
)
from quantopian.pipeline.factors.eventvestor import (
BusinessDaysUntilNextEarnings as days_before_earnings
)
earnings_released_00 = (days_since_earnings() >= -0.99)&(days_since_earnings() <= 0.01)
The above approach works fine but the time period from Eventvestor is too short. When I use Benzinga:
from quantopian.pipeline.factors.benzinga import (
BusinessDaysUntilNextEarnings as days_before_earnings2,
BusinessDaysSincePreviousEarnings as days_since_earnings2)
from quantopian.pipeline.data.benzinga import EarningsCalendar
earnings_released_002 = (days_since_earnings2() >= -0.99)&(days_since_earnings2() <= 0.01)
I get an error message:
PipelineDataNotAvailable: Pipeline execution is not available for the following columns:
- EarningsCalendar.next_announcement::datetime64[ns]
Does anyone see what I am doing wrong, or have an idea how else to do this?