Skip to content

soonieboi/quant-basics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quant Basics

Interactive Streamlit curriculum for learning quant trading from first principles.

What this repo contains

  • dashboard.py: Streamlit entrypoint, sidebar, routing
  • pages/: page render modules
  • core/: quant/data logic
  • ui/: styles and reusable UI helpers
  • content/: shared metadata and config
  • README.md: project overview and run instructions
  • SKILL.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

Run locally

From the repo root:

cd /Users/sherms/quant_basics

If you are using the local virtualenv, activate it first:

source venv/bin/activate

Then start the app:

streamlit run dashboard.py

If streamlit is not on your shell path, use:

./venv/bin/streamlit run dashboard.py

The app will usually open at http://localhost:8501 unless that port is already in use.

Install dependencies

If you need to recreate the environment:

python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

Deploy on Railway

This repo is set up for Railway with railway.toml.

Recommended first deploy flow:

  1. Push the repo to GitHub.
  2. In Railway, create a new project and choose Deploy from GitHub repo.
  3. Select this repository.
  4. Railway should detect Python automatically and use the start command from railway.toml.
  5. After the first deploy finishes, open the generated Railway domain and verify the app loads.

Notes:

  • The app listens on 0.0.0.0 and uses Railway's injected PORT.
  • Healthcheck is set to /.
  • If you want AI captions enabled in production, add ANTHROPIC_API_KEY in 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.

Product structure

The home page is intentionally split into three bands:

  • Learn the Path: the 12-phase curriculum
  • Use in Real Trading: workflow from research to deployment
  • Explore 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.

Editing guidelines

  • 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 Families remains separate from the numbered curriculum
  • Keep responsibility split by folder:
    • dashboard.py for app boot and route dispatch
    • pages/ for page bodies
    • ui/ for CSS and reusable render helpers
    • core/ for strategies, metrics, data, and AI helpers
    • content/ 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 / yaxis keys together with PLOTLY_THEME.

Data / dependencies

Core libraries used by the app:

  • streamlit
  • yfinance
  • numpy
  • pandas
  • plotly
  • scipy
  • statsmodels
  • anthropic

Market data is loaded live from Yahoo Finance through yfinance.

CI / CD

The repo now includes GitHub Actions workflows in .github/workflows/:

  • ci.yml
    • installs dependencies from requirements.txt
    • runs py_compile across the app modules
    • runs a lightweight import smoke check
  • dependency-review.yml
    • runs on pull requests to flag risky dependency changes

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages