Skip to content

Commit 92e4d79

Browse files
committed
Declare 0.01 as another parameter.
1 parent 874db31 commit 92e4d79

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

submissions/tingjun2/README.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,16 @@ The **GARCH(1,1) Volatility Model** (Generalized Autoregressive Conditional Hete
66
This implementation maps the discrete-time GARCH process to the theoretical **Q-Variance** relationship. By simulating millions of trading days, we demonstrate that the stochastic variance updates converge to a deterministic parabolic fit: $V(z) = \sigma_0^2 + \frac{(z - z_{off})^2}{2}$.
77

88
## Parameters & Mapping Logic
9-
The model utilizes three primary GARCH parameters. Through optimization against a 5,000,000-day sample, these parameters were tuned to recover the specific geometry of the Q-variance parabola:
9+
The model utilizes four parameters to control the GARCH dynamics and recover the theoretical geometry of the Q-variance parabola:
1010

11-
| GARCH Parameter | Value | Influence on Q-Variance Geometry |
11+
| Parameter | Value | Influence on Q-Variance Geometry |
1212
| :--- | :--- | :--- |
1313
| **Target Vol ($\sigma$)** | **0.0950** | **Minimal Volatility ($\sigma_0$):** Sets the vertical baseline (the "floor" of the parabola). |
1414
| **Annual Return ($\mu$)** | **0.0844** | **Z-Shift ($z_{off}$):** Controls the horizontal asymmetry (displacement from zero). |
15-
| **Persistence ($\lambda$)** | **0.8000** | **Curvature/Steepness:** Lower $\lambda$ increases volatility, making the parabola **steeper and narrower** |
15+
| **Persistence ($\lambda$)** | **0.8000** | **Curvature/Steepness:** Determines the quadratic coefficient; lower $\lambda$ increases volatility, making the parabola **steeper and narrower** |
16+
| **Mean Reversion ($\gamma$)** | **0.0100** | **Stability:** The buffer ensures $\lambda + \alpha < 1$, allowing the process to converge to a stationary mean. |
17+
18+
1619

1720
## Simulation Methodology
1821
The simulation generates a synthetic price history using independent paths of **2,500 trading days** each. To eliminate "local path luck" and ensure statistical smoothing, we utilize **2,000 samples** to create a total dataset of **5,000,000 trading days**.
@@ -22,10 +25,10 @@ The simulation generates a synthetic price history using independent paths of **
2225
- **Variance Update (GARCH Logic):**
2326

2427
$$
25-
V_i = \omega + \lambda V_{i-1} + (1 - \lambda - 0.01) \cdot \left( \frac{S_{i-1} - S_{i-2}}{S_{i-2}} \right)^2
28+
V_i = \omega + \lambda V_{i-1} + (1 - \lambda - \gamma) \cdot \left( \frac{S_{i-1} - S_{i-2}}{S_{i-2}} \right)^2
2629
$$
2730

28-
where $\omega = \frac{\sigma^{2}}{252} \cdot (1 - \lambda)$.
31+
Where $\omega = \frac{\sigma^{2}}{252} \cdot (1 - \lambda)$.
2932

3033
- **Price Update:**
3134

@@ -75,6 +78,7 @@ By plotting $R^2$ as a function of total simulated days, we identified a clear t
7578
![Convergence Analysis](convergence_analysis.png)
7679
Figure: $R^2$ score vs. Total Days. The 0.995 threshold is maintained after the 1M-day mark.
7780

81+
7882
## Project Structure
7983
- [price_generator2.ipynb](price_generator2.ipynb): Vectorized simulation and optimization logic.
8084
- [simulated_prices.csv](simulated_prices.csv): 100k days of raw price data for verification.

0 commit comments

Comments
 (0)