This is an updated version of the long/short earnings sentiment strategy published previously. The biggest change is that this algorithm uses two earnings calendars to proof on before entering into a position. We've gotten feedback that many folks tend to use more than one datasource to validate an earnings announcement.
That being said, because the price of using two calendars is much higher, this version is not meant for everyone and is specifically here for those who want the use of multiple earnings calendar sources.
Strategy Details:
- Data set: Earnings calendar by EventVestor, Earnings Calendar by Benzinga, crowdsourced earnings estimates by Estimize, and news sentiment by Accern
- Weights: The weight for each security is determined by the total number of longs and shorts we have in that current day. So if we have 2 longs and 2 shorts, the weight for each long will be 50% (1.0/number of securities) and the weight for each short will be -50%. This is a rolling rebalance at the beginning of each day according to the number of securities currently held and to order.
- Capital base: $1,000,000
- Profit and Loss limits are set to 6%
- Days held: Positions are currently held for 8 days but are easily changeable by modifying 'context.days_to_hold'
- Percent threshold: Only surprises between 0% and 6% in absolute magnitude will be considered as a trading signal. These are adjustable using the minimum and maximum threshold variables in context.
- Earnings dates: All trades are made 1 business day AFTER an earnings announcement regardless of whether it was a Before Market Open or After Market announcement
For all examples using data, visit the data pipeline factor library.