Skip to content

Commit 469e428

Browse files
committed
Updated roadmap including publishing
1 parent a838032 commit 469e428

File tree

1 file changed

+71
-30
lines changed

1 file changed

+71
-30
lines changed

docs/derivatives_pricing_roadmap.md

Lines changed: 71 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1+
# ✅ Derivatives Pricing Library — Roadmap Checklist (Updated)
12

2-
# ✅ Derivatives Pricing Library – Roadmap Checklist (Updated)
3+
---
34

45
## PHASE 1 — Core Pricing Engine [✅ Completed]
56

@@ -11,50 +12,74 @@
1112
- [x] Pricer structure with method, marketinputs, payoff
1213
- [x] Test suite with unit tests and basic price agreements
1314

15+
---
16+
1417
## PHASE 2 — Market Inputs & Calibration Basics [✅ Completed]
1518

1619
- [x] `BSVolSurface` with rectangular grid + interpolation and `get_vol(t)` accessor
1720
- [x] Implied vol inversion for vanilla options
1821
- [x] `calibrate_vol_surface(quotes)` from market prices
1922
- [x] `DiscountCurve` (flat, piecewise) and `df(t)` accessor
2023
- [x] Unit tests: vol/curve access, interpolation, smoke pricing
21-
- [x] Rate Curves: Usage instead of constant rates, convenience constructors.
24+
- [x] Rate Curves: Usage instead of constant rates, convenience constructors
25+
26+
---
2227

23-
## PHASE 3 — Greeks & Calibration Infrastructure (2–3 weeks)
28+
## PHASE 3 — Greeks & Calibration Infrastructure [✅ Completed]
2429

2530
- [x] Implement `GreekProblem` and `solve` with support for:
26-
- [x] Finite differences (forward, backward, central)
27-
- [x] Forward AD
28-
- [x] Analytic Greeks for Black-Scholes
29-
- [x] Optional: AD for Monte Carlo methods
31+
- [x] Finite differences (forward, backward, central)
32+
- [x] Forward AD
33+
- [x] Analytic Greeks for Black-Scholes
34+
- [x] Optional: AD for Monte Carlo methods
3035
- [x] Plug Greeks into pricing pipeline with consistent API
3136
- [x] Develop modular calibration system:
32-
- [x] Residual-based calibration engine
33-
- [x] Objective functions from market quotes
34-
- [x] Support for different pricer-model combinations
35-
- [x] Heston calibration to implied volatility surface
37+
- [x] Residual-based calibration engine
38+
- [x] Objective functions from market quotes
39+
- [x] Support for different pricer-model combinations
40+
- [x] Heston calibration to implied volatility surface
3641
- [x] Unit tests: Greeks accuracy vs known formulas, calibration residual shapes
3742

38-
## PHASE 3.5 — Monte Carlo Enhancements (1 week)
43+
---
3944

40-
- [x] Add antithetic variates toggle to `MonteCarlo` method (Discrete and Exact Black Scholes [x], Discrete and Exact Heston[x])
41-
- [ ] Implement control variates with BS analytical formulas
42-
- [ ] Add reproducibility features: seeded RNG + control panel
43-
- [ ] Refactor MC framework to support pluggable variance reduction via `MCStrategy`
44-
- [ ] Optional: add stratified / quasi-random sampling hooks
45+
## PHASE 3.5 — Monte Carlo Enhancements (Light, 1 week)
46+
47+
- [x] Add antithetic variates toggle to `MonteCarlo` method (Discrete and Exact Black-Scholes [x], Discrete and Exact Heston [x])
4548
- [x] Unit tests: check variance reduction and correctness vs analytic prices
49+
- [x] Seed reproducibility: allow full control over RNG seeds (for all MC types)
50+
- [ ] Refactor MC framework to support seed injection and custom ensemble configs
51+
- [ ] Optional: design placeholder for `MCStrategy`, but defer advanced variance reduction
52+
53+
---
54+
55+
## 🛠 PHASE 4 — Polishing & Pre-Release Prep (1–2 weeks)
56+
57+
**🌟 Goal**: Registry submission with clean, reproducible functionality and docs
58+
59+
- [ ] Public API audit and finalization
60+
- [ ] Add docstrings for all exported types/functions
61+
- [ ] Create `/docs/` folder with basic Documenter.jl setup
62+
- [ ] Include example scripts: pricing, Greeks, calibration
63+
- [ ] Add Project.toml metadata (UUID, compat)
64+
- [ ] Ensure full test suite runs via `Pkg.test()`
65+
- [ ] CI: GitHub Actions with coverage and doc build
66+
- [ ] Tag `v0.1.0` and submit to Julia registry
67+
- [ ] Soft launch: share with trusted peers, hold off on broad announcement
68+
69+
---
4670

47-
## PHASE 4 — Structured Payoffs (2–3 weeks)
71+
## PHASE 5 — Structured Payoffs (2–3 weeks)
4872

