A Python-based quantitative research workstation for trading-rule exploration, setup-combination mining, machine-learning model training, time-series experimentation, walk-forward validation, and offline forward-test analysis on structured market datasets.
The project is designed as a research and validation environment, not as a broker-connected execution platform. It focuses on repeatable experimentation, model comparison, out-of-sample evaluation, and research workflow organization.
This repository is intended for portfolio, documentation, and selected non-sensitive research infrastructure disclosure.
Private datasets, proprietary model artifacts, live execution modules, and production trading infrastructure are intentionally excluded.
- Overview
- Research Objective
- Core Capabilities
- Trading Rule Mining Workspace
- Machine Learning Dashboard
- Forward Test Lab
- Typical Research Workflow
- Architecture Summary
- Screenshots
- Technology Stack
- Requirements
- Repository Structure
- Repository Scope
- Typical Outputs
- Related Projects
- Risk Disclaimer
- Status
- Author
Quant Research Workstation is a desktop research environment for building, testing, and comparing quantitative trading ideas using historical or exported CSV-based market datasets.
The workstation connects multiple research stages into a single workflow:
- dataset loading and column inspection;
- trading-rule and setup-combination exploration;
- FP-Growth, ECLAT, greedy, and genetic search workflows;
- classical machine-learning model training;
- CatBoost classification, regression, and gate/regime workflows;
- deep time-series model experimentation;
- walk-forward and time-aware validation controls;
- offline forward testing on unseen datasets;
- model comparison, diagnostics, reporting, and production-readiness review.
The main objective is to reduce the gap between exploratory trading research and structured validation. Instead of keeping setup discovery, feature engineering, ML training, and forward testing in disconnected notebooks or one-off scripts, the workstation organizes them into a repeatable research interface.
The workstation is built around the following practical goals:
- make trading-rule research easier to repeat and audit;
- compare setup combinations under consistent assumptions;
- evaluate engineered features with both rule-based and model-based methods;
- support time-aware validation instead of random train/test splitting on sequential market data;
- provide a unified interface for CatBoost, classic ML, and time-series model experiments;
- support offline forward testing before any idea is promoted into execution infrastructure;
- separate research and validation from live trading, broker connectivity, and order management.
This makes the project suitable for quantitative strategy research, ML-assisted signal development, feature discovery, and model-selection workflows.
The workstation starts from structured datasets, typically CSV exports containing market-derived features, timeframe columns, signal fields, reward/return labels, or setup-combination data.
Supported research-preparation controls include:
- dataset selection;
- combinations-file loading;
- output-folder selection;
- save/load settings workflow;
- column refresh and feature selection;
- selected-value and unique-value controls;
- filtered-data toggle;
- timeframe toggles such as H1, M30, M15, M5, and M1;
- dynamic population and generation options for setup exploration.
This preparation layer is important because quantitative trading datasets are often sensitive to leakage, column misalignment, target contamination, and inconsistent filtering.
The workstation includes discovery tools for exploring candidate rule combinations before committing to model training.
Research workflows include:
- feature and metrics selection across multiple market-state groups;
- timeframe-aware condition selection such as H1, M30, M15, M5, and M1;
- directional condition groups for momentum, speed, acceleration, structure, order flow, and liquidity behavior;
- FP-Growth;
- ECLAT;
- greedy search;
- genetic search;
- min-count and min-percentage filters;
- reward filters;
- combination-length constraints;
- setup-navigation workflows;
- buy/sell rule inspection;
- count, percentage, mean, and reward-distribution review;
- saved checkpoint and resume-oriented workflow design.
These tools help identify recurring condition clusters, directional tendencies, setup candidates, and possible feature groups worth validating with stricter model-based or forward-test procedures.
The CatBoost workspace is designed for structured tabular experiments on engineered trading features.
Supported experiment types include:
- CatBoost classification;
- CatBoost regression;
- gate/regime classification workflows;
- preset-based configuration;
- task-specific loss and evaluation metrics;
- classification metrics such as Logloss, TotalF1, AUC, and related scoring controls;
- regression metrics such as MAE and related evaluation controls;
- GPU/CPU task selection;
- early stopping;
- time split;
- train-only vocabulary options;
- embargo-row configuration;
- categorical, CTR, and quantization controls;
- sampling, bootstrap, and regularization controls.
This part of the workstation is useful when evaluating whether engineered feature sets carry predictive value for classification, regression, or gate/regime filtering tasks.
The Classic ML panel provides a structured interface for baseline and ensemble model comparison.
Supported model families include:
- Logistic Regression;
- Random Forest;
- XGBoost;
- LightGBM;
- Gradient Boosting;
- SVM / SVR;
- additional scikit-learn compatible workflows where applicable.
The panel exposes model-specific controls such as:
- cross-validation split count;
- classification and regression scoring metrics;
- random-state configuration;
- sweep count and sweep seed;
- parallel-search job controls;
- logistic/linear model settings;
- tree-depth and estimator grids;
- XGBoost objective, booster, binning, depth, learning-rate, and regularization controls;
- LightGBM objective, metric, leaf, depth, subsample, and boosting controls;
- SVM/SVR kernel, gamma, tolerance, cache, probability, and shrinking controls.
This gives the research process a practical benchmark layer before moving to more complex time-series or deep-learning workflows.
The Time-Series panel is designed for sequential modeling experiments where windowed historical context, temporal ordering, and walk-forward validation are important.
Supported model families and experiment types include:
- TSMixer;
- DLinear;
- Transformer Encoder;
- GRU;
- ResNet1D;
- TCN;
- NLinear;
- LSTM with attention;
- NeuralForecast-style model families such as PatchTST, TFT, NHITS, iTransformer, TimesNet, and related architectures where available.
Configurable parameters include:
- window length;
- forecast horizon;
- stride;
- number of epochs;
- batch size;
- learning rate;
- weight decay;
- gradient clipping;
- walk-forward split count;
- validation-window length;
- embedding dimensions;
- model-specific architecture sweep lists;
- class-balancing and focal-loss controls;
- classification/backtest threshold settings;
- normalization and embedding toggles.
This layer is intended for testing whether temporal feature structure improves predictive behavior beyond tabular static models.
The workstation treats validation as a core part of the research workflow rather than an afterthought.
Validation concepts supported by the interface include:
- sequential splits;
- time split controls;
- embargo rows;
- walk-forward split configuration;
- validation-window controls;
- train-only vocabulary protection;
- leakage-aware research design;
- last-fold and out-of-sample style testing;
- separate forward-test evaluation on external CSV datasets.
These controls are especially important in trading research, where random shuffling can produce misleading results if temporal ordering and leakage are ignored.
The rule-mining workspace is designed to make market-condition research more structured before model training begins. Instead of selecting features blindly, the interface allows candidate metrics, timeframe conditions, and directional state labels to be inspected and combined into testable setup definitions.
The workflow supports both manual and automated exploration:
- manual selection of market-state metrics and categorical condition values;
- H1/M30/M15/M5/M1 condition grouping where applicable;
- greedy search for incremental setup-combination discovery;
- genetic search for wider candidate-space exploration;
- buy/sell rule navigation across discovered setup candidates;
- visual review of rule counts, directional percentages, mean reward behavior, and reward distribution;
- progress tracking for long-running search procedures.
This layer acts as the bridge between raw engineered features and later ML validation. Candidate rules discovered here can be used as standalone research outputs, feature groups for model training, or comparison candidates inside the Forward Test Lab.
The Machine Learning Dashboard provides a unified control surface for multiple modeling families.
Its main tabs include:
- CatBoost — classification, regression, gate/regime training, CTR/quantization, sampling, bootstrap, and GPU-aware controls;
- Time-Series — sequence-model configuration, walk-forward optimization, architecture sweeps, and deep time-series model selection;
- Classic ML — baseline and ensemble workflows across Logistic Regression, Random Forest, XGBoost, LightGBM, Gradient Boosting, and SVM/SVR;
- Forward / Tools — model export, integration preparation, and downstream evaluation utilities.
This structure makes the workstation useful for comparing several modeling approaches under one consistent research interface.
The Professional Forward Test Lab is an offline evaluation workspace for applying trained models, candidate setups, or score columns to separate datasets.
It is designed to support model and setup review after the training phase.
Forward-test capabilities include:
- model-file selection;
- metadata JSON loading;
- forward CSV loading;
- signal/reward/time/score column configuration;
- decision-mode configuration;
- long/short direction controls;
- buy/sell probability thresholds;
- regression threshold settings;
- class mapping;
- risk/export configuration;
- equity and drawdown chart areas;
- score-distribution and signal-mix visualization areas;
- candidate-model comparison;
- model ranking by configurable metrics;
- exportable comparison results.
The Forward Test Lab includes a large set of internal tabs for research review and operational readiness analysis, including:
- charts;
- metrics;
- trades/predictions;
- log;
- validation/schema;
- backtest engine;
- optimizer / WFO;
- diagnostics;
- calibration;
- compare runs;
- model metadata;
- time-series integration;
- engine/legacy checks;
- run profiles;
- QA / maintenance;
- label factory / leakage review;
- model report card;
- model compare;
- ensemble builder;
- production guard;
- session/results.
This module is not a live execution engine. It is intended to evaluate model behavior, thresholds, risk assumptions, and out-of-sample robustness before any idea is connected to an execution-side system.
A typical end-to-end cycle may look like this:
- Load a historical market dataset or exported research CSV.
- Select relevant columns, timeframes, labels, targets, and reward fields.
- Apply filters and prepare the working dataset.
- Explore setup candidates using FP-Growth, ECLAT, greedy search, or genetic search.
- Select candidate features or setup combinations for validation.
- Train CatBoost, classic ML, or time-series models.
- Configure time-aware validation, walk-forward splits, and embargo settings.
- Compare model outputs, metrics, logs, and saved artifacts.
- Apply selected models or outputs to unseen forward-test datasets.
- Review threshold behavior, equity/drawdown curves, score distribution, signal mix, and comparison tables.
- Export results for documentation, deeper analysis, or downstream integration.
At a high level, the workstation can be viewed as a layered research system:
CSV / Research Dataset
↓
Column Selection / Filtering / Label Configuration
↓
Rule Mining / Setup Discovery
↓
Feature Set Construction
↓
CatBoost | Classic ML | Time-Series Models
↓
Time-Aware Validation / WFO / Embargo Controls
↓
Forward Test Lab
↓
Reports / Artifacts / Comparisons / Exported Results
The design keeps research stages explicit. Candidate ideas are generated, converted into model-ready datasets, tested with time-aware validation procedures, and then reviewed through forward-test diagnostics and comparison tools.
The main research interface brings together dataset loading, setup-combination search, rule mining, CatBoost training, time-series experiments, classic ML workflows, and forward-test access.
The metrics-selection panel exposes timeframe-aware market-state features and categorical condition values used for rule discovery, filtering, setup-combination search, and later ML feature-group construction.
The greedy-search workflow evaluates candidate condition combinations incrementally and displays progress while setup candidates are being discovered.
The setup-navigation view compares generated buy and sell rules, including counts, directional percentages, mean reward behavior, and reward-distribution plots for discovered setup candidates.
The CatBoost workspace supports classification, regression, and gate/regime workflows with configurable objectives, metrics, early stopping, split settings, CTR/quantization, sampling, bootstrap, and regularization controls.
The Time-Series panel provides sequence-model controls for window size, horizon, stride, WFO splits, validation windows, architecture selection, hyperparameter sweeps, normalization, embedding options, and CUDA/GPU execution.
The Classic ML workspace provides global search controls, model selection, scoring configuration, and model-family-specific settings for baseline and ensemble experimentation.
Additional Classic ML controls expose detailed configuration for XGBoost, LightGBM, GradientBoosting, and SVM/SVR model families.
The Forward Test Lab is used for offline model evaluation, CSV-based forward testing, chart review, threshold configuration, diagnostics, reporting, and result export.
The model-comparison view supports candidate ranking, configurable metrics, comparison equity curves, summary tables, and exportable model-selection results.
Representative technologies used across the workstation include:
- Python;
- pandas;
- NumPy;
- scikit-learn;
- CatBoost;
- XGBoost;
- LightGBM;
- PyTorch;
- NeuralForecast-style time-series workflows;
- Matplotlib;
- desktop UI components based on Python GUI tooling.
Depending on the public scope of the repository, not every internal module, private dependency, dataset, or production integration component may be included.
Typical local requirements include:
- Python 3.10 or newer;
- Windows or another desktop environment capable of running the UI stack;
- sufficient RAM for the dataset size and model experiments being used;
- optional GPU support for deep-learning and time-series experiments;
- installed dependencies matching the exposed public modules.
Exact installation steps may vary depending on which components are included in the public repository release.
Suggested public repository structure:
quant-research-workstation/
├── README.md
├── LICENSE
├── .gitignore
└── docs/
├── architecture.md
├── sample-output.md
└── screenshots/
├── main-studio.png
├── metrics-h1.png
├── greedy-search-progress.png
├── genetic-setup-navigation.png
├── catboost-dashboard.png
├── time-series-dashboard.png
├── classic-ml-dashboard.png
├── classic-ml-models.png
├── forward-test-lab.png
└── model-compare.png
If this repository is used as a portfolio disclosure, source code, datasets, trained models, and production integration files may be excluded or replaced with documentation and screenshots.
This repository represents a research and validation workstation.
- trading-rule research;
- setup-combination exploration;
- association-rule mining;
- FP-Growth and ECLAT workflows;
- greedy and genetic search workflows;
- CatBoost training;
- classic ML model comparison;
- deep time-series experimentation;
- walk-forward and time-aware validation;
- offline forward testing;
- model diagnostics and comparison;
- research reporting and artifact export.
- broker connectivity;
- live order routing;
- live trade execution;
- account management;
- exchange connectivity;
- production portfolio management;
- real-money trading automation;
- proprietary private datasets;
- full internal research infrastructure.
Research and validation runs may produce outputs such as:
- filtered datasets;
- setup-combination tables;
- discovered buy/sell rule candidates;
- rule-count and percentage summaries;
- reward-distribution review artifacts;
- model files;
- metadata JSON files;
- prediction CSV files;
- forward-test reports;
- equity and drawdown charts;
- score-distribution summaries;
- signal-mix summaries;
- model-comparison tables;
- experiment logs;
- leaderboard-style result files;
- exported run folders for later review.
This workstation is part of a broader algorithmic-trading research and execution ecosystem.
Related public portfolio repositories may include:
- multi-asset-trading-system-architecture
- SMC-Pro-for-MetaTrader
- SignalFileTrader-PRO-for-MetaTrader
- hybrid-setup-comparison-dashboard
- Currency-Strength-Position-Management-Dashboard
A portfolio-safe, clean-room demonstration of the workstation interface is available in the demo/ directory.
The demo uses synthetic data and does not include private datasets, proprietary research logic, trained models, credentials, broker connectivity, or production execution components.
Nothing in this repository is financial advice, investment advice, trading advice, or a guarantee of future performance.
All tools, descriptions, screenshots, experiments, models, reports, and outputs are provided strictly for research, validation, documentation, and educational review. Historical performance, forward-test behavior, model scores, or simulated results do not guarantee live trading performance.
Active research and development.
The public repository may evolve over time as selected components are documented, reorganized, refined, or released in a non-sensitive form.
Maintained by Hamid Haddadian
GitHub: @smcalgotrading










