我进行alpha开发的核心原则是:



1) 迭代速度
2) 易用性

这是什么意思?

第一个很清楚。如果你每天测试10个alpha,而其他人每天只测试2个,那么你的表现肯定会比别人好很多。

那你怎么做到这一点呢?

首先,让我们排除掉数据抓取和预处理。如果你没有自动化脚本来完成这些,你已经注定失败了。这是基本要求。

接下来,获取一个数据加载库。你不应该每次都重写那种glob.glob(folder_path)等代码。你应该用:

load_data(
start_date=start_date,
end_date=end_date,
symbol=symbol,
等等
)

然后是研究数据。什么是研究数据?

你可以从拥有一个股票池开始。你不应该花时间手动去定义一个股票池(理想情况下它也应该是标准化的)。所以你应该加载一个文件,比如按30天交易量、总市值或30天流动性排名前X的标的。不妨大胆尝试各种方式。

从这里我们可以看收益,可以有因子收益、特异性收益、截断收益,当然还有原始收益。全部都要预先生成!

最后要确保我们能够测试所有alpha,并且执行的代码应该快如闪电。你可能觉得只需要X分钟,但只要超过几分钟就是一次巨大的上下文切换,直接影响生产力。

我们已经讲完了迭代速度,现在来说易用性。

易用性是指完成某项分析的难易程度。这是质量与数量优化问题中的质量部分。比如我想做一个季节性分析,但我为了做另一个alpha而跳过了它,这就是易用性不足。比如我决定不做相关性+残差分析,因为我想先测试另一个alpha,这也是易用性不足。

你的工具应该让你能迅速完成这些常见类型的分析。这适用于优化、标记、TCA、最优TWAP等。所有这些,理想情况下你都应该能用极少的精力去运行,因为运行起来越麻烦,你就越不会去做,研究质量也会下降。

总之,你应该聚焦于让核心分析更快,以及让能显著提升研究质量的额外分析变得极快。通过同时优化这两点,你可以确保你的研究质量远超他人且效率极高。

这就是你的优势。如果你能在相同时间内做别人5倍的工作量,你就能获得远高于别人的PnL。
查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
0/400
暂无评论
交易,随时随地
qrCode
扫码下载 Gate App
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)