Skip to content

cpu23/strategy-research-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Strategy Research Framework

Public-safe tooling for local-first trading strategy research, MT5 backtests, and report review.

This repository contains reusable workflow code, dashboard/report tooling, backtest harness scripts, and architecture notes. It intentionally excludes private alpha, generated backtest reports, raw market data, manual labels, local databases, broker-specific state, and research-session artifacts.

What Is Included

  • scripts/backtest/ - shell harness for compiling EAs, generating MT5 tester configs, running single backtests, collecting exports, and running isolated worker pools.
  • scripts/analysis/ - dashboard/report generation and review helpers for normalized report JSON.
  • docs/ - architecture and operational notes for the review and MT5 worker flow.
  • tests/ - public-safe unit tests where available.

What Is Not Included

  • Raw backtest outputs, trade logs, equity curves, generated dashboards, and screenshots.
  • Local var/, data/, and archive/ contents.
  • Manual annotations, labels, or private review notes.
  • Broker credentials, terminal configs, Wine/MT5 machine state, and local databases.
  • Private strategy research sessions and experiment artifacts.

Dashboard Reports

The dashboard consumes normalized schema-v2 JSON reports from var/reports/dashboard/, but those report files are ignored by Git. You can generate reports locally or upload your own normalized report JSON in the dashboard UI.

The dashboard is a local stdlib Python server with an embedded vanilla-JS frontend using TradingView Lightweight Charts. The main report grid shows downsampled equity curves for speed; expanded asset cards render full-fidelity candles, downsampled equity lines, and entry/exit trade markers. Full SL/TP line overlays are intentionally hidden in expanded asset cards to avoid creating hundreds of chart series for high-trade assets. Review Mode keeps SL/TP overlays enabled because each streak window is small.

Run the dashboard locally:

python3 scripts/analysis/report_dashboard_server.py --host 0.0.0.0 --port 8765

Then open http://127.0.0.1:8765 or http://localhost:8765.

For browser-side timing logs while tuning expanded cards:

localStorage.dashboardPerf = '1';
location.reload();

Disable timing logs with:

localStorage.removeItem('dashboardPerf');
location.reload();

Backtest Harness

Single run:

scripts/backtest/run_backtest.sh experiments/runs/<run_id>.conf

Two-worker pool:

scripts/backtest/run_backtest_pool.sh experiments/runs/<run_list.txt> worker_01 worker_02

The harness writes generated outputs under var/reports/<run_id>/, which is intentionally ignored.

Public Boundary

Treat this repo as reusable infrastructure, not a publication of private strategy edge. Before pushing, keep the public commit curated: source, docs, tests, and schemas only. Generated reports, labels, data, local MT5 state, and private research notes stay out of Git.

About

Public architecture shell for a modular trading research system, focused on experiment structure, reproducibility, and workflow design.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors