(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排名返回和另外一個股票的排名相乘。看趨勢排名
通過同時比較所有資產的「長短期收益結構」和「資金流向強度」,找到真正具備雙重優勢的核心資產,或規避雙重劣勢的風險資產。