Skip to content
View ochofer's full-sized avatar

Block or report ochofer

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ochofer/README.md

Quantitative researcher in Amsterdam. PhD in Politics and International Studies (Warwick, 2026), empirical econometrics on panel data, now applied to financial market data.

Public work

optimal-vs-naive-diversification. A replication of DeMiguel, Garlappi and Uppal (2009) on Ken French's data, against bands fixed before the code ran, and their question put to a long-only index-tracking mandate on 49 industries from 1979 to 2026, comparing five covariance estimators on realised tracking error. Sixteen notebooks, 105 tests and an eleven-page note.

Dashboard ↗ · Note (PDF) ↗ · Project page ↗

paper1-hazard-exposure-data. An ownership graph linking 328 listed companies to the 5,115 tracked assets they own, built from Global Energy Monitor's free tracker and published with its code before any analysis.

It carries a measurement note on the data underneath it: of 19 apparent ownership changes checked by hand against exchange filings, company statements and press releases, 12 had no corporate event behind them.

One return test was specified and set aside before it ran, on a power calculation published in the repository. A second was pre-registered, run, and reported with the minimum detectable effect that makes it readable.

Note (PDF) ↗ · Project page ↗

volatility-managed-portfolios. A replication of Moreira and Muir's volatility-managed portfolios and of the real-time critique on Ken French's factors, then the months after the paper's sample. In build: the data and the signal are in place, and nothing in it is a result yet.

Project page ↗

rules-based-portfolio. Runs a small real-money portfolio under rules published before the first order: two UCITS ETFs at 70/30, a monthly cycle with pre-trade checks, look-through exposure and ex-ante risk on a public dashboard.

Dashboard ↗ · Project page ↗

Methods

Causal inference with panel data, econometrics, survey experiments, geospatial analysis. Python, R, SQL, Stata.

Elsewhere

carlohofer.com · ORCID · Google Scholar · LinkedIn

Pinned Loading

  1. optimal-vs-naive-diversification optimal-vs-naive-diversification Public

    Do optimised portfolios beat naive 1/N out of sample? A replication of DeMiguel, Garlappi and Uppal (2009) on Ken French's data, and their question put to a long-only index-tracking mandate on 49 i…

    Jupyter Notebook

  2. paper1-hazard-exposure-data paper1-hazard-exposure-data Public

    Ownership graph linking 328 listed companies to 5,115 tracked assets, built from public data and published with its code before any analysis.

    Python

  3. rules-based-portfolio rules-based-portfolio Public

    A small real-money portfolio of two ETFs, run under a written mandate and rules fixed before the first order, with the program and dashboard that keep its record.

    Python

  4. ochofer.github.io ochofer.github.io Public

    Source of carlohofer.com, my personal academic website.

    SCSS