explaingit

kaisaurus/etf-synth

Analysis updated 2026-05-18

0PythonAudience · researcherComplexity · 2/5Setup · easy

TLDR

Reconstructs decades of monthly price history for young Australian ETFs so you can see how they might have performed through past crashes.

Mindmap

mindmap
  root((repo))
    What it does
      Builds synthetic ETF history
      Backtests through crashes
      Reports correlation to real fund
    Tech stack
      Python
      Yahoo Finance data
      FRED data
    Use cases
      Compare fund drawdowns
      Research long term returns
    Audience
      Investors
      Researchers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Compare how young Australian ETFs might have performed during the dot-com crash or the 2008 financial crisis.

USE CASE 2

Look up worst-case drawdown and recovery time estimates for a specific ETF before investing.

USE CASE 3

Study how much market performance changed before and after 2012 for these funds.

What is it built with?

Python

How does it compare?

kaisaurus/etf-synth0xhassaan/nn-from-scratch3ks/embedoc
Stars00
LanguagePythonPythonPython
Last pushed2023-06-08
MaintenanceDormant
Setup difficultyeasymoderatehard
Complexity2/54/51/5
Audienceresearcherdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

The README is mainly a published dataset and results tables rather than an interactive tool to configure.

No license information is stated in the README.

In plain English

ETF-Synth builds reconstructed long-run monthly histories for popular Australian ETFs, such as DHHF, BGBL, NDQ, GHHF, GGBL, and GNDQ, that are actually too young to have existed through past major market events. The project stitches together data going back to January 1995 so you can see how these funds might have behaved through the dot-com crash, the global financial crisis, and COVID, periods the real funds never lived through. The synthetic histories are built entirely from free public data sources, pulling prices from Yahoo Finance and exchange rate and interest rate data from FRED. For each fund, its underlying holdings are stood in with older, low cost index funds that have a long history, using total return figures that assume dividends are reinvested. Where a fund holds overseas assets and is unhedged, the project converts those returns into Australian dollars, then layers on fees and, for the geared funds, an estimate of borrowing costs. Every synthetic series is checked against the real fund's actual performance during the period the fund has existed, and the README reports a monthly return correlation between 0.92 and 0.99 depending on the fund. The README is direct about the limits of this approach. It is reconstructed, not real, historical data, the years before 2001 rely more heavily on approximate substitutes, and the geared funds along with one fund that includes a bond component are the most sensitive to the assumptions used. Franking credits, a feature of the Australian tax system, are not included in the total return figures. The author states clearly that this is meant for research and curiosity rather than financial advice. The bulk of the README is a set of result tables showing total return, compound annual growth rate, worst drawdown, and recovery time for each fund across the full 1995 to 2026 period and again for the period after 2012 only, plus a year by year breakdown of returns and drawdowns for every fund covered. These tables illustrate how differently the funds performed depending on which historical stretch is examined, without the README telling the reader which stretch is more likely to repeat.

Copy-paste prompts

Prompt 1
Explain how ETF-Synth builds a synthetic pre-inception history for a fund like GHHF.
Prompt 2
What are the biggest caveats I should know before trusting ETF-Synth's drawdown numbers?
Prompt 3
Compare the post-2012 CAGR and worst drawdown for DHHF versus GGBL in ETF-Synth's tables.
Prompt 4
Help me understand why NDQ's synthetic dot-com drawdown took so long to recover.

Frequently asked questions

What is etf-synth?

Reconstructs decades of monthly price history for young Australian ETFs so you can see how they might have performed through past crashes.

What language is etf-synth written in?

Mainly Python. The stack also includes Python.

What license does etf-synth use?

No license information is stated in the README.

How hard is etf-synth to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is etf-synth for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.