event-study

Estimate abnormal returns and test event significance with CAR and BHAR.

33|6|Updated Mar 17, 2026
One-click install
npx skills add https://github.com/xjtulyc/awesome-rosetta-skills --skill event-study-xjtulyc
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: event-study
Source: https://github.com/xjtulyc/awesome-rosetta-skills/tree/main/skills/08-finance-academic/event-study
Command: npx skills add https://github.com/xjtulyc/awesome-rosetta-skills --skill event-study-xjtulyc

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires yfinance, pandas, numpy, scipy, statsmodels, matplotlib.

What problem does it solve?

This Skill helps you measure how a specific event affects a firm's stock performance by estimating abnormal returns against a counterfactual “normal return” model.

Core Features & Use Cases

  • Estimate normal returns: Fit a market model (OLS) or Fama-French 3-factor model on an estimation window to compute expected returns.
  • Compute event impacts: Calculate abnormal returns (AR) and cumulative abnormal returns (CAR) for short event windows, plus long-run buy-and-hold abnormal returns (BHAR) for post-event horizons.
  • Statistical testing for significance: Apply cross-sectional t-tests, the BMP standardized test, and a Corrado-style non-parametric rank test to evaluate whether observed effects are statistically different from zero.

Use Case: Estimate the impact of FDA approval announcements for multiple biotech tickers by computing CAR[-1,+1], running BMP significance tests across firms, and optionally assessing long-run IPO-style underperformance via 36-month BHAR.

Quick Start

Ask the AI to compute CAR[-1,+1] and BMP test p-values for a list of tickers around given event dates using yfinance price data and an estimation window of [-250,-11].

Frequently Asked Questions about event-study

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I calculate cumulative abnormal returns for multiple stocks around an event date using Python?

To calculate cumulative abnormal returns (CAR), fit a market model on an estimation window, compute expected returns, and sum the differences from actual returns during the event window. This workflow uses yfinance, pandas, and statsmodels.

What is the difference between CAR and BHAR in event study analysis?

CAR (Cumulative Abnormal Returns) measures short-window event impacts by summing periodic abnormal returns, whereas BHAR (Buy-and-Hold Abnormal Returns) evaluates long-run post-event performance by compounding actual versus expected returns over a multi-month horizon.

How do I test the statistical significance of abnormal returns across a portfolio of firms?

You can test the significance of abnormal returns across firms using cross-sectional t-tests, the BMP standardized test, or a Corrado-style non-parametric rank test. These evaluate whether observed event impacts differ significantly from zero.

Can I use the Fama-French 3-factor model instead of a simple market model to estimate normal returns?

Yes, you can estimate normal returns by fitting either an OLS market model or a Fama-French 3-factor model on the estimation window. This establishes the counterfactual baseline to measure abnormal returns accurately.

Can I pull historical stock prices directly from yfinance for event study estimation windows?

Yes, yfinance is used to download historical price data and compute returns. It supports fetching data for both the estimation window, typically set to [-250,-11], and the subsequent event windows for multiple tickers.

When should I use a non-parametric rank test instead of a t-test for event study results?

A Corrado-style non-parametric rank test is preferred over a cross-sectional t-test when abnormal return distributions are skewed or exhibit outliers, providing a robust significance assessment without assuming normality.