量化投研与策略评审,属于证券投资、资产管理与金融科技场景。券商研究所金工/自营、私募量化、公募指数增强团队在把新因子或新策略纳入实盘前,都要回答同一个问题:这条回测是真的,还是未来函数、幸存者偏差、成本低估与反复调参的产物。随着量化竞争加剧、超额收益衰减,「能否复现、是否显著」比「曲线好不好看」更重要。现实中研究员各自写脚本,回测口径不统一,样本外检验和多重检验校正常被跳过,评审只能看净值曲线;问题往往在上线后才以回撤的形式暴露。本项目把这一环节做成可复现的「信号尽调」流程,服务于三类场景:①新信号入库前评估,输出扣除真实摩擦后的净值、换手、成本与显著性;②复现外部研报或面试策略,快速定位未来函数与成本假设;③教学与自测,用负结果说明「回测好看」与「统计显著」的差距。目标用户是券商研究所、自营、私募与公募的量化研究员及策略评审人。
系统输入股票池与日期区间,自动完成取数、信号构建、回测与统计验证,输出每个参数组合的净值、年化收益、夏普、换手率、成本与显著性指标。①信号层:内置动量、反转、低波动、高相关价差配对四类信号族,参数网格显式枚举,枚举数直接作为多重检验的试验次数;②回测层:按 A 股真实摩擦撮合,覆盖 T+1 执行口径、主板/创业板/科创板分板块涨跌停拒单、停牌不可交易、佣金/印花税/过户费,并以毛、净双账本精确分离信号边际与成本侵蚀;③验证层:置换检验(穷举 121 个价格面板位移)、5 折 walk-forward、Benjamini-Hochberg FDR/Bonferroni 校正与 Deflated Sharpe;④报告层:一键生成 10 张图表与 Markdown 摘要。与只画净值曲线的回测框架不同,本系统把试验次数和验证层作为核心输入。示例结果:20 个组合中最佳净夏普 +0.51,但 Deflated Sharpe 仅 0.11、FDR 校正后 0/20 显著,等权买入持有反而跑赢全部策略。
个人独立完成。技术栈:Python 3.12、pandas/NumPy/SciPy/statsmodels、SQLite、akshare、matplotlib、pytest。架构分 data/signals/backtest/validate/report 五层,config.yaml 集中管理全部参数,代码不硬编码,保证「试了多少组」可核查。数据层:298 只沪深300成分股 × 2015–2024 日频,62.6 万条股票-日;新浪主源 + 腾讯备源,指数退避重试与 parquet 本地缓存(支持断点续传);SQLite 将「行情事实」与「可交易性判定」分表,便于用 SQL 复核停牌与涨跌停。回测层:t 日收盘生成信号、t+1 开盘执行;封板拒单、停牌前值结转、无交易带;双账本满足「毛净值 − 净净值 ≡ 累计成本」,实测误差 1e-17。验证层:回测与验证共用 pipeline.run_spec(),避免校验对象与回测策略漂移;48 个 pytest,重点覆盖截断不变性、篡改未来数据、成本恒等式与配置静默失效。工程上定位并修复多个不抛异常的静默 bug,其中「非调仓日误清仓」把周频策略压成 1 日持有、换手虚增约 4 倍;修复后全量重跑,结论与图表同步更新。研究流程无随机数,删除 results 重跑结果逐位一致。代码:github.com/wenzhanouyang-sjtu/ashare-signal-lab
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论