Back to Projects

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.