内容提要
YASS是开源股票筛选与回测框架,采用YAML配置策略和点时间数据避免未来函数,集成蒙特卡洛分析等工具。作者通过九年数据展示夏普比率置信区间0.37-1.38,强调回测结果充满噪声,仅为点估计而非承诺。项目支持插件化和实盘集成,提醒投资者勿轻信回测数字。
延伸解读
置信区间:回测结果的真实度量
YASS示例策略的夏普比率点估计看似不错,但90%置信区间为0.37至1.38,跨度近四倍。这意味着同一策略在不同采样下表现差异巨大,点估计可能误导投资者。理解置信区间比关注单一数字更重要,它揭示了回测结果的不确定性。
未来函数:回测中的隐形偏差
许多回测工具会无意中使用未来数据,导致结果虚高。YASS采用点时间数据,确保每次决策仅基于当时已知信息,避免未来函数。投资者在评估回测时,应确认数据是否经过点时间处理,否则结果可能失真。
样本外检验:验证策略稳健性的关键
YASS集成了样本外检验(Walk-Forward),通过滚动窗口验证策略在不同时间段的表现。这比单一历史回测更能反映策略的真实有效性。投资者应关注策略是否经过样本外检验,而非仅依赖历史拟合结果。
实盘跟踪:回测与现实的桥梁
YASS的track命令对比实际账户收益与模型收益,提供真正的样本外检验。这提醒投资者,回测只是起点,实盘表现才是最终验证。持续跟踪并对比回测与实盘差异,有助于调整策略并管理预期。
Q&A
YASS是什么?它有哪些核心功能?
YASS(Yet Another Stock Screener)是一个开源的股票筛选与回测框架,用户通过修改YAML配置文件来定义和回测量化策略,无需编写核心代码。核心功能包括:无代码配置、点时间数据避免未来函数、集成蒙特卡洛分析、因子归因、样本外检验等评估工具,插件化架构支持自定义信号,使用DuckDB、Polars和Arrow进行高效数据处理,并支持Alpaca和eToro等实盘交易接口。
什么是未来函数?YASS如何避免它?
未来函数指在回测中使用了当时尚未公开的数据,比如用2026年的财报数据来模拟2020年的决策,导致回测结果虚高。YASS采用点时间(Point-in-Time)数据,每次回测只使用该日期之前已公开的信息,确保决策基于当时可知的数据,从而避免未来函数带来的偏差。
YASS作者用九年数据展示了夏普比率的什么真相?
YASS作者用2017至2026年共108个月度收益率数据,通过平稳区块自助法计算出夏普比率的90%置信区间为0.37到1.38,跨度接近四倍。这表明九年回测结果只是一个充满噪声的点估计,并非承诺,策略的真实表现可能落在该区间内,具有很大不确定性。
YASS集成了哪些评估工具?它们分别有什么作用?
YASS集成了蒙特卡洛分析、因子归因、行情机制分析和样本外检验。蒙特卡洛分析通过随机重排历史数据多次运行策略,观察结果分布,判断策略是否依赖运气;因子归因用统计方法拆解收益来源,区分选股能力与市场整体上涨的贡献;样本外检验将数据分段,前段优化参数,后段验证,滚动进行,检验策略的稳健性。
YASS的插件化架构有什么好处?如何添加自定义信号?
插件化架构允许用户在不修改核心代码的情况下扩展功能。添加自定义信号只需在signals/目录下新建一个Python文件,定义name、description、higher_is_better和compute方法,系统会自动发现并注册。这比传统量化平台提供固定指标下拉菜单更灵活,方便用户加入自己的因子。
YASS中持有奖励和止损的默认设置是什么?为什么这样设计?
持有奖励(hold_bonus)默认值为1.0,给当前持有的股票Z-score加成,降低换手率,减少交易成本和税收。止损(position_stop_loss)默认值为0.0,即关闭,因为日内锯齿波会伤害动量策略,频繁止损可能导致反复被震荡出局。这些设计旨在提醒用户减少不必要的交易,并针对动量策略优化。
YASS如何支持实盘交易?track命令有什么作用?
YASS集成了Alpaca和eToro的接口,支持调仓和持仓跟踪,并提供dry-run模式进行模拟。track命令会将实际账户的已实现收益率与持仓记录中的模型收益率对比,实现真正的样本外检验,帮助用户评估策略在真实市场的表现与回测的差异。
YASS的作者是谁?他开发这个项目的动机是什么?
YASS的作者是JIXIN LIAO,一位在eToro上自称“受够了凭感觉投资、自己动手写了这个量化股票筛选器的软件工程师”。他开发这个项目的动机是自己投资经常亏损,认为凭感觉不可靠,于是用代码解决问题。项目采用Apache 2.0许可证,完全开源。
根据YASS的观点,投资者在看待回测结果时应该注意哪些问题?
投资者应警惕回测结果中的未来函数,确认是否使用点时间数据;关注回测结果的置信区间,而非仅看点估计;检查策略是否经过样本外检验,避免在相同数据上过度优化。如果这些问题无法回答,回测图可能只是“确定性幻觉”。