101 alpha_59
(0 - (1 * (rank((sum(returns, 10) / sum(sum(returns, 2), 3))) * rank((returns * cap)))))
0 - (1 * A * B)
A = rank((sum(returns, 10) / sum(sum(returns, 2), 3)))
B = rank((returns * cap))
sum(returns, 10)
:计算过去 10 期收益率的总和sum(returns, 2)
:计算过去 2 期收益率的总和sum(sum(returns, 2), 3)
:对前面的结果再进行 3 期求和(相当于对短期收益率的滚动求和)
- 假设有连续一周的每日收益率数据,对这一周每天的收益率进行滚动求和,就如同这里所说的对短期收益率的滚动求和。每天计算的和是从第一天开始到当天为止所有收益率的累加值,随着时间推移,每天都在之前累加和的基础上加上当天的收益率,从而得到一个不断滚动变化的累加结果。
sum(returns, 10) / sum(sum(returns, 2), 3)
:两个和的比值,可能用于衡量长期与短期收益的关系
- 十天一滚动和每隔2天的3次滚动
我们可以把「收益(returns)」想象成每天往存钱罐里放的钱(正数是赚钱,负数是亏钱),用生活场景类比这个公式的金融意义:
公式拆解:长期收益 vs 短期波动的「组合拳」
假设:
- returns = [第 1 天收益,第 2 天收益,..., 第 n 天收益](比如每天的股票涨跌幅)
- sum(returns, 10) = 过去 10 天的总收益(长期收益的「厚度」)
→ 相当于把最近 10 天的钱全部倒出来数一数,看看总共赚了多少。 - sum(returns, 2) = 每 2 天的收益小计(短期波动的「切片」)
→ 先把收益数据切成「第 1-2 天」「第 3-4 天」「第 5-6 天」…… 每 2 天一组,算出每组的收益和(比如:第 1-2 天赚了 50 元,第 3-4 天亏了 20 元)。 - sum(sum(returns, 2), 3) = 短期波动的「滚动汇总」
→ 把上面每 2 天的小计再按「每 3 组」合并(比如:把第 1-2 天、3-4 天、5-6 天这 3 个 2 天组的收益和加起来),得到一个包含 6 天数据的「短期组合收益」。
比值的金融含义:长期稳健性 vs 短期爆发力
公式 = 长期收益总和 / 短期组合收益总和
场景类比:投资风格对比
-
假设长期收益高(分子大),短期组合收益低(分母小)
→ 比如:过去 10 天稳稳赚了 200 元(长期稳健),但最近 6 天(拆成 3 个 2 天组)可能因为市场震荡,每 2 天的收益和波动大,加起来只赚了 50 元(短期爆发力弱)。
→ 比值 = 200 / 50 = 4,说明长期收益是短期组合的 4 倍,代表策略更依赖长期趋势,而非短期炒作。 -
假设长期收益低(分子小),短期组合收益高(分母大)
→ 比如:过去 10 天只赚了 50 元(长期磨磨蹭蹭),但最近 6 天(3 个 2 天组)抓住热点,每 2 天暴赚 100 元,加起来 300 元(短期爆发)。
→ 比值 = 50 / 300 ≈ 0.17,说明短期组合收益是长期的 6 倍,代表策略更偏向短期高频交易,依赖市场波动获利。
核心意义:衡量「长短期收益的性价比」
- 比值 > 1:长期收益「跑赢」短期组合,适合稳健型投资者,说明策略在长期维度更可靠。
- 比值 < 1:短期组合收益更高,可能暗示市场短期波动剧烈,或策略更适合快进快出。
- 比值 = 1:长短期收益相当,可能处于市场均衡状态。
延伸应用:识别市场风格或策略有效性
- 在基金分析中:
- 若某基金的该比值持续大于 1,说明它更擅长「持有赚长期钱」,适合定投或长期持有。
- 若比值持续小于 1,可能该基金在频繁调仓,靠短期交易获利,适合波段操作。
- 在风险控制中:
- 当市场暴跌时,长期收益(分子)可能为负,短期组合收益(分母)也可能因恐慌性波动暴跌(比如连续多个 2 天组亏损),此时比值可能变为正数(负 / 负),但需警惕「长期亏损被短期波动掩盖」的风险。
一句话总结
这个比值就像给投资「拍 CT」:
用长期收益的「总厚度」除以短期波动的「组合强度」,看看你的收益主要来自「时间的玫瑰」还是「风口的猪」。
-
rank(...)
:对这个比值进行排名,排名是按照这个特征的股票的
B 部分:收益与市值乘积的排名
returns * cap
:将每期收益率与市值相乘,可能用于考虑市值加权的收益- 通过
B
考虑市值加权的收益表现。即当前股票的排名和rank
明白了!这里的 rank(x, rate=2)
是横截面排名函数,即在同一时间点对所有资产的 x
指标进行排名,返回一个归一化到 [0,1]
的分数。rate=2
表示使用某种平滑处理(类似百分位排名),而 rate=0
则是精确排序。
假设市场上有
N
个资产,rank(x, rate=2)
的逻辑是:
- 计算每个资产的
x
指标(如收益率、市值等);- 将所有资产按
x
排序;- 返回当前资产的排名分位数。例如:
- 0.0 表示
x
是所有资产中最小的;- 1.0 表示
x
是最大的;- 0.5 表示中位数。
举例:
假设有 3 只股票的当日收益率:
- 股票 A:+5%
- 股票 B:-2%
- 股票 C:+3%
则 rank(returns, rate=2)
的结果为:
- A:1.0(最高)
- B:0.0(最低)
- C:0.5(中间)
2. 公式中两个 rank
的具体含义
A = rank(sum(returns, 10)/sum(sum(returns, 2), 3))
-
计算逻辑:
- 对每只股票计算「长短期收益比值」(与之前相同);
- 在所有股票中对该比值进行排名,返回分位数。
-
金融意义:
衡量股票间的收益结构差异。例如:A ≈ 1
:该股票的长期收益优势在全市场中最强;A ≈ 0
:该股票的短期爆发力在全市场中最强。
B = rank(returns * cap)
-
计算逻辑:
- 对每只股票计算「市值加权收益」(收益率 × 市值);
- 在所有股票中对该乘积进行排名,返回分位数。
-
情况 1:
A ≈ 1
且B ≈ 1
→ 该股票同时具备:- 全市场最强的长短期收益结构(长期趋势向上且短期爆发力强);
- 全市场最强的资金流入强度(大资金持续买入)。
→ 这往往是市场龙头股或热点板块核心标的的特征。
-
情况 2:
A ≈ 0
且B ≈ 0
→ 该股票同时具备:- 全市场最差的长短期收益结构(长期下跌且短期加速恶化);
- 全市场最强的资金流出强度(大资金持续卖出)。
→ 这是典型的弱势股,可能面临基本面恶化或黑天鹅事件。
-
情况 3:
A ≈ 1
但B ≈ 0
→ 该股票长期收益结构优异,但资金流入弱。可能是被市场忽视的优质股(如低估值蓝筹)。 -
情况 4:
A ≈ 0
但B ≈ 1
→ 该股票短期资金流入强,但长期收益结构差。可能是纯资金炒作的题材股(如缺乏基本面支撑的概念股)。
-
筛选高确定性机会:
乘积会对「双重优势」或「双重劣势」的股票给予更高权重。例如:- 当
A = 0.9
且B = 0.8
时,A*B = 0.72
,显著高于单独排名的中间值(0.5),表明该股票在两个维度均表现优异; - 当
A = 0.1
且B = 0.2
时,A*B = 0.02
,表明该股票在两个维度均表现极差。
- 当
-
规避单一维度的陷阱:
若仅依赖单一排名,可能误判。例如:- 某股票短期资金炒作导致
B ≈ 1
,但长期收益结构差(A ≈ 0
),乘积A*B ≈ 0
会抑制追高冲动; - 某股票长期基本面优秀(
A ≈ 1
),但短期资金流出(B ≈ 0
),乘积A*B ≈ 0
会提示等待更好买点。
- 某股票短期资金炒作导致
5. 实际应用:构建多因子选股模型
这个公式可以作为量化策略中的一个复合因子:
意思就是。我们用这个策略对所有的股票进行一个扫描。对单个股票的rank排名返回和另外一个股票的排名相乘。看趋势排名
通过同时比较所有资产的「长短期收益结构」和「资金流向强度」,找到真正具备双重优势的核心资产,或规避双重劣势的风险资产。