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.
37 lines
1.2 KiB
37 lines
1.2 KiB
# CTA 1-Day Return Prediction
|
|
|
|
Experiments for predicting CTA (Commodity Trading Advisor) futures 1-day returns.
|
|
|
|
## Data
|
|
|
|
- **Features**: alpha158, hffactor
|
|
- **Labels**: Return indicators (o2c_twap1min, o2o_twap1min, etc.)
|
|
- **Normalization**: dual (blend of zscore, cs_zscore, rolling_20, rolling_60)
|
|
|
|
## Notebooks
|
|
|
|
| Notebook | Purpose |
|
|
|----------|---------|
|
|
| `01_data_check.ipynb` | Load and validate CTA data |
|
|
| `02_label_analysis.ipynb` | Explore label distributions and blending |
|
|
| `03_baseline_xgb.ipynb` | Train baseline XGBoost model |
|
|
| `04_blend_comparison.ipynb` | Compare different normalization blends |
|
|
|
|
## Blend Configurations
|
|
|
|
The label blending combines 4 normalization methods:
|
|
- **zscore**: Fit-time mean/std normalization
|
|
- **cs_zscore**: Cross-sectional z-score per datetime
|
|
- **rolling_20**: 20-day rolling window normalization
|
|
- **rolling_60**: 60-day rolling window normalization
|
|
|
|
Predefined weights (from qshare.config.research.cta.labels):
|
|
- `equal`: [0.25, 0.25, 0.25, 0.25]
|
|
- `zscore_heavy`: [0.5, 0.2, 0.15, 0.15]
|
|
- `rolling_heavy`: [0.1, 0.1, 0.3, 0.5]
|
|
- `cs_heavy`: [0.2, 0.5, 0.15, 0.15]
|
|
- `short_term`: [0.1, 0.1, 0.4, 0.4]
|
|
- `long_term`: [0.4, 0.2, 0.2, 0.2]
|
|
|
|
Default: [0.2, 0.1, 0.3, 0.4]
|