Inspiration
When a headline mentions a company you follow, it takes work to figure out what happened, who else was involved, and whether the stock moved unusually. We wanted to bring those answers together for people who follow a handful of stocks and have limited time to read the news.
What it does
Market Aftermath finds news events involving stocks on your watchlist and compares each stock’s performance with what a market model would normally expect. You can see how different companies reacted to the same news, open the original source, and save an event-stock pair to revisit later.
For example, after Schneider Electric announced its deal to buy PTC, PTC performed about 33.4 percentage points above its model expectation over the observed window, while Schneider performed about 15.1 points below its own. The homepage shows both results side by side, along with how much trading data each result covers.
How we built it
We built a React frontend and a Flask backend. The pipeline pulls recent articles from NewsAPI, uses an LLM to extract structured events and identify related companies, then resolves those companies to stock tickers. It uses adjusted daily closing prices and historical benchmark data to estimate how each stock typically moves with its market. The event study adds up the daily differences between actual and expected returns to calculate cumulative abnormal return, or CAR.
The app caches prices and event analyses. When it opens, it checks saved events for new trading sessions and updates their analyses when more data is available.
Challenges we ran into
A company can be central to a headline and still be missed during extraction. Our first analysis of Alphabet’s stake purchase in Qualcomm included Qualcomm and several related companies but omitted Alphabet itself. We added Alphabet’s analysis and updated the extraction instructions to include both publicly traded parties in a deal.
Timing was another challenge. A fresh headline may have only one trading session of price data, while an older event may have a full window. We added an Early label, the observation window, and the last trading date included so readers can see how much evidence each result has.
Accomplishments that we're proud of
We built an end-to-end workflow that starts with a news scan and ends with a specific event a user can investigate and save. A single headline can lead to several stock analyses, each with its own chart and market benchmark. We also made scan results distinguish new events from updates to existing ones, so users can see what actually changed.
What we learned
The number alone rarely answers the user’s question. A small positive result based on one day and a larger negative result based on a week need different explanations. We learned to put the observation window and statistical context next to the result. We also learned to describe CAR carefully: it measures how far a stock moved from the model’s expectation during a period when other news may have affected the stock too.
What's next for Market Aftermath
We’d like to group duplicate headlines into one event and show which sources reported it. We’d also improve how we handle announcements made after market close and flag overlapping news that makes a price move harder to interpret. Finally, we’d test the homepage with people who follow stocks casually to see whether they can tell, at a glance, which events are worth opening and why.