可以。我们把这一块真正展开成一个完整的 Time-Series Trend / Momentum Research Framework。
先给你一个总框架。你以后看到任何“趋势策略”,先不要看它叫 MACD、海龟、EMA 还是动量,先问它在解决下面哪一个问题:
Trend System=Direction+Strength+Quality+Timing+Sizing+Regime+Execution\boxed{ Trend\ System = Direction + Strength + Quality + Timing + Sizing + Regime + Execution }
其中真正负责“判断趋势方向”的核心家族,主要是:
| 家族 | 它观察什么 | 核心问题 |
|---|---|---|
| Return Momentum | 起点→终点 | 最近到底涨了还是跌了? |
| Moving Average | 平滑后的价格重心 | 短期价格重心是否超过长期? |
| Breakout | 历史极值 | 是否突破过去市场共识区间? |
| Regression Trend | 整条价格路径 | 价格是不是沿一个方向稳定移动? |
| Trend Efficiency | 路径形态 | 这个趋势是真趋势还是乱震荡? |
前三四个主要负责 Direction / Strength。
最后一个 Trend Efficiency 更接近 Quality。
这是你以后搭 Trend Alpha Library 最重要的分类方法。
经典 TSMOM 研究发现,传统期货市场自身过去收益在约 1–12 个月范围存在持续性;长期历史研究又把趋势跟随证据扩展到了 1880 年以后多个资产类别。(Fair Model)
而 Crypto 上同样有时间序列动量证据,而且 2026 年更新的一项更现实化研究特别强调:如果考虑肥尾、日内路径和杠杆清算,“平均收益为正”并不意味着真实可交易利润为正。(科学直接)
下面正式展开。
一、先从底层理解:我们到底在估计什么?
假设:
pt=log(Pt)p_t=\log(P_t)
你可以把市场价格粗略理解成:
pt=mt+ϵtp_t=m_t+\epsilon_t
其中:
mtm_t
是我们真正想知道的“潜在趋势”。
而:
ϵt\epsilon_t
是噪声。
问题是:
市场不会告诉你 mtm_t 是多少。
所以不同策略其实都在估计:
m^t\hat m_t
或者趋势速度:
μ^t=dm^tdt\hat \mu_t=\frac{d\hat m_t}{dt}
Return Momentum 说:
我直接比较起点和终点。
MA 说:
我把噪声平滑掉再看方向。
Breakout 说:
我不关心平滑,我只关心你有没有突破过去极值。
Regression 说:
我直接拟合整段价格路径。
Efficiency 说:
我不判断你往哪走,我判断你走得直不直。
因此:
不同趋势指标,本质上是不同的TrendEstimator\boxed{ 不同趋势指标,本质上是不同的 Trend Estimator }
这比“学习 100 个技术指标”重要得多。
二、家族一:Return Momentum
这是最纯粹的 Time-Series Momentum。
2.1 最基本版本
定义过去 LL 个周期收益:
MOML=PtPt−L−1MOM_L = \frac{P_t}{P_{t-L}}-1
或者使用 log return:
MOML=lnPtPt−LMOM_L = \ln\frac{P_t}{P_{t-L}}
然后:
Signal=sign(MOML)Signal= sign(MOM_L)
也就是:
MOML>0→LongMOM_L>0\rightarrow Long MOML<0→ShortMOM_L<0\rightarrow Short
这是 TSMOM 最原始的形态。
2.2 举个 Crypto 例子
假设使用 4h K。
42 根:
42×4=168h=7d42\times4=168h=7d
BTC:
90,000→99,00090,000\rightarrow99,000
那么:
MOM7d=10%MOM_{7d}=10%
ETH:
3000→31503000\rightarrow3150
那么:
MOM7d=5%MOM_{7d}=5%
如果做 TSMOM:
BTC:
+10%>0→Long+10%>0 \rightarrow Long
ETH:
+5%>0→Long+5%>0 \rightarrow Long
两个都买。
不会因为 BTC 比 ETH 强,就不买 ETH。
如果你:
BTC score > ETH score,所以只买 BTC
这就开始进入 Cross-Sectional Momentum 了。
2.3 Return Momentum 最大的问题:只看两个点
考虑:
A
100
102
104
106
108
110B
100
120
90
125
85
110两者:
MOM=10%MOM=10%
所以传统 momentum 判断:
一样强。
但显然不是。
A 是趋势。
B 是疯狗行情。
这就是 Return Momentum 最大的信息损失:
它忽略了路径\boxed{ 它忽略了路径 }
只知道:
Pt−LP_{t-L}
和:
PtP_t
不知道中间发生什么。
这也是为什么后面会出现:
Regression、Efficiency、Volatility Adjustment。
2.4 Volatility Adjusted Momentum
最重要的升级之一:
RAMOML=MOMLσLRAMOM_L = \frac{MOM_L}{\sigma_L}
更严谨一点:
RAMOML=ln(Pt/Pt−L)σbarLRAMOM_L = \frac{\ln(P_t/P_{t-L})} {\sigma_{bar}\sqrt L}
本质就是:
单位风险产生了多少趋势。
假设:
BTC:
Return=10%Return=10%
期间波动:
σ=5%\sigma=5%
那么:
Score=2Score=2
DOGE:
Return=20%Return=20%
但:
σ=20%\sigma=20%
那么:
Score=1Score=1
虽然 DOGE 涨得更多,但:
BTC 的风险调整趋势更强。
这就是你之前使用:
ret42/vol42ret_{42}/vol_{42}
的理论来源之一。
2.5 不建议直接使用裸 Return
所以第一版研究至少应该同时保存:
mom_rawmom_raw mom_voladjmom_voladj
例如:
mom_6h
mom_12h
mom_1d
mom_3d
mom_7d
mom_14d
mom_28d
mom_56d
mom_voladj_6h
mom_voladj_12h
...它们是非常基础的二层因子。
2.6 Exponentially Weighted Momentum
传统 Momentum:
rt−L,tr_{t-L,t}
认为:
L 天前的收益和昨天的收益共同组成最终结果。
你也可以让近期收益权重更大:
Mt=∑k=1Lwkrt−kM_t = \sum_{k=1}^{L}w_k r_{t-k}
其中:
wk=e−λkw_k=e^{-\lambda k}
于是:
Mt=w1rt−1+w2rt−2+⋯M_t = w_1r_{t-1} + w_2r_{t-2} +\cdots
这样近期走势比很久以前更重要。
它其实已经开始逐渐接近 EMA 思想。
2.7 Multi-Horizon Momentum
非常重要。
不要寻找:
L=42L=42
是不是“最佳参数”。
你应该研究:
M6hM_{6h} M12hM_{12h} M1dM_{1d} M3dM_{3d} M7dM_{7d} M14dM_{14d} M28dM_{28d} M56dM_{56d} M84dM_{84d}
然后形成:
Mcombined=∑iwiMiM_{combined} = \sum_i w_i M_i
例如:
M=0.15M1d+0.25M3d+0.30M7d+0.20M14d+0.10M28dM = 0.15M_{1d} + 0.25M_{3d} + 0.30M_{7d} + 0.20M_{14d} + 0.10M_{28d}
你实际上是在问:
多个时间尺度是否同时认为趋势向上?
2.8 Trend Consensus
比如:
| Horizon | Signal |
|---|---|
| 6h | -1 |
| 1d | +1 |
| 3d | +1 |
| 7d | +1 |
| 14d | +1 |
那么:
Consensus=3/5Consensus=3/5
可以解释成:
大级别上涨,但出现短期回调。
反过来:
| Horizon | Signal |
|---|---|
| 6h | +1 |
| 1d | +1 |
| 3d | -1 |
| 7d | -1 |
| 14d | -1 |
可能是:
下跌趋势里的反弹。
这个信息本身就可以形成 Alpha。
2.9 Momentum Acceleration
不仅研究:
MomentumMomentum
还可以研究:
ΔMomentum\Delta Momentum
例如:
过去 7 天:
MOM=+5%MOM=+5%
昨天还是:
+2%+2%
那么:
ΔMOM>0\Delta MOM>0
说明趋势正在加速。
反过来:
MOM 仍然 +10%但是:
昨天 +15%那么:
ΔMOM<0\Delta MOM<0
意味着:
趋势仍向上,但正在减速。
于是:
DirectionDirection
和:
AccelerationAcceleration
是两个不同变量。
2.10 Threshold Momentum
不要简单:
MOM>0→LongMOM>0\rightarrow Long
因为:
+0.01%+0.01%
和:
+10%+10%
不是一回事。
可以:
zt=MOMtVoltz_t=\frac{MOM_t}{Vol_t}
然后:
z>0.5→Longz>0.5\rightarrow Long z<−0.5→Shortz←0.5\rightarrow Short
其他:
∣z∣<0.5|z|<0.5
不交易。
产生:
No Trade Zone。
这对降低 Whipsaw 非常有用。
2.11 Hysteresis
更进一步。
入场:
z>0.7z>0.7
但退出不是:
z<0.7z<0.7
而是:
z<0.2z<0.2
比如:
0.1
0.3
0.5
0.8 → 开多
0.6
0.4
0.25
0.15 → 平仓这样避免:
0.69
0.71
0.68
0.72不断:
买
卖
买
卖这叫:
Hysteresis\boxed{Hysteresis}
在真实交易系统里非常重要。
2.12 Return Momentum 的优势
它最大的优点不是“最赚钱”,而是:
干净。
它:
-
参数含义清晰;
-
容易解释;
-
不依赖复杂指标;
-
可以天然多周期;
-
很适合作为 Baseline;
-
非常适合做因子研究。
因此:
你的所有 Trend Research 都应该首先与 Return Momentum baseline 比较。
如果一个特别复杂的模型干不过:
Return/VolReturn/Vol
那很可能没必要。
2.13 Return Momentum 最大失效场景
第一种:
Endpoint Illusion
刚才讲的:
100 → 120 → 90 → 125 → 110仍然显示强 momentum。
第二种:
Jump Momentum
比如一个利好:
100 → 130之后:
130
130
129
131
130Momentum 仍然非常高。
但真正趋势可能早结束了。
所以必须研究:
ReturnConcentrationReturnConcentration
例如:
RC=max∣ri∣∑∣ri∣RC= \frac{\max |r_i|} {\sum |r_i|}
如果整个 7 日涨幅:
80% 来自一根 K 线,
这和连续上涨完全不同。
这个指标我很建议你加入 Trend Quality。
三、家族二:Moving Average Trend
这是 Trend Following 里面最大的另一个家族。
Momentum 和 MA 在理论上高度相关;研究也发现,两类趋势规则在趋势越强时相似度越高,但 MA 对价格路径进行了不同的加权,因此行为不会完全相同。(Taylor & Francis Online)
3.1 最简单:Price vs MA
定义:
MAL(t)=1L∑i=0L−1Pt−iMA_L(t) = \frac1L\sum_{i=0}^{L-1}P_{t-i}
如果:
Pt>MALP_t>MA_L
Long。
如果:
Pt<MALP_t<MA_L
Short。
本质:
当前价格是否高于近期价格重心。
3.2 Dual Moving Average
更经典:
MAfast>MAslowMA_{fast}>MA_{slow}
Long。
反之 Short。
例如:
EMA12>EMA48EMA_{12}>EMA_{48}
这意味着:
短周期价格重心已经高于长期价格重心。
3.3 EMA
定义:
EMAt=αPt+(1−α)EMAt−1EMA_t = \alpha P_t + (1-\alpha)EMA_{t-1}
其中:
α=2N+1\alpha=\frac{2}{N+1}
EMA 相比 SMA 最大特点:
越新的价格权重越大。
SMA:
过去20根
权重差不多EMA:
最近 → 高权重
很久以前 → 权重不断衰减所以 EMA:
响应更快。
代价:
更容易被噪声影响。
永远还是:
Noise↔LagNoise\leftrightarrow Lag
3.4 EMA Half-Life
如果以后做专业研究,我甚至建议别总使用:
EMA20
EMA50而考虑:
half-life。
EMA 权重大致按:
(1−α)k(1-\alpha)
下降。
半衰期:
HL=ln(0.5)ln(1−α)HL= \frac{\ln(0.5)} {\ln(1-\alpha)}
这样跨 timeframe 参数更容易统一。
例如:
12h half-life
而不是:
“12 根 K”。
因为:
12根1h和:
12根4h根本不是一个 horizon。
3.5 Moving Average Distance
不要只判断:
EMAf>EMAsEMA_f>EMA_s
还可以计算距离:
D=EMAf−EMAsPD= \frac{EMA_f-EMA_s}{P}
或者:
D=EMAf−EMAsATRD= \frac{EMA_f-EMA_s}{ATR}
或者:
D=EMAf−EMAsVolatilityD= \frac{EMA_f-EMA_s}{Volatility}
这就从:
binary signal变成:
continuous trend strength例如:
BTC:
D=0.1D=0.1
ETH:
D=1.5D=1.5
虽然两个都是:
EMA fast > slow但 ETH 趋势明显更强。
3.6 MA Slope
另外一个经常被忽略的变量:
Slope(MA)Slope(MA)
例如:
价格 > MA但:
MA 本身向下这很可能只是反弹。
如果:
P>MAP>MA
同时:
ΔMA>0\Delta MA>0
信号更可靠。
于是可以做:
Signal=sign(P−MA)×sign(ΔMA)Signal= sign(P-MA) \times sign(\Delta MA)
3.7 Triple MA
例如:
EMAfast>EMAmedium>EMAslowEMA_{fast}>EMA_{medium}>EMA_{slow}
才 Strong Long。
例如:
EMA12 > EMA48 > EMA192形成:
均线多头排列。
然后可以把排列程度量化。
比如:
Alignment=(EMAf−EMAm)+(EMAm−EMAs)ATRAlignment= \frac{ (EMA_f-EMA_m)+(EMA_m-EMA_s) }{ATR}
而不是简单:
1 / 03.8 Moving Average Ribbon
继续扩展:
EMA 8
EMA 16
EMA 32
EMA 64
EMA 128如果:
EMA8>EMA16>EMA32>EMA64>EMA128EMA_8 > EMA_{16} > EMA_{32} > EMA_{64} > EMA_{128}
说明多周期趋势高度一致。
甚至可以定义:
OrderScoreOrderScore
计算有多少 pair 满足正确排序。
这样:
0
0.2
0.4
0.6
0.8
1变成连续趋势状态。
3.9 MACD 本质是什么?
MACD 核心:
MACD=EMAfast−EMAslowMACD = EMA_{fast} - EMA_{slow}
所以 MACD 并不是另外一个神秘策略家族。
本质仍然是:
MovingAverageTrend\boxed{MovingAverageTrend}
Signal Line:
EMA(MACD)EMA(MACD)
本质:
对趋势信号再次平滑。
Histogram:
MACD−SignalMACD-Signal
更接近:
趋势变化速度。
所以从 Alpha Library 角度:
MACD没必要单独创建一个一级目录。
应该归入:
trend/ma/3.10 Adaptive Moving Average
普通 MA 有固定速度。
但市场:
趋势行情和:
震荡行情不应该使用完全一样的平滑速度。
所以可以:
趋势强
→ MA 变快
噪声大
→ MA 变慢这就是 Kaufman Adaptive Moving Average 一类方法背后的思想。
这里就把:
EfficiencyRatioEfficiencyRatio
和:
MovingAverageMovingAverage
连接起来了。
3.11 MA 最大的问题
还是:
LagLag
假设:
100
105
110
120
130EMA 刚确认趋势:
Long市场:
130 → 112你一定:
后知后觉。
因为均线本质:
LowPassFilterLowPassFilter
它减少噪声的同时必然损失响应速度。
所以:
不存在“既完全没有噪声,又完全没有延迟”的神奇均线。
各种 HMA、DEMA、TEMA、KAMA……
本质都在重新设计:
Noise/LagNoise/Lag
权衡。
四、家族三:Breakout Trend
这一类非常值得在 Crypto 单独深入。
因为 Breakout 不只是:
价格上涨。
它捕捉的是:
MarketStateTransition\boxed{ Market State Transition }
也就是:
从原来的价格区间突破出去。
4.1 Donchian Breakout
定义:
HHL=max(Ht−1,…,Ht−L)HH_L = \max(H_{t-1},…,H_{t-L}) LLL=min(Lt−1,…,Lt−L)LL_L = \min(L_{t-1},…,L_{t-L})
注意:
一定最好使用到 t−1t-1。
否则当前 K 线本身进入 rolling high,会造成定义混乱甚至 look-ahead 式实现错误。
然后:
Closet>HHL→LongClose_t>HH_L \rightarrow Long Closet<LLL→ShortClose_t<LL_L \rightarrow Short
4.2 为什么突破有意义?
过去 20 天最高:
100100
意味着:
所有人在这段时间都没有把价格交易到 100 以上。
现在:
101101
发生了新的状态。
可能对应:
新增需求
+
卖盘被吃掉
+
止损触发
+
新趋势资金所以 Breakout 捕捉的是:
市场突破过去均衡区间。
而 Return Momentum 捕捉:
总体移动了多少。
这两者并不完全相同。
4.3 Breakout Strength
不是:
101 > 100就和:
110 > 100一样。
可以:
BreakoutDistance=Pt−HHLATRLBreakoutDistance = \frac{P_t-HH_L}{ATR_L}
例如:
0.1ATR0.1ATR
属于微弱突破。
2ATR2ATR
属于强烈突破。
4.4 ATR Buffer Breakout
为了减少假突破:
Pt>HHL+kATRP_t>HH_L+kATR
才入场。
例如:
k=0.2k=0.2
这意味着:
不接受刚刚刺破前高。
而要求真正离开原区间。
代价:
入场更晚。
又是:
FalseSignal↔LagFalseSignal \leftrightarrow Lag
4.5 Close Confirmation
例如:
High > previous high但:
Close < previous high这是:
Wick Breakout。
另一种策略:
Close>HHLClose>HH_L
才确认。
甚至:
连续2根 Close > HH才确认。
越严格:
假突破少。
但是:
越晚。
4.6 Breakout + Volume
例如:
P>HHLP>HH_L
同时:
Volumet>1.5×MA(Volume)Volume_t > 1.5\times MA(Volume)
这背后的机制假设:
真突破应该伴随真实成交参与。
但注意:
Crypto 的 Volume 不是永远“越大越好”。
极端 Volume 也可能:
Blow-off Top。
所以不要直接规定。
应该研究:
VolumePercentileVolumePercentile
和未来收益之间的条件关系。
4.7 Volatility Compression → Breakout
一个非常重要的子家族。
先检测:
Volatility↓Volatility\downarrow
或者:
Range↓Range\downarrow
例如:
ATRshort/ATRlongATR_{short}/ATR_{long}
非常低。
然后等待:
BreakoutBreakout
逻辑:
波动收缩
↓
市场进入压缩状态
↓
突破
↓
波动扩张
↓
趋势这类:
Compression → Expansion
非常值得在 Crypto 做。
4.8 Bollinger Breakout
例如:
Upper=MA+kσUpper = MA+k\sigma
如果:
P>UpperP>Upper
不是一定做反转。
也可以认为:
强趋势开始。
所以 Bollinger Band 本身不是“反转指标”。
它既可以:
碰上轨 → 空也可以:
突破上轨 → 多区别取决于你的市场假设。
4.9 Percentile Breakout
不一定用最高价。
可以:
Pt>Q95%(Pt−L:t)P_t>Q_{95%}(P_{t-L:t})
避免历史单个异常 wick 控制整个 channel。
这在 Crypto 很实用。
例如某根:
插针 +15%会让 Donchian High 很长时间失效。
Quantile Channel 可以更 robust。
4.10 Breakout Exit
非常重要。
经典设计往往:
20日突破入场
10日反向突破退出即:
EntryWindow>ExitWindowEntryWindow>ExitWindow
为什么?
因为:
进入趋势需要强证据。
但是:
趋势失败要更快退出。
例如:
Entry=55dEntry=55d Exit=20dExit=20d
本质就是 asymmetry。
4.11 Trailing Breakout
持有 Long 后:
Stopt=HHt−kATRStop_t = HH_t-kATR
随着价格上涨:
StopStop
不断提高。
这就是典型:
Cut losses, let profits run。
Trend Following 很重要的一点:
利润端尽量开放。
4.12 Crypto Breakout 特别有意思的地方:Liquidation Cascade
比如 BTC:
99,000
99,300
99,800
100,000大量 Short:
liquidation price ≈ 100,200价格突破:
100,200100,200
然后:
强平空头
→ 市价买入
→ 价格101k
→ 下一批空头强平
→ 市价买入
→ 103k形成:
Price→ForcedOrderFlow→PricePrice \rightarrow ForcedOrderFlow \rightarrow Price
因此 Crypto Breakout 不只是心理阻力。
还可能涉及:
LeverageStructureLeverageStructure
这就是以后:
Breakout+OI+LiquidationMap+FundingBreakout + OI + LiquidationMap + Funding
非常有价值的原因。
4.13 Breakout 最大的问题
就是:
FalseBreakoutFalseBreakout
例如:
100
101 ← 突破
99
98然后:
开多
↓
立即止损如果震荡:
100
101
99
101
99
101Trend 系统会被反复抽打。
也就是:
WhipsawWhipsaw
五、家族四:Regression Trend
这是我认为你特别值得认真做的一类。
因为它真正开始利用:
整个价格路径\boxed{整个价格路径}
5.1 最简单 Linear Regression
对:
pt=ln(Pt)p_t=\ln(P_t)
做:
pi=a+bi+ϵip_i=a+bi+\epsilon_i
其中:
bb
就是:
每个 bar 的平均 log-price slope。
如果:
b>0b>0
上涨趋势。
如果:
b<0b<0
下跌趋势。
5.2 为什么最好对 log price 做回归?
假设:
BTC 10,000 → 11,000和:
BTC 100,000 → 101,000绝对价格变化:
+1000一样。
但意义完全不同。
所以:
ln(P)\ln(P)
更接近:
百分比增长速度。
例如:
b=0.001b=0.001
意味着每个周期约:
0.1%0.1%
的 log growth。
5.3 Slope
最基本:
Trend=bTrend=b
但不同币的 volatility 不同。
所以最好:
NormalizedSlope=bσrNormalizedSlope = \frac{b}{\sigma_r}
变成:
单位波动率趋势速度。
5.4 R²
这个非常关键。
回归产生:
R2R
它回答:
价格路径有多少可以由“一条趋势线”解释?
例如:
A
100
102
104
106
108可能:
R2=0.98R^2=0.98
B
100
115
90
120
108可能:
R2=0.2R^2=0.2
两者最终收益可能一样。
但:
A 明显是真正平滑趋势。
所以可以:
TrendScore=b×R2TrendScore=b\times R
5.5 Slope t-stat
甚至可以:
tb=bSE(b)t_b= \frac{b}{SE(b)}
它测的是:
这个 slope 相对于估计噪声到底有多显著。
所以相比:
SlopeSlope
它同时利用:
方向
+
速度
+
路径稳定性例如:
t=0.5t=0.5
趋势证据很弱。
t=4t=4
趋势明显。
这是我非常建议进入因子库的一个字段:
trend_slope_tstat_*5.6 Regression Residual Volatility
定义:
ResidualVol=Std(ϵt)ResidualVol = Std(\epsilon_t)
如果:
ResidualVolResidualVol
很小:
价格紧紧沿趋势线运动。
很大:
价格围绕趋势剧烈摆动。
所以:
TrendQuality∝∣Slope∣ResidualVolTrendQuality \propto \frac{|Slope|} {ResidualVol}
这其实和 slope t-stat 思路接近。
5.7 Regression Channel
有:
p^t=a+bt\hat p_t=a+bt
再计算:
Upper=p^t+kσϵUpper=\hat p_t+k\sigma_\epsilon Lower=p^t−kσϵLower=\hat p_t-k\sigma_\epsilon
这就形成:
Linear Regression Channel。
可以研究:
沿趋势中轴运动和:
偏离趋势过大之间的差异。
5.8 Weighted Regression
传统 OLS:
30 天前和今天权重类似。
可以使用:
wi=e−λ(T−i)w_i=e^{-\lambda(T-i)}
让最近价格更重要。
变成:
WeightedLeastSquaresWeightedLeastSquares
这样会:
更快响应趋势变化。
同样:
ResponseSpeed↑→Noise↑ResponseSpeed\uparrow \rightarrow Noise\uparrow
5.9 Robust Regression
Crypto 特别容易:
Flash crash
Liquidation wick
异常K线OLS 对 outlier 很敏感。
所以可以研究:
-
Huber Regression;
-
Theil-Sen slope;
-
LAD / Quantile Regression。
例如:
正常趋势
100
101
102
103
70 ← 插针
104
105OLS slope 和 R² 都可能被严重影响。
Robust slope 会稳定很多。
这可能成为 Crypto 特有优化点。
5.10 Regression Acceleration
除了:
SlopeSlope
还可以研究:
ΔSlope\Delta Slope
甚至拟合:
pt=a+bt+ct2p_t=a+bt+ct
其中:
cc
代表:
Trend Acceleration / Curvature。
但这一层我建议放后面。
因为很容易过拟合。
第一阶段:
SlopeSlope R2R^2 Slope/VolSlope/Vol tStattStat
已经足够。
5.11 Regression 最大优势
Return Momentum:
看两个端点MA:
平滑路径Regression:
直接建立路径模型所以它非常适合回答:
“这个上涨到底像不像一个真正稳定的趋势?”
六、第五大块:Trend Efficiency / Trend Quality
这是我认为最容易产生“策略升级”的地方。
因为很多 Trend Strategy 不缺:
Direction。
真正缺的是:
哪些 Trend 值得做?
6.1 Efficiency Ratio
经典思路:
ER=∣Pt−Pt−L∣∑i=1L∣Pt−i+1−Pt−i∣ER= \frac{|P_t-P_{t-L}|} {\sum_{i=1}^{L}|P_{t-i+1}-P_{t-i}|}
分子:
净位移。
分母:
实际走过的总路程。
6.2 极端例子
A:
100 → 102 → 104 → 106 → 108净移动:
88
总路径:
88
所以:
ER=1ER=1
非常有效率。
B:
100 → 110 → 95 → 115 → 108净移动:
88
路径:
10+15+20+7=5210+15+20+7=52
所以:
ER=8/52=0.154ER= 8/52 = 0.154
虽然:
最终也是 +8%但完全不是一个质量的趋势。
6.3 Signed Efficiency
ER 本身没有方向。
可以:
SER=sign(Pt−Pt−L)×ERSER = sign(P_t-P_{t-L})\times ER
于是:
SER∈[−1,1]SER\in[-1,1]
接近:
+1+1
代表:
非常平滑的上涨。
接近:
−1-1
代表:
非常平滑的下跌。
接近:
00
代表:
乱震荡。
这个指标我非常建议你计算。
6.4 Up-Bar Ratio
例如过去:
N=24N=24
根 K。
上涨 K:
1818
那么:
UpRatio=18/24=75%UpRatio=18/24=75%
如果:
Return>0Return>0
同时:
UpRatio=75%UpRatio=75%
和:
UpRatio=45%UpRatio=45%
完全不同。
前者:
上涨具有时间上的广泛参与。
后者:
可能靠两三根暴涨 K 拉出来。
6.5 Sign Persistence
定义:
sign(rt)sign(r_t)
然后统计:
连续同方向概率。
例如:
P(sign(rt)=sign(rt−1))P(sign(r_t)=sign(r_{t-1}))
高:
趋势性。
低:
反转/震荡性。
这已经开始直接研究:
ReturnAutocorrelationReturnAutocorrelation
6.6 Return Concentration
这个我尤其建议 Crypto 做。
假设:
R7d=20%R_{7d}=20%
但是最大一根 K:
+18%+18%
说明:
几乎整个趋势来自一次 jump。
定义:
Concentration=max∣ri∣∑∣ri∣Concentration = \frac{\max |r_i|} {\sum|r_i|}
或者:
Concentration=max(ri)∑ri+Concentration = \frac{\max(r_i)} {\sum r_i^+}
越高:
趋势越集中在少数 K。
越低:
趋势越均匀。
6.7 Trend Breadth Within Time
注意这里的 breadth 不是跨资产。
而是:
一个时间窗口内部,有多少子窗口支持趋势。
例如过去 7d 上涨。
拆成:
7 × 1d其中:
6天上涨
1天下跌质量很高。
如果:
1天 +30%
6天全部跌最后仍然:
+10%那是完全不同的结构。
可以定义:
TemporalBreadth=#positive subperiodsNTemporalBreadth = \frac{#positive\ subperiods}{N}
6.8 Maximum Adverse Excursion Within Trend
比如过去 14 天整体:
+20%+20%
但过程中最大回撤:
−18%-18%
另一条趋势:
+20%+20%
最大回撤:
−3%-3%
显然第二条更健康。
所以:
TrendMAR=ReturnLMaxDrawdownLTrendMAR= \frac{Return_L} {MaxDrawdown_L}
可以作为质量指标。
6.9 R²
前面 Regression 已经讲过。
它本质也是 Quality:
Quality=R2Quality=R
所以 Regression Trend 非常漂亮,因为一次计算同时产生:
DirectionDirection StrengthStrength QualityQuality
6.10 Volatility of Volatility
还有一种:
趋势期间:
VolatilityVolatility
是不是稳定。
例如:
vol 2%
2%
3%
2%和:
2%
15%
3%
20%后者通常说明:
趋势结构不稳定。
所以:
VoV=Std(σt)VoV = Std(\sigma_t)
也可以成为质量因子。
6.11 Trend Age
趋势并不是越久越好。
例如:
刚突破和:
已经连续上涨90天未来风险可能不同。
所以要计算:
TrendAgeTrendAge
例如:
连续多少 bar 保持 EMA fast > EMA slow。
或者:
距离上一次趋势翻转多少小时。
然后研究:
E[rfuture∣TrendAge]E[r_{future}|TrendAge]
你可能发现:
趋势早期
→ 动量强
趋势中期
→ 最稳定
趋势晚期
→ 拥挤/反转风险增加但不要先假设。
让数据告诉你。
七、因此一个真正成熟的 Trend Factor 应该拆成三个维度
我非常建议你的数据系统不要保存一个:
trend_score就结束。
而是明确保存:
Direction
例如:
D=sign(Slope)D= sign(Slope)
Strength
例如:
S=∣Slope∣VolS= \frac{|Slope|}{Vol}
Quality
例如:
Q=R2Q= R
或者:
ERER
然后:
Trend=D×S×QTrend= D\times S\times Q
只是其中一种组合方式。
但是实际我反而不建议过早直接相乘。
最好分别保存:
trend_direction
trend_strength
trend_quality因为以后你会想回答:
强度是不是越高越好?
Quality 到多少才有效?
Strong trend + Low quality 到底有没有 Alpha?
八、不要直接相乘,先做二维条件分析
这是一个非常重要的研究方法。
例如:
横轴:
TrendStrengthTrendStrength
分成:
Q1
Q2
Q3
Q4
Q5纵轴:
TrendQualityTrendQuality
也是:
Q1~Q5最后得到:
| Quality 1 | Q2 | Q3 | Q4 | Q5 | |
|---|---|---|---|---|---|
| Strength 1 | ? | ? | ? | ? | ? |
| S2 | ? | ? | ? | ? | ? |
| S3 | ? | ? | ? | ? | ? |
| S4 | ? | ? | ? | ? | ? |
| S5 | ? | ? | ? | ? | ? |
每个格子计算:
FutureReturnFutureReturn
然后可能发现:
Strength 高并不是最重要。
真正有效的是:
Strong+SmoothStrong + Smooth
这比直接:
Score=Strength×QualityScore=Strength\times Quality
科学很多。
九、五大类放在一起比较就非常清楚了
| 方法 | 利用起终点 | 利用路径 | 利用极值 | 抗噪 | 反应速度 | 路径质量 |
|---|---|---|---|---|---|---|
| Return MOM | ★★★★★ | ★ | ★ | ★★ | ★★★★ | ★ |
| MA | ★★★ | ★★★★ | ★ | ★★★★ | ★★ | ★★ |
| Breakout | ★★ | ★ | ★★★★★ | ★★ | ★★★ | ★ |
| Regression | ★★★ | ★★★★★ | ★ | ★★★ | ★★★ | ★★★★★ |
| Efficiency | ★★ | ★★★★★ | ★ | ★★★ | — | ★★★★★ |
所以并不是:
谁最好。
而是:
每个 estimator 看到了不同的信息。
十、但是这里隐藏着一个大坑:Fake Diversification
假设你做了:
策略A:7d momentum
策略B:EMA20/60
策略C:20d breakout
策略D:regression slope你可能觉得:
我有四个策略。
实际上行情上涨的时候:
A Long
B Long
C Long
D Long行情下跌:
A Short
B Short
C Short
D Short于是它们可能:
SignalCorrelation=0.8SignalCorrelation=0.8 PositionCorrelation=0.9PositionCorrelation=0.9 PnLCorrelation=0.85PnLCorrelation=0.85
本质:
你只有一个 Trend Risk。
Zakamulin 和 Giner 对 momentum 与 MA 的理论比较也正说明了类似问题:不同 trend rule 看起来名字不同,但产生的方向判断可以非常相似。(Taylor & Francis Online)
所以以后策略库至少计算:
Corr(signalA,signalB)Corr(signal_A,signal_B) Corr(positionA,positionB)Corr(position_A,position_B) Corr(PnLA,PnLB)Corr(PnL_A,PnL_B)
三个相关性。
十一、真正更有意义的 Trend Diversification 是 Horizon Diversification
比如:
6h Trend
1d Trend
3d Trend
7d Trend
28d Trend
84d Trend这些之间的交易行为差异通常会比:
7d return
7d EMA
7d regression更大。
所以趋势策略组合的一个关键维度不是:
指标多。
而是:
Horizon Diversity\boxed{Horizon\ Diversity}
这也是为什么专业趋势系统通常不会只依赖一个 speed。
十二、Crypto 第一版 Horizon,我建议这么研究
既然你的底层是:
1m1m
不要意味着策略就应该直接在 1m 上跑趋势。
1m 只是:
原子数据。
建议聚合后研究。
Intraday Trend
1h1h 2h2h 4h4h 6h6h 12h12h 24h24h
Short Swing
1d1d 2d2d 3d3d 5d5d 7d7d
Medium
14d14d 21d21d 28d28d 42d42d
Slow
56d56d 84d84d 112d112d
不用全部拿去交易。
第一阶段目的是:
画出 Momentum Surface。
十三、Momentum Surface
横轴:
LookbackLookback
例如:
1h
4h
12h
1d
3d
7d
14d
28d
56d
84d纵轴:
ForwardReturnForwardReturn
例如:
1h
4h
12h
1d
3d
7d然后研究:
E[rt,t+H∣TrendL]E[r_{t,t+H}|Trend_L]
最后形成矩阵:
| Formation ↓ / Future → | 1h | 4h | 12h | 1d | 3d | 7d |
|---|---|---|---|---|---|---|
| 1h | ||||||
| 4h | ||||||
| 12h | ||||||
| 1d | ||||||
| 3d | ||||||
| 7d | ||||||
| 14d | ||||||
| 28d | ||||||
| 56d |
这个东西非常有价值。
它直接告诉你:
Crypto 的趋势效应到底存在在哪些时间尺度。
十四、最近 Bitcoin 研究其实给了一个很有意思的提示
2026 年一篇关于 Bitcoin TSMOM signal speed 的研究发现,较慢信号在其样本中取得了更好的风险调整表现,研究使用大约 12 周慢速基准,并认为 BTC 的高波动和 24/7 交易使快速信号更容易过度响应短期噪声。这个结论不应该直接拿来当你的参数答案,但非常适合变成你自己的实证假设:
H0:Fast=SlowH_0: Fast=Slow H1:Slow Trend>Fast TrendH_1: Slow\ Trend > Fast\ Trend
然后在 Binance 全币种永续上自己验证。(IDEAS/RePEc)
十五、然后开始进入 Crypto 特有的 Trend Enhancement
到这里之前:
OHLCVOHLCV
已经足够做一个完整 Trend Library。
但真正产生 Web3 优势的地方在下一层。
十六、Trend × Volume
研究:
Trend×VolumeStateTrend \times VolumeState
比如:
A
Price↑Price\uparrow Volume↑Volume\uparrow
B
Price↑Price\uparrow Volume↓Volume\downarrow
未来收益是否不同?
不要先下判断。
做条件实验。
已有针对 Crypto 的研究也发现,交易量可以为 TSMOM 提供额外信息。(SSRN)
因此可以计算:
VolumeZ=Volume−MA(Volume)Std(Volume)VolumeZ = \frac{Volume-MA(Volume)} {Std(Volume)}
再研究:
E[rfuture∣Trend,VolumeZ]E[r_{future}|Trend,VolumeZ]
十七、Trend × Open Interest
这是永续特别重要的。
Price ↑ + OI ↑
意味着:
价格上涨同时有新仓进入。
可能属于:
TrendExpansionTrendExpansion
Price ↑ + OI ↓
可能是:
Short covering。
也就是空头平仓推动。
Price ↓ + OI ↑
可能:
新空头进入。
Price ↓ + OI ↓
可能:
多头去杠杆 / liquidation。
所以:
PriceDirection×OIDirectionPriceDirection \times OIDirection
可以形成 4-state regime。
十八、Trend × Funding
例如:
Trend=StrongLongTrend=StrongLong
Funding:
正常和:
极端正风险完全不同。
极端正 Funding 意味着:
Long 越来越拥挤。
你的收益:
PnL=PricePnL+FundingPnL−Fee−SlippagePnL = PricePnL + FundingPnL - Fee - Slippage
如果:
涨 2%但是:
长期付出很高 funding实际收益下降。
更重要的是 Funding 可以作为:
Crowding Signal。
十九、Trend × Basis
例如:
Basis=Perp−SpotSpotBasis= \frac{Perp-Spot}{Spot}
趋势上涨同时:
Basis↑Basis\uparrow
意味着:
derivatives optimism / leverage demand 可能加强。
如果 Basis 极端:
也可能过热。
同样不要预设:
高一定好/坏。
做:
ConditionalForwardReturnConditionalForwardReturn
二十、Trend × Liquidation
这个是 Crypto 非常独特。
比如:
BreakoutBreakout
之后:
ShortLiquidation↑ShortLiquidation\uparrow
如果未来几分钟/小时继续涨:
liquidation cascade 是趋势加速器。
但如果:
liquidation 极端然后没有继续上涨:
可能意味着:
forced flow 已经耗尽。
这又可能成为 Exhaustion Signal。
所以:
LiquidationLiquidation
既可以:
Confirmation
也可以:
Exhaustion。
关键在于状态。
二十一、Trend × Taker Flow
例如:
TakerBuyRatio=TakerBuyVolumeTotalVolumeTakerBuyRatio = \frac{TakerBuyVolume} {TotalVolume}
如果:
Trend>0Trend>0
同时:
TakerBuyRatio↑TakerBuyRatio\uparrow
说明:
主动买盘正在支持趋势。
如果:
Price↑Price\uparrow
但是:
TakerBuyPressure↓TakerBuyPressure\downarrow
可能存在:
Momentum weakening。
这就越来越接近微观结构 Alpha 了。
二十二、所以你的 Trend Alpha 可以形成三层
Layer 1:Price Trend
return momentum
moving average
breakout
regression回答:
方向在哪里?
Layer 2:Trend Quality
efficiency
R²
temporal breadth
return concentration
drawdown
volatility structure回答:
趋势好不好?
Layer 3:Market Structure Confirmation
volume
OI
funding
basis
taker flow
liquidation回答:
谁在推动趋势?这个趋势背后的仓位结构是什么?
这就是我认为你以后应该建立的真正:
CryptoTrendModel\boxed{CryptoTrendModel}
二十三、最终不要做成一个巨型公式
例如千万不要上来:
Score=MOM×R2×ER×Volume×OI×FundingScore = MOM \times R^2 \times ER \times Volume \times OI \times Funding
你很快就不知道 Alpha 来自哪里。
正确研究过程应该是:
Baseline A
MOMMOM
B
MOM/VolMOM/Vol
比较:
ΔSharpe\Delta Sharpe
C
MOM/Vol+QualityFilterMOM/Vol+QualityFilter
比较。
D
+Volume+Volume
比较。
E
+OI+OI
F
+Funding+Funding
逐层做 ablation。
最后你才知道:
每个信息到底贡献了多少。
二十四、第一版 Trend Alpha Library 我建议直接这么设计
你可以把二层数据大概组织成:
trend/
│
├── momentum/
│ ├── ret_1h
│ ├── ret_4h
│ ├── ret_12h
│ ├── ret_1d
│ ├── ret_3d
│ ├── ret_7d
│ ├── ret_14d
│ ├── ret_28d
│ ├── ret_56d
│ └── ret_84d
│
├── risk_adjusted_momentum/
│ ├── mom_voladj_*
│ └── mom_zscore_*
│
├── moving_average/
│ ├── price_ma_distance_*
│ ├── ema_spread_*
│ ├── ema_spread_atr_*
│ ├── ma_slope_*
│ └── ma_alignment_*
│
├── breakout/
│ ├── donchian_high_*
│ ├── donchian_low_*
│ ├── breakout_distance_*
│ ├── breakout_atr_*
│ └── breakout_age_*
│
├── regression/
│ ├── slope_*
│ ├── slope_voladj_*
│ ├── r2_*
│ ├── slope_tstat_*
│ └── residual_vol_*
│
└── quality/
├── efficiency_ratio_*
├── signed_efficiency_*
├── up_ratio_*
├── temporal_breadth_*
├── return_concentration_*
├── trend_drawdown_*
├── trend_age_*
└── vol_of_vol_*这才是真正意义上的:
Trend Feature Store。
二十五、但是研究数据库不要一开始全存最终 Score
应该保存:
symbol
timestamp
horizon
direction
strength
quality
raw_return
volatility
mom_voladj
ema_fast
ema_slow
ema_spread
breakout_distance
reg_slope
reg_r2
reg_tstat
efficiency
temporal_breadth
return_concentration
volume_z
oi_change
funding
basis
...以后你可以任意:
QueryQuery
组合。
而不是每次重新跑原始 K。
这跟我们之前讨论的第二层数据系统正好接起来了。
二十六、策略层则应该与因子层分开
例如:
Factor
mom_voladj_7d只是:
一个观测量。
不是策略。
Alpha Model
例如:
Forecast=0.6Mom7d+0.4Mom28dForecast = 0.6Mom_{7d} + 0.4Mom_{28d}
Trading Rule
例如:
Forecast>0.5→LongForecast>0.5 \rightarrow Long
Position Sizing
Position=Forecast×TargetVolAssetVolPosition = Forecast \times \frac{TargetVol}{AssetVol}
Portfolio
单币 ≤ 5%
gross leverage ≤ 1.5
BTC beta constraint
sector constraintExecution
limit
market
maker
TWAP这几个东西一定不要混为一谈。
二十七、Position Sizing:趋势系统一半的灵魂
假设:
BTC Signal:
0.80.8
DOGE:
0.80.8
不能:
BTC 10万美金
DOGE 10万美金因为风险不同。
例如:
σBTC=40%\sigma_{BTC}=40% σDOGE=100%\sigma_{DOGE}=100%
目标:
10%10%
则:
wBTC∝0.8×1040w_{BTC}\propto 0.8\times\frac{10}{40} wDOGE∝0.8×10100w_{DOGE}\propto 0.8\times\frac{10}{100}
DOGE 仓位自然更小。
所以:
Positioni=Signali×TargetRiskVoli\boxed{ Position_i= Signal_i \times \frac{TargetRisk}{Vol_i} }
这是很重要的 baseline。
二十八、Continuous Signal 比 ±1 更值得研究
不要:
Long = 1
Short = -1可以:
z=MomentumVolz= \frac{Momentum}{Vol}
然后:
Signal=tanh(kz)Signal=\tanh(kz)
例如:
| z | Position signal |
|---|---|
| -3 | -0.995 |
| -1 | -0.76 |
| -0.2 | -0.20 |
| 0 | 0 |
| 0.2 | 0.20 |
| 1 | 0.76 |
| 3 | 0.995 |
这样极端 signal 会自然饱和。
避免:
z=10z=10
产生:
十倍仓位。
二十九、Long / Short 不应该默认完全对称
Crypto 尤其如此。
传统:
Signal>0→LongSignal>0 \rightarrow Long Signal<0→ShortSignal<0 \rightarrow Short
但可以研究:
ThresholdL≠ThresholdSThreshold_L\neq Threshold_S
以及:
LeverageL≠LeverageSLeverage_L\neq Leverage_S
因为币圈:
-
长期正漂移;
-
山寨币退市;
-
暴涨暴跌不对称;
-
Short squeeze;
-
Funding;
-
强平结构;
都会造成 Long / Short 不对称。
所以回测必须拆:
PnLLongPnL_{Long}
和:
PnLShortPnL_{Short}
三十、Regime:趋势策略不能只看总体表现
至少拆下面这些状态:
| Regime | 要回答的问题 |
|---|---|
| BTC Bull | Alt trend 是否更有效 |
| BTC Bear | Short 是否更有效 |
| Sideways | Whipsaw 多严重 |
| High Vol | 强趋势还是噪声 |
| Low Vol | breakout 是否更有价值 |
| High Dispersion | 截面选择有没有帮助 |
| Low Dispersion | 所有币是否同涨同跌 |
| Extreme Funding | trend 是否容易反转 |
| OI Expansion | 趋势是否持续 |
| OI Contraction | 是否只是去杠杆 |
| High Liquidity | 成本影响 |
| Low Liquidity | 虚假 Alpha |
最后你会得到:
E[Alpha∣Regime]E[Alpha|Regime]
这比:
全样本 Sharpe = 1.4
有价值得多。
三十一、为什么 Trend 策略经常“胜率低但赚钱”?
它典型收益结构:
-1
-1
-0.5
-1
-1
-1
+2
-0.5
+7
+12也就是:
ManySmallLosses+FewLargeWinsManySmallLosses + FewLargeWins
因此:
WinRateWinRate
本身不是核心。
EMA 型趋势策略的理论研究同样指出,trend-following PnL 往往表现出这种收益分布的不对称性。(科学直接)
你更应该看:
PayoffRatio=AvgWin/AvgLossPayoffRatio = AvgWin/AvgLoss
以及:
RightTailContributionRightTailContribution
例如:
最大 10 笔盈利贡献了全部策略收益的多少?
三十二、甚至应该做 Return Attribution
例如最终策略赚:
+35%+35%
拆:
BTC trend +8%
ETH trend +5%
SOL trend +6%
其他alt +10%
short side +9%
funding -2%
fees -1%再拆:
fast +3%
medium +15%
slow +19%再拆:
breakout +8%
momentum +10%
regression +12%
...最后你才能真正回答:
我的策略为什么赚钱?
三十三、回测这里有几个极其容易踩的坑
① Survivorship Bias
今天还在 Binance 的币:
本身就是幸存者。
必须包含:
delisted
dead coins
historical listings否则尤其 Long Momentum 会严重失真。
② Universe Look-ahead
不能用:
2026 年今天成交量 Top50
去回测 2022。
必须:
UniversetUniverse_t
在每个时间点重新生成。
③ Signal Execution
如果使用:
ClosetClose_t
计算信号。
不能默认:
ClosetClose_t
同价成交。
至少:
signal at close t
execution t+1或者模拟现实延迟。
④ Breakout Look-ahead
计算:
HHLHH_L
最好:
max(t−L,…,t−1)max(t-L,…,t-1)
而不是包括当前 bar。
⑤ Funding
不能:
一天平均 funding简单扣。
要按真实:
settlement timestamps
计算。
⑥ Liquidation
杠杆策略特别不能只看:
Close−to−CloseClose-to-Close
比如:
Day open = 100
intraday low = 50
close = 110最终:
+10%但你的仓位可能:
中途已经爆掉了。
2026 年更新的 Crypto momentum 研究也特别指出了这个问题:忽略日内路径与清算会对策略盈利性产生严重误判。(SSRN)
三十四、第一轮研究不要优化参数,研究「参数地形」
错误:
测试:
EMA19/57 Sharpe 1.8
EMA20/60 Sharpe 1.4
选择19/57这很可能:
Overfit。
应该看:
EMA 10~30
EMA 40~100形成热力图。
如果:
18/55
19/55
20/55
21/55
22/55都很好:
parameter plateau。
比某一个孤立:
19/57突然爆高可靠得多。
三十五、所以你研究的不是 Optimal Parameter,而是 Robust Region
同理:
Momentum:
LL
Breakout:
ChannelLengthChannelLength
Regression:
WindowWindow
Efficiency:
WindowWindow
都应该寻找:
ParameterPlateau\boxed{ParameterPlateau}
而不是:
ParameterPeak\boxed{ParameterPeak}
三十六、我会把第一阶段实验设计成这样
Experiment 1:Raw Momentum
6h
12h
1d
3d
7d
14d
28d
56d
84dExperiment 2:Risk-Adjusted Momentum
同样 horizons:
MOM/VolMOM/Vol
Experiment 3:MA
不同 speeds:
fast / medium / slow而不是精确调某个神奇整数。
Experiment 4:Breakout
1d
3d
7d
14d
28d
56dExperiment 5:Regression
计算:
slope
slope / vol
R²
t-statExperiment 6:Quality
ER
R²
UpRatio
TemporalBreadth
ReturnConcentration
Drawdown三十七、第二阶段才开始组合
例如:
Mom7d>0Mom7d>0
先看未来收益。
然后:
Mom7d>0∧ER>Q80Mom7d>0 \land ER>Q80
看:
Sharpe 是否提高?
接着:
Mom7d>0∧ER>Q80∧R2>Q60Mom7d>0 \land ER>Q80 \land R^2>Q60
继续。
这就是:
Incremental Information Test。
三十八、第三阶段加入市场结构
例如:
Trend>0Trend>0
Baseline。
然后:
Trend>0∧OIChange>0Trend>0 \land OIChange>0
然后:
Trend>0∧OIChange>0∧Funding
再:
+TakerBuyPressure+ TakerBuyPressure
这样你最后会知道:
OI 到底有没有提高 Alpha。
而不是凭感觉。
三十九、第四阶段才考虑 ML
这时候你已经有:
X=[Momentum,Slope,R2,ER,Breakout,Volume,OI,Funding,Basis,TakerFlow]X= [ Momentum, Slope, R^2, ER, Breakout, Volume, OI, Funding, Basis, TakerFlow ]
然后:
Y=FutureRiskAdjustedReturnY= FutureRiskAdjustedReturn
这时候 ML 才开始有意义。
因为 ML 不是:
凭空寻找趋势。
而是学习:
f(Direction,Strength,Quality,MarketStructure,Regime)f( Direction, Strength, Quality, MarketStructure, Regime )
什么时候 Trend Alpha 最强。
四十、我最终会把整个时间序列趋势体系画成这样
K Line
│
┌──────────────┼──────────────┐
│ │ │
Price Volume Volatility
│
▼
┌───────────────────────┐
│ Trend Estimators │
└───────────────────────┘
│
┌───────┼────────┬───────────┐
│ │ │ │
Momentum MA Breakout Regression
│ │ │ │
└───────┴────────┴───────────┘
│
▼
Trend Direction
+
Trend Strength
│
▼
┌────────────────────────┐
│ Trend Quality │
├────────────────────────┤
│ ER │
│ R² │
│ Temporal Breadth │
│ Return Concentration │
│ Drawdown │
│ Trend Age │
└────────────────────────┘
│
▼
Qualified Trend
│
▼
┌────────────────────────┐
│ Crypto Market Structure│
├────────────────────────┤
│ Volume │
│ OI │
│ Funding │
│ Basis │
│ Taker Flow │
│ Liquidation │
└────────────────────────┘
│
▼
Alpha Forecast
│
▼
Volatility Scaling
│
▼
Position Sizing
│
▼
Portfolio Layer
│
▼
Execution
│
▼
PnL四十一、到这里,你其实应该改变对“趋势策略”的理解
最初很容易认为:
EMA20 > EMA60,就是趋势策略。
现在应该变成:
时间序列趋势是一整套估计市场趋势状态的统计框架。
它至少包含:
DirectionDirection
有没有趋势、往哪里?
StrengthStrength
趋势有多强?
QualityQuality
趋势走得好不好?
HorizonHorizon
哪个时间尺度的趋势?
RegimeRegime
什么市场状态?
MarketStructureMarketStructure
谁在推动?
SizingSizing
值得承担多少风险?
四十二、而且我认为这会直接影响你整个 Crypto 多策略架构
你不要建立:
策略1 EMA
策略2 MACD
策略3 Momentum
策略4 Donchian然后认为:
四策略组合。
更合理的是:
Alpha Family 01
Time-Series Trend内部:
Return estimator
MA estimator
Breakout estimator
Regression estimator然后 ensemble。
另一个真正独立的策略家族再是:
Alpha Family 02
Mean Reversion再:
03 Cross-Sectional Momentum
04 Carry / Funding
05 Basis
06 Statistical Arbitrage
07 Market Making
08 Liquidity / Microstructure
09 Liquidation
10 Event
...这样才是真正:
MultiAlphaPortfolio\boxed{MultiAlphaPortfolio}
而不是:
“把十几个趋势指标叫十几个策略”。
最后给你一套我认为非常适合你现在直接开工的 Trend Baseline
第一版先完全不碰 ML。
Universe:
Binance USDT PerpetualBinance\ USDT\ Perpetual
使用 point-in-time 流动性池。
计算:
M1d,M3d,M7d,M14d,M28d,M56dM_{1d},M_{3d},M_{7d},M_{14d},M_{28d},M_{56d}
全部 volatility normalize:
ZL=MLσLZ_L= \frac{M_L}{\sigma_L}
组合:
TrendDirection=∑LwLtanh(ZL)TrendDirection = \sum_Lw_L\tanh(Z_L)
同时计算:
Quality1=ERQuality_1=ER Quality2=R2Quality_2=R^2 Quality3=TemporalBreadthQuality_3=TemporalBreadth Quality4=1−ReturnConcentrationQuality_4=1-ReturnConcentration
先不要直接把 Quality 塞进交易公式。
先测:
TrendDirection→FutureReturnTrendDirection \rightarrow FutureReturn
建立 Baseline。
然后再分别测试:
Trend+ERTrend+ER Trend+R2Trend+R^2 Trend+TemporalBreadthTrend+TemporalBreadth
之后才进入:
Trend+VolumeTrend+Volume Trend+OITrend+OI Trend+FundingTrend+Funding Trend+BasisTrend+Basis
最后才做到:
PriceTrend+TrendQuality+DerivativesStructure\boxed{ PriceTrend + TrendQuality + DerivativesStructure }
如果这一整套做好,时间序列趋势这一类就已经不是一个“策略”了,而是你 Quant Research OS 里的一个完整 Alpha Domain。而且它非常适合成为第一块,因为后面的截面动量、反转、波动率、Funding、OI、Basis,都会和这里建立交叉研究。