v0.2.3 - Daily 213-Factor Validation Dashboard
This patch release promotes the daily AkShare CSI 300 full-factor validation into a first-class dashboard entry. It keeps the project validation-first: this is a public-data approximation with transaction costs, not an exact paper reproduction or investment claim.
Highlights
- Added a README Validation Dashboard so the latest maintained public-data snapshot is visible from the project homepage.
- Added
docs/validation_dashboard.mdas a stable dashboard entry point for the daily 213-factor validation result, interpretation, caveats, and acknowledgements. - Added the daily full-factor AkShare CSI 300 validation path in
scripts/akshare_csi300_full_pipeline.py. - Updated package metadata to
0.2.3.
Validation Snapshot
The maintained public run uses current CSI 300 constituents, daily AkShare A-share data from 2021-01-04 to 2024-12-31, and the full 213-factor library.
At 7 bps effective cost:
| strategy | ann_return | sharpe | max_dd | turnover | cost_drag | final_equity |
|---|---|---|---|---|---|---|
| equal_weight_daily | 17.75% | 0.882 | 25.76% | 0.0010 | 0.13% | 1.8744 |
| factor_mean_daily | 15.80% | 0.701 | 32.51% | 0.3627 | 49.16% | 1.7579 |
| factor_mean_buffered_daily | 22.20% | 0.919 | 27.76% | 0.1397 | 18.94% | 2.1616 |
The useful lesson is cost-aware: the naive daily factor signal has positive gross evidence, but excessive turnover consumes much of the edge. The buffered daily factor rule still evaluates scores daily while reducing unnecessary churn, allowing the factor portfolio to beat equal weight after costs in this public-data run.
Acknowledgements
Thanks to @redamancy231-create for contributing the AkShare zero-auth A-share data loader in PR #42. That data path made the CSI 300 public validation workflow possible without account registration. Thanks also to the AkShare project and maintainers for public Python access to A-share market data.
Caveats
- This is not an exact paper reproduction; the paper data is not redistributed.
- The run uses current CSI 300 membership resolved from public endpoints, not historical point-in-time membership.
- The public AkShare path lacks industry, size, liquidity, beta, and production execution metadata.
- Results are research diagnostics, not investment advice or live-trading evidence.
Verification
pytest tests/test_akshare_csi300_full_pipeline.py tests/test_akshare.py tests/test_public_data_validation.pygit diff --check