源文件:research/quant_digests/2026-04-14_2008_voldragged-acceleration-carry-rank-shell.md
README.md + main.py + factors.py + signals.py + risk.py + backtester.py)+ Binance USDⓈ-M 5m/15m public-data portability probe这次主来源不是论文,而是一个很新的 GitHub repo:
takahashi3899(GitHub user)crypto-multifactor-strategy2026-04-13, public, Python, description 写的是:*Momentum, Value, Carry, Quality factors with volatility-targeted position sizing and regime filter*它表面上像一个“Millennium-style 多因子 crypto pod”教学壳:
factors.py 里给了 momentum / value / carry / quality 四因子;signals.py 里有 cross-sectional z-score、IC-weight blend、regime scalar;risk.py 里有 vol targeting、per-asset limits、hard-stop、correlation penalty;backtester.py 里有 turnover 驱动的 commission + slippage 成本模型;main.py 里串起 data → factor → risk → backtest → walk-forward。所以它不是只有一句 README 的空壳,确实能拆出: > entry / exit / sizing / risk / cost
但对当前 desk,更值得先抽出来的,不是四因子等权拼盘,而是里面最容易迁移到短周期的那条 carry proxy branch。
---
> base alpha = 横截面上,“短期趋势加速度更强、但波动拖累更轻”的币,下一小段时间更容易继续相对跑赢;反过来,加速度弱且 vol drag 重的币更容易相对落后。
翻成人话:
short-term slopemedium-term sloperealised vol drag所以它属于:
raw alphafilterregime---
factors.py 里给的 carry proxy 非常直接:
``python short_slope = prices.pct_change(10) medium_slope = prices.pct_change(30) acceleration = short_slope - medium_slope * 0.5 vol_drag = returns.rolling(20).std() * sqrt(252) carry = acceleration - vol_drag * 0.3 ``
这条定义最有价值的地方,是它已经天然回答了 4 件事:
不是“低估值”“高质量”这些偏慢变量,而是一个能逐 bar 更新的 price-based 相对强弱分数。
它赌的是:
因为它不依赖链上、funding、basis 或外部基本面;只要有 OHLCV,就能先做最小实验。
repo 叫它 carry,但这不是传统 carry。更准确地说: > 它是“vol-dragged acceleration carry proxy”,不是 funding/basis carry。
这点很重要,不然很容易把概念读歪。
---
原因很简单:
momentum / value / quality 里,后两条天生更慢value 在 repo 里本质是 price / rolling 30d avg volume 的 NVT proxy;quality 是 30d vs 90d volume growth × consistency;5m/15m desk 最先该补的东西。因为它:
5m/15m。当前主线不只是 trend / breakout,还明确要补:
cross-sectionalrelative valuecarrystat-arb这条刚好卡在 cross-sectional carry-proxy 这个缺口上。
---
fapi/v1/klines15m / 5mBTC, ETH, SOL, XRP, ADA, DOGE, LINK, AVAX, DOT, ATOM, LTC, BNB96 bars 平均 quote volume 排名前 8 的币1.015m:每 4 根 bar 换一次(约 1 小时)5m:每 6 根 bar 换一次(约 30 分钟)4 bpsreports/artifacts/quant_digests/2026-04-14_takahashi_carry_rank_probe.pyreports/artifacts/quant_digests/takahashi_carry_rank_probe_summary_2026-04-14.csvreports/artifacts/quant_digests/takahashi_carry_rank_probe_detail_15m_2026-04-14.csvreports/artifacts/quant_digests/takahashi_carry_rank_probe_detail_5m_2026-04-14.csvreports/artifacts/quant_digests/takahashi_carry_rank_probe_asset_15m_2026-04-14.csvreports/artifacts/quant_digests/takahashi_carry_rank_probe_asset_5m_2026-04-14.csvreports/artifacts/quant_digests/takahashi_carry_rank_cadence_15m_subset_2026-04-14.csv---
15m 主实验还有 gross,但 net 明显转负:6000 bars1500 次 rebalance+810.72 bps-1507.28 bps579.5-1.31 bps / rebalance5m 更差,不是“更快更强”,而是更快更容易死在换手上:15000 bars2500 次 rebalance+284.22 bps-4403.78 bps1172.0-2.08 bps / rebalance15m 还是正的这说明“加速更强、波动拖累更轻”的横截面排序,不是纯随机噪声;但它太薄,离 production 还很远。
我额外拿 8 个更液态币做了 15m cadence 复核:
1h rebalance:net -1542.01 bps2h rebalance:net -1189.94 bps3h rebalance:net -1042.20 bps4h rebalance:net -960.62 bps也就是说: > 不是“调慢一点就过线”,而是当前这条 direct transfer 在 Binance perp short-cycle 上本来就太薄。
---
因为它虽然当前不过线,但它补的是一个很清楚的 raw alpha 骨架,不是空洞因子名词:
repo 里已经把这些层都摆出来了:
这对后续自己搭壳很有参考价值。
最近 digest 里我们已经扫过很多:
但这种: > 用 price-based carry proxy 做 cross-sectional long-short
还是相对少的。
不要看到 repo 里写了:
carryvol targetingregime filterwalk-forward就自动把它当成“短周期可落地”。
这个 repo 更像: > 一个中低频多因子教学壳,里面刚好藏着一条可被 desk 化的 raw alpha branch;但 direct short-cycle transfer 先不过成本。
---
---
这条线不是该被直接扔掉,而是应该换一种更聪明的 desk 化方式:
下一轮优先加 admission:
carry proxy 从裸 rank 改成“alpha + veto”例如:
也就是把它从单独 alpha,升级成: > cross-sectional ranking core + crowding/liquidity admission
5m当前 first verdict 已经说明:
5m 明显更差15m 还有 gross 影子所以下一轮更合理的是:
15m signal5m execution而不是继续把信号本身压得更快。
下一轮建议切分:
很可能这条线只在某个更窄的 universe 里成立。
原因很简单:
value / quality 太慢;momentum 又会和现有材料池重叠更多;carry proxy 的 short-cycle 可迁移性边界。---
我的判断是:
> 这份 repo 值得进 raw alpha 素材池,但不该被读成“又一个可直接照搬的 multifactor shell”;对当前 desk,真正该拿走的是 vol-dragged acceleration carry rank 这条 cross-sectional raw alpha branch。
再短一点:
> alpha 本体是“加速度减去波动拖累”的横截面排序;当前 Binance perp 15m/5m 直译版 gross 还有、net 明显不过线,所以它更像待二次 desk 化的 raw alpha 候选,而不是现成 production shell。
---
takahashi3899 (2026). *crypto-multifactor-strategy*.reports/artifacts/quant_digests/2026-04-14_takahashi_carry_rank_probe.pyreports/artifacts/quant_digests/takahashi_carry_rank_probe_summary_2026-04-14.csvreports/artifacts/quant_digests/takahashi_carry_rank_probe_detail_15m_2026-04-14.csvreports/artifacts/quant_digests/takahashi_carry_rank_probe_detail_5m_2026-04-14.csvreports/artifacts/quant_digests/takahashi_carry_rank_probe_asset_15m_2026-04-14.csvreports/artifacts/quant_digests/takahashi_carry_rank_probe_asset_5m_2026-04-14.csvreports/artifacts/quant_digests/takahashi_carry_rank_cadence_15m_subset_2026-04-14.csv