Open Net Worth
Open Net Worth is an open-source personal AI wealth assistant you run yourself: one ledger for your whole financial life, worked by an AI agent you control.
Perform financial event study analysis in R. Implements the classical event study methodology (MacKinlay 1997) with multiple return models (Market Model, Market Adjusted, Comparison Period Mean Adjust
FinanceR · CSSGitHub @sipemuOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Event Study package is an open-source R project created to facilitate the computation of financial event study analysis.
Loading the full README. The saved excerpt is shown below.
A comprehensive, modular R package for financial event study analysis. Implements the classical methodology (MacKinlay 1997) and extends it with modern multi-factor models, long-horizon methods, panel (DiD) event studies, and more.
EventStudy is part of the eventstudy.de toolkit -- "Event Study Analysis Made Simple":Read the full README ↗A comprehensive, modular R package for financial event study analysis. Implements the classical methodology (MacKinlay 1997) and extends it with modern multi-factor models, long-horizon methods, panel (DiD) event studies, and more.
EventStudy is part of the eventstudy.de toolkit -- "Event Study Analysis Made Simple":
install.packages("devtools")
devtools::install_github("sipemu/eventstudy")
Two Claude Code Agent Skills ship with this repo as an installable plugin, giving your AI assistant grounded knowledge of the package API:
es-capabilities -- discover the full API surface: return models, test
statistics, task types, function signatures, and method-for-task routing.es-advisor -- run the grounded load -> run -> diagnose -> advise -> re-run ->
compare loop (offline degrade path, never fabricates a number).Install via the built-in plugin marketplace:
/plugin marketplace add sipemu/eventstudy
/plugin install eventstudy@eventstudy
The skills are then auto-invoked from their descriptions, or callable as
/eventstudy:es-capabilities and /eventstudy:es-advisor.
AI Advisor: Grounded, LLM-agnostic advice via es_advise() plus offline es_diagnostics(). Interprets only package-computed numbers and never fabricates results. Works fully offline with no API key required; optional LLM providers (Anthropic, OpenAI-compatible, custom) can be supplied via provider().
One-Call Reporting: Generate a complete, multi-format event study report in a single call: es_report(task) -- deep-clones the task, harvests diagnostics, and renders HTML/PDF/Word/Markdown with a grounded narrative (offline by default). Also available as run_event_study(..., report = TRUE).
15+ Return Models: Market Model, Market Adjusted, Mean Adjusted, Fama-French 3- and 5-factor, Carhart 4-factor, GARCH(1,1), DCC-GARCH, Rolling-Window, Buy-and-Hold Abnormal Returns (BHAR), Volume, and Volatility models.
12 Test Statistics: Parametric (AR T, CAR T, BHAR T, Cross-Sectional T, Patell Z, BMP, Kolari-Pynnonen) and non-parametric (Sign, Generalized Sign, Rank, Calendar-Time Portfolio).
Diagnostics: Shapiro-Wilk normality, Durbin-Watson, Ljung-Box autocorrelation, pre-trend testing.
Visualization: Event study plots (AR, CAR, AAR, CAAR) with confidence bands, diagnostic plots, CAR distribution histograms, panel event study plots.
Result Export: CSV, Excel (multi-sheet), and LaTeX (publication-ready tables). Broom-compatible tidy() method for tidyverse workflows.
Cross-Sectional Analysis: Regress CARs on firm characteristics with HC-robust standard errors. Group comparisons, quantiles, and distribution plots.
Intraday Event Studies: POSIXct timestamp support with minute/second-level windows.
Panel Event Studies (DiD): Two-way fixed effects (static and dynamic), Sun & Abraham (2021) interaction-weighted estimator for staggered treatment.
Extensible Design: Add custom models (inherit ModelBase) and test statistics (inherit TestStatisticBase).
library(EventStudy)
# Create task from your data
task <- EventStudyTask$new(firm_tbl, index_tbl, request_tbl)
# Run with default settings (Market Model, simple returns, all test statistics)
task <- run_event_study(task)
# Inspect results
print(task)
summary(task)
New in 0.60.0. Get grounded advice about your fitted study — fully offline, no API key, and it never invents numbers (it interprets only what the package computed):
diag <- es_diagnostics(task)
advice <- es_advise(diag, task_type = "recommend_stat")
print(advice)
Runs offline out of the box. To use an LLM for prose interpretation, pass an optional provider() (Anthropic, OpenAI-compatible, or custom).
The best entry point for understanding the advisor is the "The Grounded AI Advisor" vignette (vignette("ai-advisor")), which walks through the bundled dieselgate dataset (data(dieselgate) — Volkswagen vs. the DAX around the 2015 EPA disclosure), runs the deterministic advisor layer live, and shows the LLM layer as a captured static example.
Analyzing the 2015 Volkswagen emissions scandal and its impact on automotive stock prices.
This is the beginning of the README. Read the rest at the original. Read the full README ↗