top of page

NVIDIA Stock Price Volatility Forecasting using EGARCH and XGBoost

Daily prices may be noisy but volatility is less so. This project focuses on forecasting how much NVDA is likely to move tomorrow using an EGARCH baseline model as well as an XGBoost hybrid model. It also considers two strategies and how they perform using forecasted volatility targets.

NVIDIA is a stock that moves fast, often for reasons that only make sense in hindsight. Instead of trying to predict next-day direction, this project focuses on a more practical question: 


How much is NVDA likely to move tomorrow?


I built a hybrid pipeline that combines an econometric volatility model with machine learning to capture both time-series behavior and non-linear patterns.


The project investigates whether next-day volatility for NVDA can be forecasted more reliably than next-day returns or direction, and if those forecasts can be used for practical risk decisions? I also test whether using EGARCH as a baseline, then feeding its signals into XGBoost alongside engineered market features, improves volatility estimates.


I used daily OHLCV data for NVDA (Yahoo Finance), spanning roughly 1999 to the present. The long history covers multiple market regimes, which matters because volatility behaves differently in calm periods versus shock periods.


Data transformation and model methods

I engineered features that reflect how markets actually move day-to-day: returns, intraday range, overnight gaps, rolling statistics, lagged effects, and volume behavior. I then fit an EGARCH(1,1) model to capture volatility clustering and asymmetry, and used its outputs as additional signals for an XGBoost model that learns non-linear interactions across the full feature set. I trained separate models for return, direction, and absolute return (as a volatility proxy), prioritizing time-ordered evaluation to avoid leakage.


Results and conclusions

It’s far easier to forecast how turbulent tomorrow might be than to confidently forecast which way the price will go. From a business lens, that’s still valuable, because volatility forecasts support decisions that matter in real life: when to take risk, when to reduce exposure, and how to size positions rather than blindly “buy/sell” off a directional guess. In other words, the model behaves more like a risk radar than a profit button.


Strategically, this type of forecasting is most useful as a layer in a broader decision process. It can help teams set risk limits, adjust thresholds for actions (like widening or tightening tolerances), and identify “high-noise” regimes where it’s smarter to wait for clarity. We can't beat the market daily, but we can be more disciplined about when not to overreact, and how to allocate attention and capital when conditions become unstable.


My personal takeaways

This project hammered home a useful rule: daily direction is usually noise, but volatility has structure you can model. Combining EGARCH with XGBoost felt like a practical blend of finance intuition and ML pattern-finding, and the most valuable outcome was seeing how volatility forecasts can inform real decisions like position sizing, stop widths, and when it’s smarter to step aside in high-noise regimes.


It was also my first real personal experiment with financial data and modeling, which was honestly a bit intimidating since I don’t come from a finance heavy background. That was the point, though. There’s plenty of room to improve this work, like forecasting volatility over longer horizons (for example, 5–20 day windows) and tightening the evaluation with more walk-forward testing and trading frictions. For me, this was about getting my hands dirty and building intuition, and I’m excited to keep pushing it further.


Check out the full project on my GitHub here!

bottom of page