可以。我们把这一块真正展开成一个完整的 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=ln⁡PtPt−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
110

B

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

比如:

HorizonSignal
6h-1
1d+1
3d+1
7d+1
14d+1

那么:

Consensus=3/5Consensus=3/5

可以解释成:

大级别上涨,但出现短期回调。

反过来:

HorizonSignal
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→Shortz0.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
130

Momentum 仍然非常高。

但真正趋势可能早结束了。

所以必须研究:

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 / 0

3.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
130

EMA 刚确认趋势:

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
101

Trend 系统会被反复抽打。

也就是:

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
105

OLS 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 1Q2Q3Q4Q5
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 →1h4h12h1d3d7d
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

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 constraint

Execution

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)

例如:

zPosition signal
-3-0.995
-1-0.76
-0.2-0.20
00
0.20.20
10.76
30.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 BullAlt trend 是否更有效
BTC BearShort 是否更有效
SidewaysWhipsaw 多严重
High Vol强趋势还是噪声
Low Volbreakout 是否更有价值
High Dispersion截面选择有没有帮助
Low Dispersion所有币是否同涨同跌
Extreme Fundingtrend 是否容易反转
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
84d

Experiment 2:Risk-Adjusted Momentum

同样 horizons:

MOM/VolMOM/Vol


Experiment 3:MA

不同 speeds:

fast / medium / slow

而不是精确调某个神奇整数。


Experiment 4:Breakout

1d
3d
7d
14d
28d
56d

Experiment 5:Regression

计算:

slope
slope / vol

t-stat

Experiment 6:Quality

ER

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∧Funding0 \land OIChange>0 \land Funding<Q90

再:

+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,都会和这里建立交叉研究。