Event Study Calculator
RISK · EVENT RETURNS AGAINST A PLACEBO · CLUSTERED BY TICKER
Test whether the return after your events differs from the return after random dates, with permutation and cluster-robust p-values and a check on the single event that drives it.
One return per line, in any one unit (percent or fraction). Start a line with a ticker to cluster by it; give tickers on every line of a list or on none. Small samples are tested on every possible split; larger ones with the shuffles above.
Event minus placebo
2.824
Different from placebo
Event mean
2.98 (n=10)
Placebo mean
0.1563 (n=16)
Welch p
<0.001
Permutation p (shuffled)
<0.001
Cluster-robust p
<0.001 (8 clusters)
Main event
#3 carries 8%
Without event #3 (5) the effect is 2.599.
- Fewer than 30 events: the p-values are loose.
- Fewer than 20 tickers (clusters): the clustered standard error is itself unreliable.
Noise looks like an edge until you ask what random dates do
A token goes up an average of 3% in the week after a listing. Is that the listing, or is that what this token does in any week? An event study answers it by running the same measurement on dates with no event, the placebo, and asking whether the event returns sit apart from that crowd.
What is computed
- effect = mean(event returns) − mean(placebo returns)
- Welch t = effect / √(s²e/ne + s²p/np), Welch-Satterthwaite degrees of freedom
- permutation p: shuffle the labels, twice the smaller tail of the differences of means
- cluster-robust SE of the event dummy by ticker, small-sample factor G/(G−1) · (N−1)/(N−2), t with G−1 degrees of freedom
- main event: the one whose removal pulls the effect furthest toward zero, and the share of the effect it carries
Samples whose number of possible splits is 200,000 or fewer are tested on every split (exact); larger ones use the seeded shuffles, so the same input and seed give the same number. Events on the same coin are not independent draws, so the plain t-test can overstate the evidence; the clustered p is the one to trust when tickers repeat.
Worked example
Ten listings on five tokens against 16 random-date windows of the same length (the example in the calculator, 10,000 shuffles, seed 1):
- Event mean 2.98, placebo mean 0.156, effect 2.82
- Welch t 4.84 on 11.2 degrees of freedom, p 0.0005
- Permutation p 0.0002 (the smallest value 10,000 shuffles can give)
- Cluster-robust p 0.00006 over 8 clusters
- Largest single event (5.0) carries 8% of the effect; without it the effect is 2.60
What it does not do
It tests the two samples you hand it. It does not choose the placebo dates, fetch prices, remove market-wide moves or correct for dates picked after seeing the data. If the placebo windows differ from the event windows in length, season or volatility, a difference can come from that. Fewer than 30 events, fewer than 20 tickers, an effect that rests on one event or that flips sign without it, and a plain test that clustering overturns are each flagged instead of hidden. The formulas were checked against scipy (Welch t-test, permutation test) and statsmodels (cluster-robust regression) on independent vectors.
Where to go next
Tried many signals before finding this one? Correct for it with the Deflated Sharpe Ratio. Want the spread of a strategy's outcomes? Use the Monte Carlo simulation.
Use via API or MCP
This test is available as a deterministic API call: useful for bots or AI agents that need to check whether a signal beats random dates, with the same seed giving the same answer every time.
EMBED ON YOUR SITE
<!-- TradingCalc widget: please keep the link below exactly as given (address and words) --> <div class="tradingcalc-widget" data-widget="event-study-calculator"><a href="https://tradingcalc.io/event-study-calculator?utm_source=embed&utm_medium=backlink&utm_campaign=event-study-calculator">Event Study Calculator by TradingCalc.io</a></div> <script async src="https://tradingcalc.io/embed.js"></script>
Free, no signup. Keep the text link in the code exactly as given, with its address and its words: it is the attribution and it points visitors to the full calculator. Change colors, size and start values or read the installation guide and FAQ.
What is an event study with a placebo?
It measures the return after each event, then measures the same thing after dates picked at random with no event, and tests whether the two groups differ. The placebo shows how large a gap you get by chance alone.
How do I pick the placebo dates?
Take windows of the same length, in the same period and on the same assets, that start on dates with no event. Many dates are better than few. This calculator tests the two samples you give it; it does not choose the dates for you.
Why cluster by ticker?
Events on the same coin share its volatility and its weeks, so they are not independent evidence. Treating them as independent makes the plain t-test too confident. Clustering by ticker widens the standard error to match.
What does the main-event check show?
Without a clustered test (every row on one ticker, or no spread between clusters) the verdict is never "different": the plain tests cannot confirm it alone. The main-event check finds the one event whose removal pulls the effect furthest toward zero and shows the effect without it. If one event carries more than half of the effect, or the sign flips without it, the verdict is marked fragile.
Exact or shuffled permutation p-value?
When the number of ways to split the observations into the two groups is 200,000 or fewer, every split is tested and the p-value is exact. Larger samples use seeded random shuffles, and the smallest p-value they can report is about 2 divided by the number of shuffles plus one.
Does a small p-value prove the effect is real?
No. It says the gap is unlikely if the events were no different from the placebo dates. It does not rule out a poorly chosen placebo, dates picked after seeing the data, or market moves that hit every event at once.