Skip to content

Commit 0ba4bb7

Browse files
authored
Merge pull request #37 from jgoldberg-nvidia/docs/add-changelog
Add Changelog (backfilled) for Future Version History Tracking
2 parents e8a365f + 8fdad47 commit 0ba4bb7

1 file changed

Lines changed: 190 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,190 @@
1+
# Changelog
2+
3+
All notable changes to this project are documented here, one PR per entry,
4+
newest first, dated by merge to `main`. Backfilled from git history.
5+
6+
## 2026-04-22 — PR #TBD
7+
8+
Add `CHANGELOG.md`, backfilled from `git log --merges --first-parent origin/main`.
9+
One entry per merged PR, newest first, `## YYYY-MM-DD — PR #N` headers.
10+
No source/config changes.
11+
12+
## 2026-04-21 — PR #34
13+
14+
**Breaking — minimum Python bumped from `>=3.10` to `>=3.11`.** Required by
15+
`cuml-cu13==26.4`. Also updates `target-version` in the black config and
16+
`CONTRIBUTING.md`.
17+
18+
## 2026-04-20 — PR #33
19+
20+
Switch `cvar_basic.ipynb` to render the architecture diagram via PNG to
21+
avoid SVG rendering issues in `nbconvert` output.
22+
23+
## 2026-04-20 — PR #32
24+
25+
Large bundled change:
26+
27+
- **Added** — Mean-Variance (Markowitz) optimizer with CVXPY and cuOpt
28+
backends; `notebooks/mean_variance_basic.ipynb`.
29+
- **Added**`BaseOptimizer` / `BaseParameters` classes and Pydantic
30+
settings models (`ReturnsComputeSettings`, `ScenarioGenerationSettings`,
31+
`KDESettings`, `ApiSettings`) under `cufolio.settings`.
32+
- **Added** — SP100, DOW30, and Global Titans dataset download support in
33+
`utils.download_data`.
34+
- **Added**`compute_absolute_returns` (simple-diff semantics) as a
35+
distinct function.
36+
- **Breaking — API rename**`compute_abs_returns``compute_linear_returns`
37+
(pct-change). Previous `diff` semantics now live in `compute_absolute_returns`.
38+
- **Breaking — settings API**`calculate_returns`, `generate_cvar_data`,
39+
and optimizer constructors now take Pydantic settings models instead of
40+
plain dicts.
41+
- **Breaking — dependency pins**`cuml-cu{12,13}` and `cuopt-cu{12,13}`
42+
bumped from `25.12.*` to `26.4.*` / `26.04.*`; `pydantic>=2.12.5` added.
43+
- **Changed**`optimize_market_regimes()` unified to support both CVaR
44+
and mean-variance.
45+
- **Fixed** — cuML KDE sampler returns numpy arrays via `using_output_type`.
46+
- **Fixed**`quad_form` numerical issues resolved via `psd_wrap` on the
47+
covariance matrix.
48+
- Notebooks rewritten against the new API; outputs regenerated.
49+
50+
## 2025-12-17 — PR from fork (phuo-nv)
51+
52+
- **Changed** — cuOpt model construction switched to `LinearExpression` to
53+
avoid recursion depth errors on large problems.
54+
- **Changed** — refactored returns-calculation methods; made exception
55+
handling explicit.
56+
- **Added** — KDE timing instrumentation in the CVaR pipeline.
57+
- **Fixed** — lazy imports in `cvar_optimizer` to avoid eager GPU-module
58+
load at import time.
59+
60+
## 2025-12-02 — PR #28
61+
62+
Small touch-up of `notebooks/launchable.ipynb` (1 file, +161/-30).
63+
64+
## 2025-12-02 — PR #27
65+
66+
Minor launchable-notebook fix (4 files, +33/-10).
67+
68+
## 2025-12-02 — PR #26
69+
70+
Major launchable-notebook iteration: GPU checks, setup steps, regenerated
71+
outputs (7 files, +3095/-173).
72+
73+
## 2025-12-01 — PR #25
74+
75+
Rename / replace the architecture diagram asset (`docs/arch_diagram.png`).
76+
77+
## 2025-12-01 — PR #24
78+
79+
Refresh notebook outputs to match latest src behavior (4 files, +213/-171).
80+
81+
## 2025-11-26 — PR #23
82+
83+
Final pass on the stock-data directory setup (4 files, +1596/-1813) —
84+
regenerated dataset artifacts and README polish.
85+
86+
## 2025-11-25 — PR #22
87+
88+
Add a bundled dataset file (1 file, +432/-12).
89+
90+
## 2025-11-25 — PR #21
91+
92+
Polish on the stock-data directory layout (3 files, +15/-2).
93+
94+
## 2025-11-25 — PR #20
95+
96+
Initial `data/stock_data/` scaffolding (5 files, +51/-68).
97+
98+
## 2025-11-25 — PR #19
99+
100+
Small source touch-up (1 file, +7/-6).
101+
102+
## 2025-11-25 — PR #18
103+
104+
Launchable-notebook refinements (7 files, +1187/-1326).
105+
106+
## 2025-11-24 — PR #17
107+
108+
Add Brev-deployable `notebooks/launchable.ipynb` (9 files, +4855/-747).
109+
110+
## 2025-11-24 — PR #16
111+
112+
Finalize `uv.lock` migration and sequence diagram (5 files, +1377/-1091).
113+
114+
## 2025-11-23 — PR #15
115+
116+
Refine `uv.lock` sequence diagram docs (6 files, +67/-49).
117+
118+
## 2025-11-21 — PR #14
119+
120+
Commit `uv.lock` and migrate project to `uv` as the dependency manager;
121+
add a sequence diagram documenting the dependency-management flow
122+
(5 files, +2928/-6).
123+
124+
## 2025-11-21 — PR #13
125+
126+
Add `release-2512.yml` workflow, `docs/arch_diagram.png`, large notebook
127+
regeneration, and `src/` cleanup (11 files, +1505/-2082).
128+
129+
## 2025-11-20 — PR #12
130+
131+
Small notebook fixes in `cvar_basic` and `rebalancing_strategies`
132+
(2 files, +4/-4).
133+
134+
## 2025-11-19 — PR #11
135+
136+
Notebook regeneration and src cleanup in backtest / rebalance / utils
137+
(5 files, +703/-912).
138+
139+
## 2025-11-19 — PR #10
140+
141+
Notebook and src refinements across cvar_basic, backtest, cvar_utils,
142+
portfolio, rebalance, utils (7 files, +304/-141).
143+
144+
## 2025-11-17 — PR #9
145+
146+
README additions (+36 lines).
147+
148+
## 2025-11-13 — PR #8
149+
150+
`src/readme.md` fix (1 file, +2/-2).
151+
152+
## 2025-11-12 — PR #7
153+
154+
Remove `deploy/1_Deploy_Template.ipynb`; major `cvar_basic.ipynb` update;
155+
add `notebooks/readme.md`; minor `src/cvar_utils.py` and `src/utils.py`
156+
tweaks (7 files, +1358/-1235).
157+
158+
## 2025-11-12 — PR #6
159+
160+
README polish (1 file, +18/-12).
161+
162+
## 2025-11-12 — PR #5
163+
164+
Remove legacy scaffolding: `Maintainers/`, old `CHANGELOG.md`,
165+
`README_ARCHIVED.md`, empty `customize/` and `evaluate/` readmes; README
166+
polish (10 files, +74/-409).
167+
168+
## 2025-11-07 — PR #4
169+
170+
`LICENSE-3rd-party.txt` edits, remove a `pyproject.toml` entry
171+
(2 files, +5/-7).
172+
173+
## 2025-11-06 — PR #3
174+
175+
Add `LICENSE-3rd-party.txt`; README touch-up (2 files, +119/-2).
176+
177+
## 2025-11-06 — PR #2
178+
179+
README polish (1 file, +2).
180+
181+
## 2025-11-06 — PR #1
182+
183+
**Initial code drop.** Core `cufolio` package: CVaR optimizer
184+
(`cufolio.cvar_optimizer.CVaR`), portfolio backtester
185+
(`cufolio.backtest.portfolio_backtester`), utils, scenario generation
186+
(KDE / Gaussian / historical). Example notebooks: `cvar_basic.ipynb`,
187+
`efficient_frontier.ipynb`, `rebalancing_strategies.ipynb`. `pyproject.toml`
188+
with `cuda12` / `cuda13` extras pinning `cuml-cu{12,13}` and
189+
`cuopt-cu{12,13}`. `README.md`, `CONTRIBUTING.md`, `CODEOWNERS`,
190+
NVIDIA-AI-Blueprints branding and issue templates (22 files, +10885/-25).

0 commit comments

Comments
 (0)