AbnormalReturns.jl

Calculate regressions and abnormal returns for large return datasets quickly
Author junder873
Popularity
9 Stars
Updated Last
10 Months Ago
Started In
December 2021

Dev Build status

AbnormalReturns.jl

This package is designed to quickly calculate abnormal returns on large datasets by running regressions on slices of dates. In finance and economics research, abnormal returns are common for event studies related to firms to interpret how the stock market perceives the event. For example, if a firm makes an announcement, did the market see that as good news? To what degree (i.e., how big are the returns)?

Calculating abnormal returns typically requires running regressions on a slice of the data (during an estimation window) and using those coefficients to predict what a firm's returns would be during an event window. The difference between the the actual returns and the expected returns is used as a measure of abnormal returns.

Performance

This package is capable of calculating abnormal returns very quickly. On a Ryzen 7 5700X, it can calculate 1 million different regressions on different slices of data in under 0.5 seconds. In a larger benchmark using simulated data for 1 million firm-events, this package can calculate abnormal returns for all events using two methods (so 2 million total regressions, 2 million estimations and some other statistics) in 1.5 seconds. See the benchmark folder for more details.

Acknowledgements

This package would not be possible without the extensive work done in BusinessDays.jl and StatsModels.jl.

Disclaimer

While this package does have testing, it is in beta. Methods might change and there could be errors.