You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
guofu cdf6373325
Initial alpha_lab structure\n\n- Notebook-centric experiment framework\n- CTA 1D and Stock 15m tasks\n- Minimal common utilities\n- Manual experiment tracking
3 weeks ago
common Initial alpha_lab structure\n\n- Notebook-centric experiment framework\n- CTA 1D and Stock 15m tasks\n- Minimal common utilities\n- Manual experiment tracking 3 weeks ago
cta_1d Initial alpha_lab structure\n\n- Notebook-centric experiment framework\n- CTA 1D and Stock 15m tasks\n- Minimal common utilities\n- Manual experiment tracking 3 weeks ago
stock_15m Initial alpha_lab structure\n\n- Notebook-centric experiment framework\n- CTA 1D and Stock 15m tasks\n- Minimal common utilities\n- Manual experiment tracking 3 weeks ago
.env.template Initial alpha_lab structure\n\n- Notebook-centric experiment framework\n- CTA 1D and Stock 15m tasks\n- Minimal common utilities\n- Manual experiment tracking 3 weeks ago
.gitignore Initial alpha_lab structure\n\n- Notebook-centric experiment framework\n- CTA 1D and Stock 15m tasks\n- Minimal common utilities\n- Manual experiment tracking 3 weeks ago
README.md Initial alpha_lab structure\n\n- Notebook-centric experiment framework\n- CTA 1D and Stock 15m tasks\n- Minimal common utilities\n- Manual experiment tracking 3 weeks ago
requirements.txt Initial alpha_lab structure\n\n- Notebook-centric experiment framework\n- CTA 1D and Stock 15m tasks\n- Minimal common utilities\n- Manual experiment tracking 3 weeks ago

README.md

Alpha Lab

Quantitative research experiments for qshare library. This repository contains Jupyter notebooks and analysis scripts for exploring trading strategies and machine learning models.

Philosophy

  • Notebook-centric: Experiments are interactive notebooks, not rigid scripts
  • Minimal abstraction: Simple functions over complex class hierarchies
  • Self-contained: Each task directory is independent
  • Ad-hoc friendly: Easy to modify for exploration

Structure

alpha_lab/
├── common/              # Shared utilities (keep minimal!)
│   ├── paths.py         # Path management
│   └── plotting.py      # Common plotting functions
│
├── cta_1d/             # CTA 1-day return prediction
│   ├── 01_data_check.ipynb
│   ├── 02_label_analysis.ipynb
│   ├── 03_baseline_xgb.ipynb
│   ├── 04_blend_comparison.ipynb
│   └── src/            # Task-specific helpers
│
├── stock_15m/          # Stock 15-minute return prediction
│   ├── 01_data_exploration.ipynb
│   ├── 02_baseline_model.ipynb
│   └── src/
│
└── results/            # Output directory (gitignored)
    ├── cta_1d/
    └── stock_15m/

Setup

# Install dependencies
pip install -r requirements.txt

# Create environment file
cp .env.template .env
# Edit .env with your settings

Usage

Start Jupyter and run notebooks interactively:

jupyter notebook

Each task directory contains numbered notebooks:

  • 01_*.ipynb - Data loading and exploration
  • 02_*.ipynb - Analysis and baseline models
  • 03_*.ipynb - Advanced experiments
  • 04_*.ipynb - Comparisons and ablations

Experiment Tracking

Experiments are tracked manually in results/{task}/README.md:

## 2025-01-15: Baseline XGB
- Notebook: `cta_1d/03_baseline_xgb.ipynb` (cells 1-50)
- Config: eta=0.5, lambda=0.1
- Train IC: 0.042
- Test IC: 0.038
- Notes: Dual normalization, 4 trades/day

Adding a New Task

  1. Create directory: mkdir my_task
  2. Add src/ subdirectory for helpers
  3. Create numbered notebooks
  4. Add entry to results/my_task/README.md

Best Practices

  1. Keep it simple: Only add to common/ after 3+ copies
  2. Notebook configs: Define CONFIG dict in first cell for easy modification
  3. Document results: Update results README after significant runs
  4. Git discipline: Don't commit large files, results, or credentials