Gate 广场「创作者认证激励计划」优质创作者持续招募中!
立即加入,发布优质内容,参与活动即可瓜分月度 $10,000+ 创作奖励!
认证申请步骤:
1️⃣ 打开 App 首页底部【广场】 → 点击右上角头像进入个人主页
2️⃣ 点击头像右下角【申请认证】,提交申请等待审核
立即报名:https://www.gate.com/questionnaire/7159
豪华代币奖池、Gate 精美周边、流量曝光等超 $10,000 丰厚奖励等你拿!
活动详情:https://www.gate.com/announcements/article/47889
我进行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。