【记录】永续合约市场的实践经验

Last updated on February 22, 2026 pm

无意义的呓语

  1. 货币 = 对流动的共识的一种计数
  2. 财富 = 累积起来的货币
  3. 赚取财富的唯一途径是创造价值
  4. A天低买B天高卖 = 时间上的套利
  5. A地低买B地高卖 = 空间上的套利
  6. 套利维护了某一维度上的平衡,维度可以是时间、空间、法规等等,这是一种价值的创造,因此能赚取财富

推论1

  • 准备 宽基指数ETF、黄金ETF、长期国债ETF、货币基金ETF,25% 等比例建仓
  • 当某个EFT占比达 35% 或 15% 时调仓,重新平衡为25%等比例仓位
  • 重复上述过程,即可获得年化回报
  • 宽基+长债对冲、宽基+货基对冲、黄金+货基对冲、长债+货基对冲
  • 再平衡维护了以上四种对冲之间的平衡,创造了价值,因此赚取了套利财富
  • 定投本身不能套利,加上再平衡策略才是套利

准备工作

市场假设

  1. 有效市场假设:价格反应了市场上的所有信息,长期主要趋势无法被操纵
  2. 价格分布假设:价格由供需关系和随机波动构成,供需关系服从偏态分布,可由EMA捕获
  3. 流动性假设:价格会向流动性高的地方游走,并短暂停留

盈利原理

  1. 局部概率优势:整体对庄家有利的游戏,在不洗牌的前提下,对庄家有利的牌出现频率越高,后续对玩家有利的牌出现频率越高
  2. 注意:概率优势具有非传递性,对于骰子A=(3,3,3,3,3,3)B=(6,5,2,2,2,2)、C=(4,4,4,4,1,1),计算可得,A胜B概率为66%,B胜C概率56%,C胜A概率为66%

复利有限

  1. 胜率、盈亏比、开单频率构成不可能三角
  2. 所有策略存在管理资金的容量上限
  3. 策略资金容量有限,管理资金的增长满足 Logistic 曲线,保持一半策略资金容量能获得最大年化收益率。

仓位管理

  • 以损定仓:止损不得超过总资金的2%,以此计算每次的仓位
  • 考虑胜率50%,盈利900%,亏损90%的假设情景,则有
  • 分批建仓,期望收益为 0.5 * 9 + 0.5 * 0.1 > 1
  • 梭哈建仓,期望收益为 1 * (9 ^ 0.5) * (0.1 ^ 0.5) < 1

简单推论

  1. 根据流动性假设,当期权名义金额不足以影响市场时,价格会向着使大多数期货合约止损的位置游走
  2. 根据流动性假设,当期权名义金额较大时,价格会向着当日期权最大痛点游走

策略

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//@version=6
indicator("大道至简", overlay=false, max_boxes_count = 500)
import TradingView/ta/10

[kc_mid, kc_up_1, kc_down_1] = ta.kc(close, 50, 2.75)

kc_down_1l = plot(kc_down_1, title = 'kc_down_1', color = color.rgb(105, 214, 72, 35), force_overlay = true, linewidth = 2)
kc_up_1l = plot(kc_up_1, title = 'kc_up_1', color = color.rgb(149, 42, 190, 35), force_overlay = true, linewidth = 2)
kc_midl2 = plot(ta.ema(high, 50), title = 'kc_mid_h', color = color.blue, force_overlay = true, linewidth = 1)
kc_midl3 = plot(ta.ema(low, 50), title = 'kc_mid_l', color = color.blue, force_overlay = true, linewidth = 1)

[kc_mid2, kc_up_2, kc_down_2] = ta.kc(close, 50, 3.75)
[kc_mid4, kc_up_14, kc_down_14] = ta.kc(low, 50, 3.75)

kc_down_2l = plot(kc_down_14, title = 'kc_down_2', color = color.rgb(105, 214, 72, 35), force_overlay = true, linewidth = 2)
kc_up_2l = plot(kc_up_2, title = 'kc_up_2', color = color.rgb(149, 42, 190, 35), force_overlay = true, linewidth = 2)


fill(kc_up_1l, kc_up_2l, color = color.new(color.red, 90))
fill(kc_down_1l, kc_down_2l, color = color.new(color.lime, 90))
fill(kc_midl2, kc_midl3, color = color.new(color.aqua, 90))

// Inputs
float sourceInput = input.source(close, "Source")
int fastLenInput = input.int(12, "Fast length", 1)
int slowLenInput = input.int(26, "Slow length", 1)
int sigLenInput = input.int(9, "Signal length", 1)

// Calculate and plot the MACD, signal, and histogram values.
float maFast = ta.ema(sourceInput, fastLenInput)
float maSlow = ta.ema(sourceInput, slowLenInput)
float macd = maFast - maSlow
float signal = ta.sma(macd, sigLenInput)
float hist = 2 * (macd - signal)
color hColor = hist >= 0 ? hist > hist[1] ? #26a69a : #b2dfdb : hist > hist[1] ? #ffcdd2 : #ff5252

hline(0, "Zero", #787b8680)
plot(hist, "Histogram", hColor, style = plot.style_columns)
plot(macd, "MACD", color = color.orange)
plot(signal, "Signal line", color.navy)

牛市特性

  • 上轨单边向上:延续几日再下:直接下 = 1 : 2 : 2
  • 下轨单边向下:延续几日再上:直接上 = 2 : 3 : 3

熊市特性

  • 上轨单边向上:延续几日再下:直接下 = 0 : 1 : 1
  • 下轨单边向下:延续几日再上:直接上 = 8 : 1 : 1

做多规则

  • 下轨 + 缩量不跌 = 筑底成功

做空规则

  • 上轨 + 放量不涨 = 顶部将现

【记录】永续合约市场的实践经验
https://hexo.limour.top/practical-experience-in-perpetual-contract-market
Author
Limour
Posted on
September 30, 2025
Updated on
February 22, 2026
Licensed under