A public record of self-directed study of fractal analysis in quantitative finance — from basic intuition to Multifractal Detrended Fluctuation Analysis (MF-DFA) applied to real market data, and used for risk management rather than price prediction.
This repository is an open journal of learning fractal analysis applied to financial markets. The end goal: to read, implement, and apply techniques such as Hurst exponent estimation and MF-DFA on real market data — and to use those findings for risk management, not price prediction.
This is not a tutorial and not a book summary. It is a record of process: daily notes, experimental notebooks, chapter summaries rewritten in my own words, dead ends and corrections included. The primary audience is my future self.
By the end of this path, I should be able to:
- Explain Hurst exponent, self-similarity, and long-range dependence in my own words, without jargon
- Implement Rescaled Range (R/S), DFA, and MF-DFA from scratch in Python
- Analyze market returns to measure fractality and long-memory properties
- Read econophysics papers without getting lost in notation
- Critically evaluate claims like "markets follow a random walk" vs "markets have memory"
- Build a personal risk-management framework grounded in the fractal properties of returns
This path is organized as five stages, not weeks. Advancement happens only when the previous stage's exit test is genuinely passed — not when time runs out. Sequence is locked, pace is free. Speed is an illusion; foundation is what matters.
| Stage | Focus | Status |
|---|---|---|
| Stage 1 — Tools & Basics | Math intuition, Python, Pandas, first market-data notebook | In Progress |
| Stage 2 — Conceptual Intuition | Chaos theory, Hurst's legacy, Mandelbrot's critique | Locked |
| Stage 3 — Classical Time Series | Stationarity, ARMA, GARCH — the orthodoxy that fractal theory will later challenge | Locked |
| Stage 4 — Fractal Finance Core | Hurst, R/S, DFA, MF-DFA, multifractal spectrum | Locked |
| Stage 5 — Integration & Capstone | Personal risk-management framework + backtest | Locked |
Full roadmap: ROADMAP.md · Progress log: PROGRESS.md
fractal-finance/
├── stage-1-tools-and-basics/ ← active
├── stage-2-conceptual-intuition/
├── stage-3-classical-time-series/
├── stage-4-fractal-finance-core/
├── stage-5-integration-capstone/
├── journal/ ← three-column concept notes
├── notebooks/ ← Python experiments
├── reading-notes/ ← chapter summaries in own words
└── essays/ ← living Feynman teach-back essay
- Python 3.11 via Anaconda / Miniconda
- Jupyter Notebook — all experiments
- NumPy, Pandas, SciPy — numerical computing
- Matplotlib, Seaborn — visualization
- yfinance — market data acquisition
- statsmodels, arch — classical time series (Stage 3 onward)
- hurst, nolds, MFDFA — fractal and nonlinear measures (Stage 4 onward)
The curriculum combines open educational materials and selected reference books.
Mathematical intuition:
- 3Blue1Brown — Essence of Calculus & Essence of Linear Algebra (YouTube)
- StatQuest with Josh Starmer — Statistics Fundamentals playlist
Python & data:
- Charles Severance — Python for Everybody (py4e.com)
- Kaggle Learn — Pandas course
Chaos & fractal theory (conceptual):
- James Gleick — Chaos: Making a New Science
- Benoit Mandelbrot & Richard Hudson — The (Mis)behavior of Markets
- The Scientific Legacy of Harold Edwin Hurst (monograph)
Classical time series:
- Ruey S. Tsay — Analysis of Financial Time Series
Fractal finance (technical):
- Edgar E. Peters — Chaos and Order in the Capital Markets
- Heinz-Otto Peitgen, Hartmut Jürgens, Dietmar Saupe — Chaos and Fractals
- Bisette & Van Der Post — The Fractal Theorem: Master Financial Chaos
git clone https://github.com/azulcoder/fractal-finance.git
cd fractal-finance
conda create -n fractal python=3.11 numpy pandas scipy matplotlib seaborn jupyter yfinance
conda activate fractal
jupyter notebookFive non-negotiable rules that bind every stage:
- Sequence is locked; pace is free. Stages cannot be skipped. But spending months on a single stage is fine if the foundation is solid.
- Retype code, never copy-paste. For every implementation from a book, type every line into Jupyter by hand. Finger-memory builds brain-memory.
- Three-column journaling for every new concept. Definition in own words | analogy or formula | numerical example from my own data. If all three columns can't be filled, the concept isn't understood.
- Feynman teach-back at the end of each stage. Write a new section in a living essay explaining the stage to a non-technical reader. The essay grows across the entire path.
- Rest is part of the work. One full day per week with no learning-screen time. Memory consolidates during rest, not during grinding.
This repository is public, but its primary audience is me in the future.
If I lose motivation, reread the earliest journal entries. If I feel I have not grown, compare today's notebook with the first one.
The road is long. One concept at a time.
MIT — see LICENSE.