Skip to content
Python for Quantitative Finance / Model and software design

Reproducibility

A price or backtest result must identify the inputs that produced it. Record the source revision, dependencies, data, configuration, random seed and command. This lesson builds a compact run record and a replay procedure so another person can reproduce and challenge the result.

Learning objectives. By the end of this note you should be able to:
  • list the fields of a minimal run record and populate them from a script;
  • separate raw data, derived caches and code in a directory layout;
  • explain why a fixed seed is necessary but not sufficient;
  • prefer a scripted entry point over a notebook-only path for anything claimed as a result.

In this lesson

  1. The run record
  2. Seeds are necessary, not sufficient
  3. Separate data from code
  4. Notebooks versus scripts
  5. Minimal replay drill
  6. Config as data, not comments
  7. Floating research vs pinned claim

Before you start

The full lesson, with worked examples and exercise solutions, is for members.

Read the full lesson

New to SelfMadeQuant.com? See membership options or browse the Python for Quantitative Finance syllabus.