Metadata-Version: 2.4
Name: qfwp
Version: 0.1.1
Summary: Companion package for 'Learning Quantitative Finance with Python' (CRC Press): real historical episodes (qfwp.data) and the Trone synthetic market (qfwp.synth).
Project-URL: Homepage, https://github.com/MarcosCarreira/qfwp
Author: Marcos Costa Santos Carreira
License: MIT
License-File: LICENSE
Keywords: market-data,quantitative-finance,synthetic-data,teaching,yield-curve
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Office/Business :: Financial
Requires-Python: >=3.11
Requires-Dist: numpy>=2.0
Requires-Dist: pandas>=2.2
Requires-Dist: scipy>=1.14
Provides-Extra: plot
Requires-Dist: matplotlib>=3.9; extra == 'plot'
Provides-Extra: symbolic
Requires-Dist: sympy>=1.13; extra == 'symbolic'
Description-Content-Type: text/markdown

# qfwp — companion package

Companion code for *Learning Quantitative Finance with Python* (CRC Press).

```bash
uv sync          # creates .venv from pyproject.toml + uv.lock
```

```python
from qfwp import synth
mkt = synth.make_market(level=1, pathologies={"missing_days": 0.02})
mkt.prices.plot()
```

Two subpackages:

- `qfwp.data` — the real historical episodes (1994 Real Plan, 1999 devaluation, 2008 GFC, 2011 EUR/SNB, 2014 elections). Loader API stable; data files land chapter by chapter.
- `qfwp.synth` — the **Trone** synthetic market with a four-level complexity dial matching the book's four parts. Level 1 implemented; full dial design in `SYNTH-DESIGN.md`.

Everything seeded, everything pinned (`uv.lock`), so the book's figures reproduce exactly.
