Machine Learning Competition
CSI 300 Portfolio Modeling Challenge
A project for the 2026 China Collegiate Computing Contest Big Data Challenge. It predicts short-horizon returns for CSI 300 candidates and produces a five-stock allocation. The main work was preparing time-aligned features, comparing validation periods, and deciding whether extra models or features improved the result.
Period
Jul 2026
Tools / Tech
PythonPandasLightGBMScikit-learnTusharePytest
Why I built it
I wanted to see whether a model could rank candidates consistently across different market periods, and whether learned portfolio weights helped more than a simple fixed rule.
Links
What it includes
- Builds price, volume, volatility, and market features, with additional experiments using Tushare data.
- Compares models with expanding historical training windows and a gap before validation.
- Evaluates feature additions and fixed versus learned weights; retains a LightGBM model with fixed descending weights for the recorded submission.
What I worked on
- Defined the prediction task and compared models using ranking quality, returns, and drawdown across multiple years.
- Reviewed when each input became available and compared additional feature groups with the original model.
- Used AI-assisted implementation while choosing experiments and reviewing their results; kept later inspected results as diagnostics.
What I Learned
- Learned how evaluation periods can change the apparent value of a model or feature.
- Practiced keeping a simpler solution when additional complexity did not improve results consistently.