Skip to content
View NasdormML's full-sized avatar

Block or report NasdormML

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
NasdormML/README.md

👋 Hi, I’m Herman

CodeWarsBagde

I’m a Junior Data Scientist passionate about time series forecasting and financial market analytics. I build end‑to‑end ML pipelines—from data ingestion and feature engineering to model deployment—for real‑world problems on MOEX.


🌟 Spotlight: Moex_predict

Moex_predict is my flagship project, forecasting Moscow Exchange blue‑chip stocks (SBER, GAZP, LKOH) with cutting‑edge Transformer architectures and rigorous hyperparameter tuning.

  • Performance: MAPE 0.90%, MaxErr 24.7 RUB on hold‑out SBER data
  • Features engineered: RSI, MACD, Bollinger Bands, ATR, log‑returns, volatility, SMA
  • Modeling: Encoder‑only Transformer with positional embeddings, ensemble strategies
  • Optimization: Optuna study targeting 95th percentile error
  • Data handling: Robust MOEX API pagination, caching, and preprocessing
  • Deployment-ready: FastAPI endpoint serving live predictions

🔧 Tech Stack & Badges

Python PyTorch Optuna scikit-learn Pandas NumPy Matplotlib Requests FastAPI


🏆 Key Projects

🎯 Moex_predict

Forecasting MOEX blue-chip stocks (SBER, GAZP, ROSN) using Transformer models with advanced feature engineering and hyperparameter tuning.

  • Performance: MAPE 0.90%, MaxErr 24.7 RUB (SBER)
  • Features: RSI, MACD, Bollinger Bands, ATR, log-returns, volatility, SMA
  • Model & Optimization: Encoder-only Transformer, Optuna tuning on 95th percentile error, ensembling
  • Deployment: FastAPI service with Docker

🔢 Store Sales Forecasting

Retail sales forecasting for a major retailer using XGBoost and Optuna.

  • Performance: RMSLE 0.7509 (Top 450 on Kaggle)
  • Tech: Python, XGBoost, Optuna, TimeSeriesSplit
  • Impact: Improved demand planning and inventory management

🚀 My Workflow

  1. Data Ingestion & Cleaning: MOEX API pagination, missing‑value handling, caching raw data
  2. Feature Engineering: Technical indicators and statistical metrics for robust signal extraction
  3. Model Development: Transformer encoder with attention, custom positional encoding, fine‑tuned via Optuna
  4. Ensembling & Calibration: Combine multiple model seeds and architectures, quantile‑based aggregation
  5. Evaluation & Monitoring: Time‑series cross‑validation, custom loss for tail‑error minimization
  6. Deployment: FastAPI microservice for real‑time inference, Dockerized for scalability

🎯 Next Steps

  • Dive into Temporal Fusion Transformers (TFT) for multi‑horizon forecasting
  • Experiment with Informer and Reformer for long sequence efficiency
  • Integrate real‑time market data streams and sentiment features
  • Expand ensemble with Gaussian Process and Bayesian Neural Nets for uncertainty quantification

📬 Let’s Connect


“Perfection is not attainable, but if we chase perfection we can catch excellence.” – Vince Lombardi

Pinned Loading

  1. Moex_predict Moex_predict Public

    Next 5 days ticker closing price forecast.

    Python

  2. RL_moex RL_moex Public

    Beta RL agent for Moex_predict

    Python

  3. Store_Sales_Forecasting Store_Sales_Forecasting Public

    Time Series Forecasting

    Jupyter Notebook

  4. House_Price_Prediction House_Price_Prediction Public

    House Price Predict task

    Jupyter Notebook