拓冰建站拓冰建站
首页 / 资讯中心 / 正文

101公式化Alpha因子拆解:机器学习算法交易中的新手信号研究指南

101公式化Alpha因子拆解机器学习算法交易中的新手信号研究指南【免费下载链接】machine-learning-for-tradingCode for Machine Learning for Trading, 3rd edition — from data sourcing to live execution.项目地址: https://gitcode.com/GitHub_Trending/ma/machine-learning-for-trading同样的数据、同样的模型为什么有人回测赚钱有人亏钱差距往往不在模型而在于手里有没有一组可信的Alpha因子也就是能预测未来收益的计算信号。开源项目 machine-learning-for-trading 把101公式化Alpha做了完整的公式化实现本文带你读公式、做因子、跑回测。101公式化Alpha的出处为什么这套因子可信先说可信度。这组因子不是谁拍脑袋编的公式它来自 WorldQuant 的 Zura Kakushadze 与 Tulchinsky 2015 年发表的论文《101 Formulaic Alphas》其中约 80% 曾在真实交易系统中运行过。项目的第 8 章金融特征README 在参考文献里引用的正是这篇论文仓库把 101 个公式当成可直接执行的因子库来组织每个因子只依赖过去 N 天的价格与成交量OHLCV不需要基本面数据也不含未来信息你可以用自己的数据直接复现。这也是为什么新手应该从这套公式入手每个因子都能单独验证背后都有对应的市场逻辑。学会读公式的方法之后遇到任何同类因子你都能拆解。按信号来源给101个因子分组论文的公式里全是 rank、ts_corr 这类算子新手容易读晕。更简单的入口是先问一句信号从哪里来。按信号来源分组101 个因子可以归为四族价格动量32个押注近期收益的延续典型输入是 N 日累计收益。均值回归28个押注价格的过度反应会被修正短期跌过头的更可能反弹。价值类18个基于市净率等估值指标构造。质量类15个反映公司财务质量的指标。其他8个混合类型其中就有 Alpha#3 这类成交量与价格关系的因子。成交量信号散落在各个族里而不是单独一族。下面拆解的 Alpha#1 和 #2 就是两类代表性来源。Alpha#1与#2的信号逻辑拆解读公式之前先认识两类算子。时间序列算子回答“这只股票过去几天怎么样”横截面算子回答“今天这只股票在全体股票里排第几”。项目里最常用的时间序列基础函数如下看懂它们后面任何公式都不难读def ts_sum(df, window10): # 过去 window 天的滚动求和 return df.rolling(window).sum() def ts_rank(df, window10): # 滚动排名最后一天的值在窗口内排第几 return df.rolling(window).apply(lambda x: x.rank().iloc[-1])另外三个高频算子rank()是横截面百分位排名ts_corr()是滚动相关系数ts_delta()是 N 日变化量。Alpha#1动量反转原论文公式(rank(ts_argmax(signed_power(((returns 0) ? stddev(returns, 20) : close), 2.), 5)) - 0.5)。输入什么逐日判断若当日收益为负取 20 日收益波动率若非负取收盘价。平方后取最近 5 天的滚动最大值再做横截面排名。算出什么落在 [-0.5, 0.5] 的值越大代表做多信号越强。凭什么预测收益它用一个表达式覆盖两种市场状态。上涨时收盘价高代表趋势强顺势下跌时波动率放大通常意味着恐慌性超卖反转更常见。论文实证里后一种状态贡献了主要收益。Alpha#2量价相关性alpha_002 -1 * ts_corr(rank(ts_delta(np.log(volume), 2)), rank((close - open) / open), 6)输入什么对数成交量的 2 日变化量以及 (收盘价−开盘价)/开盘价后者是日内买卖压力的近似。两者分别做横截面排名。算出什么两者 6 日滚动相关系数的相反数。凭什么预测收益日内买压上升且放量时往往伴随追涨和高波动之后收益倾向走弱所以取负号做多空反转。这个因子只需要四个价格成交量字段适合作为你实现的第一只因子。从原始数据到可回测信号因子算出来不能直接回测。标准流水线是先 Winsorize 极端值把上下约 1% 的异常值截断再处理缺失值然后做横截面排名或标准化。之后进入评估项目里对应两个练习07_defining_the_learning_task/05_signal_evaluation.ipynb 做 IC 分析与分位数收益回测07_defining_the_learning_task/06_ic_inference.ipynb 负责判断 IC 是否在统计上显著。IC 值Information Coefficient因子值与未来收益的相关系数越大预测力越强怎么看才靠谱看三件事。第一IC 均值的符号要和你假定的方向一致。第二量级日频单因子在 0.02 到 0.05 之间已经值得研究低于 0.01 基本可以放弃。第三IC 时序的形状真实信号会波动但大致稳定在零的一侧噪声因子则在零上下反复横跳。配合分位数收益一起看把股票按因子值从小到大分 5 组头部组和尾部组的收益差应该接近单调否则因子只在极端值上有预测力这是风险信号。新手三步上手路径算出一只因子打开 08_financial_features/01_price_volume_features.ipynb用单只股票的 OHLCV 数据验证滚动窗口计算确认自己真正理解了 ts 算子。回测一只因子按上面的流程算出 Alpha#2跑 IC 分析和分位数回测记下 IC 均值与置信区间。组合并做样本外挑 3 到 5 个相关性低的因子用 IC 加权合成再用滚动样本外walk-forward方式验证不要只看一次样本外结果。现在就可以动手的一步clone 项目git clone https://gitcode.com/GitHub_Trending/ma/machine-learning-for-trading选 Alpha#2计算最近 3 年的日频 IC 并画出 IC 时序图。如果均值接近零先别怀疑公式检查数据是否含幸存者偏差再换一个窗口重试。【免费下载链接】machine-learning-for-tradingCode for Machine Learning for Trading, 3rd edition — from data sourcing to live execution.项目地址: https://gitcode.com/GitHub_Trending/ma/machine-learning-for-trading创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门