Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Factor validation suite: port cross-sectional IC robustness tests (QuantGPT anti_overfit / adversarial_validator)

Đang mở
#17 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
pandas, python
Lĩnh vực
data, testing-qa

Hướng nghiên cứu

Start by reading the statistical-testing skill and the two linked QuantGPT files, quantgpt/anti_overfit.py and quantgpt/adversarial_validator.py, to map the proposed tests and differences. The issue calls for a separate capability for cross-sectional factor panels, with deduplicated tests, translated scoring bands, configurable randomness, and faster permutation loops. Done means defining that capability and covering the listed tests; the issue does not name target files or tests in this repository.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement

Context

While porting robustness-test ideas from QuantGPT (quantgpt/anti_overfit.py, quantgpt/adversarial_validator.py) into the statistical-testing skill, several tests could not be ported because they fundamentally require cross-sectional factor panel data (trade_date, stock_code, factor_value, daily_ret), not a single strategy return series (date + returns).

This issue tracks the unported remainder as a future factor-validation capability.

Unported tests

Test Why it doesn't port What it needs
IC half-life estimation (fit IC(t) = a·exp(-b·t) across forward periods 1/2/5/10/20/40d; pass: half-life > 5d) IC decay across horizons is a cross-sectional construct; no returns-series analog Factor panel data; scipy.optimize.curve_fit
Absolute IC thresholds (|IC| ≥ 0.02) Factor-magnitude-specific; meaningless for strategy returns If ever ported, use effect-size-relative criteria instead of absolute thresholds
Label permutation / random universe / noise injection on factor values (full-strength versions) Ported versions (sign-flip, block-bootstrap, parameter-plateau) are weaker analogs Factor panel data

Proposed design

  • New standalone capability (separate skill or module), NOT folded into statistical-testing (different data model, different routing intent).
  • Merge both QuantGPT files but dedupe: label permutation ≈ factor permutation (symmetric for Spearman IC) → ~7 distinct tests: IC stability, regime stress, permutation/placebo, time-shift decay, half-life, random universe, noise injection.
  • Fixes needed vs upstream: translate Chinese strings, unify the two scoring bands (通过/基本通过/存疑/高风险 vs 推荐/谨慎/需改进/不推荐), parameterize RandomState(42), vectorize groupby().apply() permutation loops (slow on large panels).
  • Scoring bands (translated): ≥80 PASS / 60–79 CAUTION / 40–59 DOUBTFUL / <40 HIGH-RISK.

Sources

Ngôn ngữ chính
Python
Star
28
Fork
17
Merge trung bình
8 giờ 50 phút
Pull request đã merge (30 ngày)
2

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của uberdeveloper/fastbt

Tất cả issue của uberdeveloper/fastbt

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.