49-
- [ ] Extend `Payoff` system to support path-dependent and monitored options
5073
- [ ] Arithmetic Asian pricing via Monte Carlo
51-
- [ ] Geometric Asian pricing via closed-form solution
52-
- [ ] Cash-or-nothing and asset-or-nothing digital options
74+
- [ ] Geometric Asian pricing via closed-form
75+
- [ ] Digital options (cash-or-nothing, asset-or-nothing)
5376
- [ ] Barrier options (up/down, knock-in/out, discrete monitoring)
54-
- [ ] Add `Monitoring` and `Averaging` traits or modifiers
77+
- [ ] Extend `Payoff` with `Monitoring` / `Averaging` modifiers
5578
- [ ] Unit tests: price agreement across methods, monitoring edge cases
5679

57-
## PHASE 5 — Interest Rate Products & Models (3–4 weeks)
80+
---
81+
82+
## PHASE 6 — Interest Rate Products & Models (3–4 weeks)
5883

5984
- [ ] Implement zero-coupon and fixed-coupon bond pricing
6085
- [ ] Build FRA and IRS support with schedule engine and stub logic
@@ -64,22 +89,28 @@
6489
- [ ] Basic CDS pricing with flat hazard rate model
6590
- [ ] Unit tests: replication of swaps via bond strips, curve usage, date handling
6691

67-
## PHASE 6 — Multi-Curve Support & Calibration (3 weeks)
92+
---
93+
94+
## PHASE 7 — Multi-Curve Support & Calibration (3 weeks)
6895

6996
- [ ] Introduce multi-curve framework (OIS + forwarding curves)
7097
- [ ] Curve bootstrapping: deposit, futures, swaps
7198
- [ ] Curve interpolation: ZC rates, discount factors, log-linear extrapolation
7299
- [ ] Integrate multi-curve into FRA, IRS, caps/floors pricing
73100
- [ ] Unit tests: bootstrapping accuracy, multi-curve vs single-curve comparisons
74101

75-
## PHASE 6.5 — PDE Framework (2–3 weeks)
102+
---
103+
104+
## PHASE 7.5 — PDE Framework (2–3 weeks)
76105

77106
- [ ] Implement Crank–Nicolson solver for Black-Scholes PDE
78107
- [ ] Define `PDEProblem` type with boundary conditions and solver settings
79108
- [ ] Generalize solver infrastructure for future PDE models
80109
- [ ] Unit tests: convergence checks, price agreement with analytic/MC methods
81110

82-
## PHASE 7 — SABR, Local Vol, Rough Vol (4–5 weeks)
111+
---
112+
113+
## PHASE 8 — SABR, Local Vol, Rough Vol (4–5 weeks)
83114

84115
- [ ] SABR model implementation (Hagan approximation)
85116
- [ ] Calibration to vanilla vol surface
@@ -88,7 +119,9 @@
88119
- [ ] Fourier or Monte Carlo pricing for rough volatility models
89120
- [ ] Unit tests: calibration error metrics, simulation path sanity checks
90121

91-
## PHASE 8 — Robustness & Performance (3–4 weeks)
122+
---
123+
124+
## PHASE 9 — Robustness & Performance (3–4 weeks)
92125

93126
- [ ] Edge case test suite: deep ITM/OTM, short maturity, extreme vol
94127
- [ ] Sensitivity exploration tools (Greeks wrt model parameters)
@@ -98,7 +131,9 @@
98131
- [ ] Optional: GPU backend for simulation
99132
- [ ] CI: Full unit test and regression test coverage, GitHub Actions setup
100133

101-
## PHASE 9 — Model-Free Pricing & Arbitrage Detection (2–3 weeks)
134+
---
135+
136+
## PHASE 10 — Model-Free Pricing & Arbitrage Detection (2–3 weeks)
102137

103138
- [ ] Risk-neutral density extraction from call spread surface
104139
- [ ] Variance swap pricing via replication
@@ -107,7 +142,9 @@
107142
- [ ] Super-replication bounds for exotic payoffs
108143
- [ ] Unit tests: convexity and arbitrage consistency, replication sanity
109144

110-
## PHASE 10 — Documentation & Launch Prep (2 weeks)
145+
---
146+
147+
## PHASE 11 — Documentation & Launch Prep (2 weeks)
111148

112149
- [ ] Full docstrings for all exported types and functions
113150
- [ ] Notebooks covering pricing, Greeks, calibration, and structured payoffs
@@ -117,8 +154,12 @@
117154
- [ ] Prepare for public release: package registry, landing README
118155
- [ ] Soft launch with trusted peers; optionally post to LinkedIn, Discourse
119156

120-
## PHASE 11 — Optional Extensions
157+
---
158+
159+
## PHASE 12 — Optional Extensions
121160

161+
- [ ] Control variates using Black-Scholes
162+
- [ ] Stratified sampling / quasi-random generation
122163
- [ ] REST API or service wrapper for pricing/calibration endpoints
123164
- [ ] Pluto.jl-based interactive pricing UI
124165
- [ ] Real-time batch pricing and risk engine prototype

0 commit comments

Comments
 (0)