Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

Repository files navigation

External equity financing and VCT visibility

Murad Farzulla — coding task submission, August 2026.

Contents

  • report.pdf — the analysis report (report.tex is its source)
  • code/01_build_panel.py — cleans the three input files and builds outputs/analysis_panel.csv
  • code/02_analysis.py — every table, figure, and regression in the report, including the backer-clustering check
  • code/03_audit_checks.py — reproduces the audit figures quoted in the report text
  • code/04_duckdb_check.sql — independent SQL recomputation of the headline numbers (report Appendix A)
  • outputs/ — analysis_panel.csv, tables/, figures/, CHECKSUMS.txt
  • run_all.sh — one-command reproduction with checksum verification

Pipeline

data/company_snapshot.csv ──┐
data/accounts_filings.csv ──┼─▶ 01_build_panel.py ─▶ outputs/analysis_panel.csv
data/psc_snapshot.csv ──────┘            │
                                         ▼
                              02_analysis.py ─▶ outputs/tables/ + outputs/figures/
                                         │
                              03_audit_checks.py ─▶ audit numbers quoted in prose
                              04_duckdb_check.sql ─▶ independent SQL cross-check

Reproducing

Place the three input CSVs in data/ next to this file, then:

pip install -r requirements.txt   # exact tested versions pinned inside
./run_all.sh

run_all.sh rebuilds everything and verifies the rebuilt CSVs against outputs/CHECKSUMS.txt (SHA-256), finishing with an explicit REPRODUCTION VERIFIED or a non-zero exit. Runs in under two minutes on a laptop; no network access needed (ECB exchange rates are hard-coded with their source and retrieval date in 01_build_panel.py). The pipeline is deterministic: all seven CSV outputs reproduce byte-identically. Figures regenerate visually identical but embed production timestamps, so they are not checksummed.

The independent DuckDB cross-check needs the duckdb CLI:

duckdb -c ".read code/04_duckdb_check.sql"

Expected: 26204 | 1920 | 36.667 | 22.480 | 23.519 — matching Appendix A.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages