Factor validation suite: port cross-sectional IC robustness tests (QuantGPT anti_overfit / adversarial_validator)
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
- 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ả
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), vectorizegroupby().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
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của uberdeveloper/fastbt
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
uberdeveloper/fastbt#31 ·
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
uberdeveloper/fastbt#30 ·
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
uberdeveloper/fastbt#28 ·
-
FB-008: close_trade mixes price and tick; stale exits are silent (zero-P&L fallback) [silent-wrong]Đang mởbug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 70/100
uberdeveloper/fastbt#27 ·
-
bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
uberdeveloper/fastbt#26 ·
Tất cả issue của uberdeveloper/fastbt
Issue tương tự
-
customer-reported question
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Azure/azure-sdk-for-python#49548 · 1 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
btclib-org/btclib-wallet#409 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Phase 2 PSA Capability & Career Profile
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
bcgov/digital-journeys#2310 ·
-
bug good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
fastmachinelearning/hls4ml#1582 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Sort modelsĐang mởenhancement good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 1 ngày