本项目基于 A 股新能源锂电产业链股票池,构建动量、估值、成长、盈利质量、低波动和相对强弱等多维因子,使用 Rank IC / ICIR 评估因子有效性,并进一步构建 ICIR 加权多因子选股策略、行业 CTA 趋势择时策略,以及“多因子选股 + CTA 仓位控制”的融合增强策略。
This project studies a China A-share new-energy lithium battery industry universe. It builds a multi-factor dataset covering momentum, valuation, growth, profitability, low-volatility, and relative-strength signals, evaluates factors with Rank IC / ICIR, and then tests three strategy layers: an ICIR-weighted multi-factor stock-selection strategy, a CTA-style moving-average trend overlay, and a fused multi-factor plus CTA position-control strategy.
The public README only includes summary statistics from the research report. Raw data and generated result files are intentionally excluded.
| Item | Result |
|---|---|
| Stock universe | 20 A-share lithium battery industry leaders |
| Final sample period | 2023-04-04 to 2025-12-31 |
| Final daily observations | 10,782 |
| Best factor by ICIR | 20D low-volatility, ICIR 0.4607 |
| Momentum finding | 20D momentum ICIR -0.2019, suggesting short-term reversal |
| Best CTA parameter set | MA10 / MA30 |
| Multi-factor + CTA switch total return | 81.02% |
| Multi-factor + CTA switch annual return | 25.13% |
| Multi-factor + CTA switch Sharpe | 0.95 |
| Multi-factor + CTA switch max drawdown | -24.75% |
| Equal-weight lithium benchmark total return | -3.39% |
The core research takeaway is that lithium stocks in this sample were not well suited to naive momentum chasing. Low volatility, gross margin, net profit growth, and valuation repair signals were more useful for stock selection, while the CTA trend overlay helped reduce industry beta exposure during downtrends.
For a longer report-style summary, see docs/research_report.md.
- Chinese: 新能源锂电行业与CTA增强策略研究
- English: New Energy Lithium Industry and CTA-Enhanced Strategy Research
- Suggested repository slug:
new-energy-lithium-cta-enhancement
- Build the master factor dataset from Tushare market, valuation, and financial data.
- Run Rank IC / ICIR analysis for candidate factors.
- Backtest an ICIR-weighted multi-factor stock-selection strategy.
- Backtest a CTA trend strategy on the equal-weight lithium industry index.
- Fuse multi-factor stock selection with CTA trend-based exposure control.
new_energy_lithium_cta_enhancement/
README.md
.env.example
.gitignore
requirements.txt
pyproject.toml
docs/
github_release_checklist.md
research_report.md
research_design.md
src/
lithium_cta/
__init__.py
backtest.py
config.py
data_fetch.py
factors.py
ic_analysis.py
metrics.py
scripts/
01_build_master_dataset.py
02_factor_ic_analysis.py
03_icir_multifactor_backtest.py
04_cta_trend_strategy.py
05_fusion_multifactor_cta.py
data/
.gitkeep
outputs/
.gitkeep
tests/
test_factors.py
test_metrics.py
Raw data and generated research outputs are not included in this repository.
data/is for local raw and processed data.outputs/is for local backtest results, Excel reports, and charts.- Both directories are ignored by Git except their
.gitkeepplaceholders. - Tushare credentials must be provided through environment variables, not hard-coded in source code.
cd new_energy_lithium_cta_enhancement
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txtSet your Tushare token:
$env:TUSHARE_TOKEN="your_tushare_token_here"Build the master dataset:
python scripts/01_build_master_dataset.pyRun factor IC analysis:
python scripts/02_factor_ic_analysis.pyRun the ICIR-weighted multi-factor backtest:
python scripts/03_icir_multifactor_backtest.pyRun the CTA trend strategy:
python scripts/04_cta_trend_strategy.pyRun the fused multi-factor + CTA strategy:
python scripts/05_fusion_multifactor_cta.pyBefore publishing this project, review:
- Initialize Git from inside
new_energy_lithium_cta_enhancement, not from the parent research folder. - No API token is present in source code, Markdown files, commit history, or logs.
- No raw CSV/XLSX data files are staged.
- No generated backtest output files are staged unless intentionally shared.
README.md,.gitignore,.env.example, andrequirements.txtare included.- Public release is acceptable after secrets, raw data, and generated outputs are excluded.
- The default universe is a hand-picked lithium battery industry stock pool, so it may contain survivorship and selection bias.
- Factor validity depends on data quality, reporting-date alignment, transaction-cost assumptions, and sample size.
- Backtests are simplified research simulations and do not model all real-world execution constraints.
This project is for quantitative research, learning, and engineering practice only. It does not constitute investment advice. Any strategy or signal should be validated with stricter data controls, out-of-sample tests, transaction-cost modeling, and risk review before real-world use.