Polish web demo tests and refresh notebooks

- add README live-demo badge
- tighten engine validation for jump grids and detector indices
- replace flaky FastAPI TestClient web tests with direct handler tests
- remove unused httpx dev dependency
- clean stale frontend comments
- re-execute notebooks with clean sequential outputs
This commit is contained in:
2026-08-03 08:15:22 -04:00
parent 8e6c98945b
commit e5d785f511
13 changed files with 277 additions and 238 deletions
+6 -5
View File
@@ -1,5 +1,7 @@
# Adaptive Barrier Monitor
[![Live Demo](https://img.shields.io/badge/demo-webapp-teal)](https://abm.pawelsarkowicz.xyz)
A five-notebook quantitative-finance project connecting random walks, Brownian
motion, geometric Brownian motion, first-passage times, Brownian bridges, and
state-dependent monitoring.
@@ -19,7 +21,7 @@ appear in a practical monitoring problem.
Under geometric Brownian motion,
$$
\frac{dS_t}{S_t}=\mu\,dt+\sigma\,dW_t,
\frac{dS_t}{S_t}=\mu dt+\sigma dW_t,
$$
the relative log-price $X_t=\log(S_t/S_0)$ is arithmetic Brownian motion. A
@@ -28,7 +30,7 @@ the relative log-price $X_t=\log(S_t/S_0)$ is arithmetic Brownian motion. A
For zero drift, the probability of touching the barrier by time $T$ is
$$
P(\tau_B\leq T)=2\Phi\!\left(\frac{B}{\sigma\sqrt{T}}\right).
P(\tau_B\leq T)=2\Phi\left(\frac{B}{\sigma\sqrt{T}}\right).
$$
At 30% annualised volatility, a 10% move in five trading minutes is roughly a
@@ -41,7 +43,7 @@ that the hidden path crossed the barrier is
$$
P_{\mathrm{cross}}
=\exp\!\left(
=\exp\left(
-\frac{2(x_0-B)(x_T-B)}{\sigma^2\Delta t}
\right).
$$
@@ -188,8 +190,7 @@ adaptive-barrier-monitor/
## Tech stack
Python, NumPy, SciPy, pandas, SymPy, Matplotlib, FastAPI, Pydantic, Uvicorn,
Plotly.js, Docker, pytest, and GitHub Actions.
Plotly.js, Docker, pytest.
## License
MIT — see [`LICENSE`](LICENSE).