Interactive Streamlit curriculum for learning quant trading from first principles.
dashboard.py: Streamlit entrypoint, sidebar, routingpages/: page render modulescore/: quant/data logicui/: styles and reusable UI helperscontent/: shared metadata and configREADME.md: project overview and run instructionsSKILL.md: repo-local maintenance notes for future edits
The app currently includes:
- 12 numbered learning phases
- 1 separate atlas page:
◆ Quant Algo Families - sidebar navigation, home-page curriculum cards, and bottom next/previous navigation
- optional Anthropic-powered chart captions
From the repo root:
cd /Users/sherms/quant_basicsIf you are using the local virtualenv, activate it first:
source venv/bin/activateThen start the app:
streamlit run dashboard.pyIf streamlit is not on your shell path, use:
./venv/bin/streamlit run dashboard.pyThe app will usually open at http://localhost:8501 unless that port is already in use.
If you need to recreate the environment:
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txtThis repo is set up for Railway with railway.toml.
Recommended first deploy flow:
- Push the repo to GitHub.
- In Railway, create a new project and choose
Deploy from GitHub repo. - Select this repository.
- Railway should detect Python automatically and use the start command from
railway.toml. - After the first deploy finishes, open the generated Railway domain and verify the app loads.
Notes:
- The app listens on
0.0.0.0and uses Railway's injectedPORT. - Healthcheck is set to
/. - If you want AI captions enabled in production, add
ANTHROPIC_API_KEYin the Railway service variables. - For now, deploy manually from GitHub integration first. Add GitHub Actions deploy automation only after the first Railway deploy is stable.
The home page is intentionally split into three bands:
Learn the Path: the 12-phase curriculumUse in Real Trading: workflow from research to deploymentExplore the Field: strategy-family overview plus atlas link
The numbered phases are the curriculum. The atlas page is reference material, not part of the sequential path.
- Keep the app as a Streamlit-first product unless there is a strong reason to split docs/frontend out later.
- Preserve the current page model:
- numbered phases are sequential learning modules
◆ Quant Algo Familiesremains separate from the numbered curriculum
- Keep responsibility split by folder:
dashboard.pyfor app boot and route dispatchpages/for page bodiesui/for CSS and reusable render helperscore/for strategies, metrics, data, and AI helperscontent/for shared metadata/constants
- When changing navigation, keep sidebar, home cards, query-param routing, and bottom nav in sync.
- When changing Plotly layouts, avoid passing duplicate
xaxis/yaxiskeys together withPLOTLY_THEME.
Core libraries used by the app:
streamlityfinancenumpypandasplotlyscipystatsmodelsanthropic
Market data is loaded live from Yahoo Finance through yfinance.
The repo now includes GitHub Actions workflows in .github/workflows/:
ci.yml- installs dependencies from
requirements.txt - runs
py_compileacross the app modules - runs a lightweight import smoke check
- installs dependencies from
dependency-review.yml- runs on pull requests to flag risky dependency changes