本篇位置 全课第一篇。后面所有内容都建立在这里讲清楚的几件事上
用到的数据 Binance BTCUSDT 现货:日线(2017-08-17 至 2026-08-31)、1 分钟线(2020-03、2021-02、2021-05、2025 全年);Binance BTCUSDT 永续合约 1 分钟线(2021-05)
读完你能 说清一张价格图记录了什么、没记录什么;说清技术分析建立在哪三个前提上,每个前提在什么条件下成立;说清技术分析能回答和不能回答的问题

一、先做一个决定

下面是比特币 2021 年 2 月 7 日中午到 8 日中午的 1 小时 K 线图。每根 K 线代表一个小时,时间是 UTC(比北京时间晚 8 小时)。

BTCUSDT 1 小时 K 线,图停在 2021-02-08 12:00 这根大阳线

图停在最后那根 K 线上。它是 2 月 8 日 12:00 到 13:00 这一个小时:

数值
开盘价 39,423.08
最高价 43,231.10
最低价 39,094.01
收盘价 42,984.07
涨幅 +9.03%
成交量 13,971 BTC,前面 12 个小时平均每小时只有 2,642 BTC,这一小时是平时的 5 倍多

在这之前,价格在 38,000 到 39,500 之间磨了整整一天。然后,一个小时拉升 9%,成交量放大 5 倍。

你看着这根 K 线,脑子里大概会冒出一句话:有人在大量买入。

现在你手上没有仓位。你会怎么做?

  • A. 马上追进去,这么大的买盘,后面还会涨
  • B. 等回调再买
  • C. 不碰,涨太多了
  • D. 其他想法

先把你的选择和理由写下来,写在纸上或者备忘录里都行。这一篇结束之前会揭晓后面发生了什么。

不过这一篇真正想让你想清楚的,不是「该不该追」,而是你刚才脑子里那句话:「有人在大量买入」。这句话听起来理所当然,但它其实有问题。


二、一个几乎所有人都忽略的事实

每一笔成交,都是一买一卖

先想一个最简单的问题:那 13,971 个比特币,是谁买的?

是某些人买的。那又是谁卖的?

也是某些人卖的,而且卖出的数量,正好也是 13,971 个。

这不是巧合,是交易的定义。一笔成交必须有一个买家和一个卖家:你买进 1 个比特币,就一定有人卖出了这 1 个比特币。不存在「只有买、没有卖」的成交。

所以,在这一个小时里:

买入的总量 = 卖出的总量 = 13,971 BTC

放到任何一根 K 线、任何一个时间段、任何一个市场都一样。「买的人比卖的人多,所以涨了」,如果「多」指的是成交数量,这句话在字面上就不可能成立

⚠️ 这里第一次读会觉得别扭:可价格明明涨了 9%,总得有个原因吧?如果买卖数量永远相等,那价格是被什么推上去的?

这个问题问得对。要回答它,得先换个角度看市场。

打个比方:二手车市场里的价格牌

想象一个很大的二手车交易场。

场子里停着几百辆同一型号的车,每辆车的挡风玻璃上都贴着一张价格牌:「10 万」「10.05 万」「10.1 万」……这些是卖家贴的,意思是「谁愿意出这个价,车就是谁的」。卖家贴完价格牌就去喝茶了,他们不着急,愿意等。

场子里也有一些买家在门口的告示板上留了话:「9.95 万收一辆」「9.9 万收一辆」。这些买家也不着急。

这时候,来了一个着急的买家。他明天就要用车,没时间讲价。他走进场子,直接找贴价最低的那辆,10 万,付钱开走。

如果他要买 3 辆呢?10 万那辆只有 2 辆,他买走之后,场里最便宜的就变成了 10.05 万。他只好按 10.05 万再买 1 辆。

注意发生了什么:

  • 每一辆车都是一个买家、一个卖家,成交数量两边相等
  • 但成交价格从 10 万变成了 10.05 万
  • 推高价格的,不是「买家比卖家多」,而是一个着急的买家,把耐心卖家贴出来的便宜价格一个个买光了

这就是价格变动的真正机制。这个二手车场,我们整篇都会用到。


三、价格为什么会动:挂单的人和吃单的人

两种参与者

回到交易所。交易所里也有两种人,和二手车场一模一样。

挂单的人(maker):他们提前把「我愿意在什么价格买多少、卖多少」挂出来,然后等别人来成交。这就是贴价格牌的卖家,和在告示板上留话的买家。

吃单的人(taker):他们不等,直接和别人已经挂着的单子成交。这就是那个着急的买家。

所有挂着的单子放在一起,叫订单簿(order book)。卖单那一侧按价格从低到高排,买单那一侧按价格从高到低排。

每一笔成交,都一定是一个吃单的人撞上一个挂着的单子。所以虽然每笔成交都是一买一卖,但每笔成交都有一个「主动方」:

  • 吃单的人是买方,这笔成交就叫主动买入(taker buy)
  • 吃单的人是卖方,这笔成交就叫主动卖出(taker sell)

一步一步算一遍

我们用一个很小的订单簿,完整走一遍价格是怎么动起来的。

假设某一刻,订单簿是这样的(价格单位:美元,数量单位:个):

卖单(按价格从低到高) 买单(按价格从高到低)
价格 数量 价格 数量
100.00 2 99.50 4
100.50 3 99.00 6
101.00 5

此刻,最低的卖价是 100.00,最高的买价是 99.50。上一笔成交价是 100.00。

第一步:来了一个着急的买家,要立刻买 6 个。

他不挂单,直接吃掉卖单。从最便宜的开始:

成交顺序 价格 数量 金额
1 100.00 2 200.00
2 100.50 3 301.50
3 101.00 1 101.00
合计 6 602.50

这 6 个的平均成交价是 602.50 ÷ 6 ≈ 100.42

最后一笔成交价变成了 101.00,比开始时的 100.00 涨了 1%。

现在订单簿变成:卖单只剩 101.00 × 4;买单没动,还是 99.50 × 4 和 99.00 × 6。

在这一步里:主动买入 6 个。每一个都有对应的卖家,被动卖出也是 6 个。买卖数量相等,价格涨了 1%。

第二步:接着来了一个着急的卖家,要立刻卖 4 个。

他直接吃掉买单,从出价最高的开始:99.50 那一档正好有 4 个,全部成交。

最后一笔成交价变成 99.50

把这两步合成一根 K 线。

假设这两步刚好发生在同一分钟里。这一分钟的 K 线是:

数值 来自
开盘价 100.00 第一笔成交
最高价 101.00 第一步的最后一笔
最低价 99.50 第二步
收盘价 99.50 最后一笔成交
成交量 10 6 + 4
主动买入 6,占 60%
主动卖出 4,占 40%

⚠️ 这是整篇最容易读反的地方,值得停下来多看一眼:主动买入占了 60%,这根 K 线却是一根阴线,收盘价比开盘价低。

为什么?因为价格动多少,不只看吃单的量有多大,还要看被吃掉的那一侧挂了多厚

  • 买家吃 6 个,要穿过三档卖单(100.00、100.50、101.00),价格被推高 1.00
  • 卖家只吃 4 个,但买单最高那一档正好挂着 4 个,而且 99.50 离 101.00 本来就有 1.50 的距离,所以价格一下子掉到 99.50

回到二手车场:着急的买家在「贴价很密」的那一侧买,价格只涨一点;着急的卖家碰上「出价很稀」的那一侧,一卖就要降很多。

还有一种不需要成交的价格变化

还有一件事,K 线完全看不到。

回到最初的订单簿。假设没有任何人成交,但 100.00 那个卖家改主意了:他把价格牌撕掉,改贴 100.80。

现在最低的卖价从 100.00 变成了 100.50。一笔成交都没发生,但下一个着急的买家,最低只能买到 100.50 了。

在二手车场里,这就是卖家听到风声,悄悄把价格牌改高了。成交记录上什么都没有,但价格已经变了。

K 线只记录成交,不记录挂单和撤单。挂单的变化,要到下一笔成交发生时,才会反映在价格上。

✋ 小检查

某一小时里,主动买入 8,000 个,主动卖出 2,000 个。请问:这一小时的成交量是多少?被动卖出(也就是挂着卖单、被别人吃掉的)是多少?这根 K 线一定是阳线吗?

答案在本篇最后。


四、用真实数据核对

上面是一个编出来的小例子。现在用真实数据看看,它说的是不是真的。

Binance 的 K 线数据里,除了开高低收和成交量,还有一个字段叫 taker_buy_base:这根 K 线里,主动买入的数量。用它除以成交量,就是主动买入占比。

(数据怎么下载、怎么加载,第 3 篇会完整讲。这一篇先直接看结果。)

开头那根 K 线

2021 年 2 月 8 日 12:00 这一小时:

数量(BTC) 占比
成交量 13,971.3 100%
主动买入 8,934.8 64.0%
主动卖出 5,036.5 36.0%

这一小时一共发生了 281,022 笔成交。主动买入明显多于主动卖出,和「价格大涨」的直觉一致。

但紧接着的下一个小时(13:00),情况就变了:

数值
开盘价 → 收盘价 42,984.07 → 42,897.12,跌了 0.20%
成交量 21,921 BTC,比上一小时还大
主动买入占比 53.9%

主动买入还是超过一半,这根 K 线却收了阴线。和我们小例子里的第二步一模一样。

全部历史:上涨的日子里,主动买入一定更多吗?

一两根 K 线可能是巧合。我们看 BTC 在 Binance 上的全部日线,从 2017 年 8 月到 2026 年 8 月,一共 3,302 天。

d["ret"] = d["close"] / d["open"] - 1                 # 当天涨跌幅
d["buy_ratio"] = d["taker_buy_base"] / d["volume"]    # 主动买入量占比

up = d[d["ret"] > 0]
print("统计区间:", d.index[0].date(), "至", d.index[-1].date())
print("上涨的天数:", len(up))
print("其中主动买入占比不到一半的:", (up["buy_ratio"] < 0.5).sum())
print("比例:", round((up["buy_ratio"] < 0.5).mean(), 3))

big = d[d["ret"] > 0.05]
print("涨幅超过 5% 的天数:", len(big))
print("其中主动买入占比不到一半的:", (big["buy_ratio"] < 0.5).sum())

输出:

统计区间: 2017-08-17 至 2026-08-31
上涨的天数: 1690
其中主动买入占比不到一半的: 711
比例: 0.421
涨幅超过 5% 的天数: 206
其中主动买入占比不到一半的: 39

1,690 个上涨日里,有 711 天(42.1%)主动买入不到一半。 就算只看涨幅超过 5% 的大涨日,206 天里也有 39 天是主动卖出更多。

主动买卖的方向和价格方向有关系,但远远不是「主动买入多就涨」这么简单。拿 2025 年全年的数据算,K 线涨跌幅和主动买卖不平衡程度之间的相关系数,从 1 分钟线到日线都在 0.41 到 0.49 之间:有明显的关系,但只能解释一部分。剩下的部分,就是上一节讲的两件事:被吃掉的那一侧挂得有多厚,以及没有成交的挂单和撤单

一个极端的例子:2020 年 3 月 13 日

这一天 BTC 日线涨了 16.2%,是 Binance 上 BTC 历史涨幅第五大的一天。按直觉,这天应该充满了主动买入。

实际上,这天的主动买入占比是 49.1%,不到一半。

把这一天拆成小时看,就明白了:

时间(UTC) 开盘 收盘 涨跌 主动买入占比
00:00 4,800.01 4,654.72 −3.0% 41.0%
01:00 4,656.71 4,130.64 −11.3% 42.2%
02:00 4,131.23 4,848.71 +17.4% 49.8%
03:00 4,848.70 5,167.26 +6.6% 51.6%
23:00 5,603.36 5,578.60 −0.4% 50.4%

这是 3 月 12 日暴跌的第二天。凌晨头两个小时,大量主动卖出继续把价格砸到了 3,782.13(02:16);随后价格在一个小时里反弹 17%,全天收在 5,578.60。

日线把「先暴跌、后暴涨」这两段合成了一根大阳线。从日线上,你完全看不出当天凌晨发生过一次 −21% 的下跌(从开盘 4,800 到最低 3,782)。K 线会丢掉哪些信息,第 6 篇会专门讲。


五、揭晓:后面发生了什么

现在回到开头那个决定。这是图后面的走势:

BTCUSDT 1 小时 K 线,揭晓 2021-02-08 12:00 之后的走势

  • 13:00 这一小时:价格最高冲到 44,918,最低砸到 41,906.70,一个小时里上下来回 3,000 多美元,最后收在 42,897.12,比上一根的收盘价还低一点
  • 之后几个小时在 42,500 到 44,300 之间反复
  • 当天收盘:46,374.87。日线从 38,795.69 开盘,全天涨了 19.5%

如果你选了 A,在 43,000 附近追进去,接下来一个小时里你会看到价格跌到 41,906,浮亏大约 2.5%;如果你扛住了,当天收盘时浮盈大约 7.8%。如果你的止损设在 41,906 以上,这一小时里你已经被止损出局了。

哪个选择对?光凭这根 K 线,回答不了。 要回答它,需要这门课后面的东西:这个位置在整体结构里意味着什么(第二部分)、正常的波动有多大、止损该放在哪里(第 15、23 篇)、这样一次突破在历史上后续表现如何(第六部分)。

这一篇要说的是另一件事。

那个「在大量买入的人」

这一天发生了什么?

2021 年 2 月 8 日,特斯拉向美国证券交易委员会(SEC)提交了年度报告。报告里写道:公司在 2021 年 1 月更新了投资政策,之后已经买入了总计 15 亿美元的比特币。这个消息一出,市场迅速做出了反应。

注意时态:已经买入了。特斯拉这笔 15 亿美元的买入,发生在报告公布之前。

所以,那根大阳线里交易的,并不是特斯拉。那一个小时里主动买入的 8,934.8 个比特币,是看到消息后涌进来的人买的。这一小时一共卖出了 13,971 个比特币:其中 8,934.8 个是挂着卖单、被这些人吃掉的,另外 5,036.5 个是有人主动卖出的。

回到二手车场:有个大车队老板早在上个月就悄悄买走了一批车。今天报纸登出了这条新闻,门口涌进来一群着急的买家。场里的价格被他们一路买高,而那个车队老板,今天根本没来。

你在 K 线上看到的「大量买入」,是这一小时里着急的人和耐心的人成交的结果。它不告诉你谁在买、为什么买,也不告诉你那个真正的大买家是谁、什么时候买的。


六、价格不是价值

同一分钟,两个价格

2021 年 5 月 19 日,加密市场暴跌。我们看 UTC 13:10 这一分钟,Binance 上两个 BTC 市场的最低价:

市场 13:10 这一分钟的最低价
BTCUSDT 现货 30,000.00
BTCUSDT 永续合约 28,688.00
差距 1,312 美元,约 4.4%

同一个交易所,同一个资产,同一分钟,最低成交价差了 1,312 美元。同一天 13:44 这一分钟,两个市场的收盘价也差了 1,506 美元(现货 37,406.48,合约 35,900.00)。而这一整天 1,440 分钟里,两个市场每分钟收盘价之差的中位数只有 27 美元。

那么,这一分钟里,一个比特币到底值多少钱?30,000 还是 28,688?

哪个都不是。这两个数字都不是「比特币值多少」,它们只是在各自那个市场里,那一分钟里,最低的一笔成交是在什么价格发生的

回到二手车场:同一个型号的车,在两个不同的车场里卖。其中一个车场里,有个急着用钱的卖家被逼得低价甩卖了一辆。这辆车的成交价,不代表这个型号的车就只值这么多;它只说明,在那个车场、那个时刻,有一个着急的卖家碰上了一个出价很低的买家

两个定义

现在可以准确地说了:

价格:某个市场里,某一时刻,一笔实际发生的成交的价格。它是一个事实,发生了就不会变。

价值:一个资产「应该」值多少的估计。不同的人用不同的方法,会估计出不同的数字。它没有唯一答案,也不会直接出现在任何一张图上。

一张价格图画的,是一连串「价格」,也就是一连串已经发生的成交。它记录的是交易行为的结果,不是资产的价值。

⚠️ 这个区分听起来像文字游戏,但它直接决定了技术分析在研究什么。技术分析研究的是成交留下的记录,也就是市场参与者在各个价格上实际做了什么。它不去估计资产值多少。

一张价格图,记录了什么、没记录什么

把前面几节合在一起:

价格图记录了 价格图没有记录
每个时间段内的开盘价、最高价、最低价、收盘价 这些成交是做的
每个时间段内的成交量 他们为什么交易
(部分数据源)主动买入和主动卖出的数量 时间段内部,价格是按什么路径走的
订单簿里挂着、但还没成交的单子,以及撤单
其他市场同一时刻的价格
资产的价值

后面讲的每一个工具,都只能从左边这一列里提取信息。右边那一列里的东西,任何指标都算不出来。 这一点记住,后面会反复用到。


七、技术分析的三个前提

技术分析在做什么

有了上面的准备,可以给技术分析一个准确的描述了:

技术分析:研究市场交易行为留下的记录(价格、成交量,以及由它们衍生出来的数据),来判断当前的市场状态、关键价位,以及在什么条件下应该怎样交易。

教科书上说,技术分析建立在三个前提上。这三句话被引用得非常多,但很少有人讲清楚它们在什么条件下成立、在什么条件下不成立。下面一个一个看。

前提一:市场行为包含一切信息

原来的说法:影响价格的所有因素,包括基本面、政策、情绪,最终都会反映在价格上。所以只研究价格就够了。

用开头的例子看:特斯拉买入比特币这件事,在报告公开之前,市场上几乎没人知道。那时候价格里没有这个信息。报告公开之后,价格在一个小时里涨了 9%,这个信息进入了价格。

更准确的说法

已经公开的、并且有人据此交易的信息,会进入价格。

这个前提成立有三个条件,缺一个就会打折扣:

  1. 信息要公开。只有少数人知道的信息,价格里没有,或者只有一部分。
  2. 要有人据此交易。信息公开了,但如果没人关注、没人下单,价格就不会动。流动性差、关注度低的品种,价格反映信息的速度会很慢。
  3. 价格反映的是交易者的「看法」,不是事实本身。一条消息公开后,大家可能过度反应,也可能反应不足。价格包含了这条信息,不等于价格对这条信息的解读是对的。

前提二:价格以趋势方式运动

原来的说法:价格一旦开始往一个方向走,更可能继续往这个方向走,而不是随机乱跳。

先用数据检验一个最朴素的版本:「今天涨,明天也更可能涨;今天跌,明天也更可能跌。」

在 BTC 的 3,301 对相邻交易日里,第二天和前一天方向相同的比例是 46.7%,比抛硬币的 50% 还低。就算只看前一天涨跌超过 5% 的日子,第二天同方向的比例也只有 46.2%。按年份看,2018 年是 44.5%,2021 年是 43.7%,2024 年是 45.8%,2025 年是 49.2%。

所以,「明天会延续今天的方向」这个版本,在 BTC 日线上是不成立的。

这是不是说趋势不存在?不是。它说明「趋势」不能简单地理解成「明天和今天一样」。

更准确的说法

某些时间尺度上、在某些时期里,价格变化存在一定的持续性。

它是一个需要检验的假设,不是一个可以直接拿来用的公理。在什么时间尺度上有持续性、持续性有多强、什么时期强什么时期弱,需要用数据去测。第 5 篇会讲怎么用统计方法测量这种持续性,第 8 篇会讲怎么把「趋势」写成一个能计算的定义。

前提三:历史会重演

原来的说法:市场参与者的心理和行为模式是稳定的,所以过去出现过的价格模式,未来还会出现。

这个前提背后的逻辑,比前两个更扎实:价格是人交易出来的,而人的某些习惯非常稳定。

一个可以检验的例子:整数价位。

第六节提到,2021 年 5 月 19 日现货的最低价正好是 30,000.00。这是巧合吗?

我们来算。BTC 在 Binance 现货上的最小价格单位是 0.01 美元。如果价格的最低点落在哪里完全随机,那么它恰好落在 1,000 的整数倍上(比如 30,000.00、45,000.00)的概率,大约是 0.01 ÷ 1,000 = 十万分之一。

我们只看日最低价不低于 10,000 美元的交易日(价格太低时,1,000 的整数倍太少,不好比较),一共 2,349 天。按十万分之一的概率,我们预期每天的最低价恰好是 1,000 整数倍的情况,总共出现 0.023 次,也就是基本不会出现。

实际出现了多少次?

实际次数 随机情况下的预期次数
日最低价恰好是 1,000 的整数倍 31 0.023
日最高价恰好是 1,000 的整数倍 30 0.023
日最低价恰好是 100 的整数倍 174 0.235
日最高价恰好是 100 的整数倍 197 0.235

实际次数是随机预期的一千多倍

原因不难想:很多人喜欢把买单挂在 30,000、把卖单挂在 50,000,把止损放在 29,900。这些单子在整数价位上堆成一堵墙,价格走到这里,就更容易被挡住。这个习惯,今年有,去年有,明年大概率也还有。 这就是「历史会重演」最扎实的形式:不是图形在重演,是人的行为在重演。 整数价位和支撑阻力的关系,第 9 篇会展开。

更准确的说法

产生某种价格模式的行为原因如果还在,这个模式就可能继续出现。

所以它会在两种情况下失效:

  1. 参与者的结构变了。比如 2024 年 1 月美国批准比特币现货 ETF 之后,大量通过 ETF 买入的机构和长期投资者进入市场,交易行为和过去以散户为主时不一样了。以前的某些模式,可能因此变弱或消失。
  2. 一个模式被太多人发现和利用。如果所有人都知道「价格到了 30,000 会反弹」,就会有人提前在 30,100 买,再有人在 30,200 买,结果反弹提前发生在别处,30,000 本身反而失去了意义。

✋ 小检查

有人说:「这个形态在过去十年里出现了 20 次,每次后面都涨了,历史会重演,所以这次也会涨。」按照这一节的说法,你至少应该追问他哪两个问题?


八、三种分析方法,各自回答什么问题

在交易里,常听到三种说法:基本面分析、技术分析、量化交易。它们经常被说成是互相竞争的「流派」。但更准确的理解是:它们回答的是不同的问题。

还是用 2021 年 2 月 8 日这一天,看三种方法各自会问什么:

核心问题 在 2021-02-08 这一天会问 主要用的数据
基本面分析 这个资产值多少 一家上市公司把现金换成比特币,会不会带动更多公司这么做?这对比特币的长期需求意味着什么? 财报、宏观数据、行业数据、链上数据
技术分析 市场参与者正在怎么交易?价格在哪些位置会有反应? 价格在 38,000 到 39,500 之间横了一天,现在放量突破,新的关键位置在哪?如果判断错了,在哪里认错? 价格、成交量及其衍生数据
量化交易 一个规律在统计上是否可靠?能不能系统地执行? 「横盘后放量突破」这种情况,历史上出现过多少次?之后的收益分布是什么样?扣掉成本还剩多少? 任何可以量化的数据

几点说明:

这三种方法不互相排斥。 一个交易者完全可以用基本面判断「长期看好」,用技术分析决定「在哪里买、止损放哪」,再用量化方法检验「这套买卖规则过去是否有效」。

这门课是技术分析,但会大量用到量化的方法。 原因很简单:技术分析里有大量说法,比如「放量突破可靠」「顶背离要跌」,它们听起来都有道理,但到底可不可靠,必须用数据检验。只有技术分析的判断,没有量化的检验,你就分不清哪些说法是真的。

技术分析不回答「值多少」。 这不是它的缺点,是它的分工。就像第六节说的,价格图上根本没有「价值」这个信息。


九、时间尺度改变一切

同一个方法,放在不同周期上

假设你有一条规则:「价格从下方穿过 20 根 K 线的均线时买入。」

同样这条规则,放到 2025 年全年的 BTC 数据上:

K 线周期 这一年里触发的次数
1 分钟线 30,832 次
1 小时线 523 次
日线 20 次

同一条规则,触发次数差了一千五百倍。这已经不是「同一个方法」了。

波动和成本的比例

次数不同,只是表面。更根本的差别在于:每根 K 线的波动大小,和你每次交易要付的成本,比例完全不同。

每次交易都有成本。假设你用吃单的方式交易,单边手续费是 0.05%,一买一卖两次,就是 0.1%。(这还没有算买卖价差和滑点,第 28 篇会完整讲成本。)

下面统计 2025 年 BTC 在不同周期上,每根 K 线从开盘到收盘的涨跌幅度(取绝对值),看它和 0.1% 的成本比起来怎么样:

m = load("data/1m/BTCUSDT-1m-2025-*.zip")   # 2025 年全年 1 分钟 K 线
agg = {"open": "first", "high": "max", "low": "min", "close": "last", "volume": "sum"}
fee = 0.001   # 一买一卖两次吃单,每次 0.05%
for tf in ["1min", "5min", "15min", "1h", "4h", "1D"]:
    bars = m.resample(tf).agg(agg).dropna()             # 把 1 分钟线合成更长的周期
    move = (bars["close"] / bars["open"] - 1).abs()     # 每根 K 线的涨跌幅绝对值
    print(f"{tf:>5}  K线数 {len(bars):>6}  波动中位数 {move.median():.4%}  "
          f"不够付手续费的比例 {(move < fee).mean():.1%}")

输出:

 1min  K线数 525600  波动中位数 0.0246%  不够付手续费的比例 92.1%
 5min  K线数 105120  波动中位数 0.0585%  不够付手续费的比例 70.2%
15min  K线数  35040  波动中位数 0.1037%  不够付手续费的比例 48.5%
   1h  K线数   8760  波动中位数 0.2003%  不够付手续费的比例 27.6%
   4h  K线数   2190  波动中位数 0.4098%  不够付手续费的比例 14.6%
   1D  K线数    365  波动中位数 1.1332%  不够付手续费的比例 7.7%

resample 是把短周期 K 线合成长周期 K 线的方法,第 6 篇会详细讲。)

读一下这张表:

  • 1 分钟线:一根 K 线从开盘到收盘,波动的中位数只有 0.0246%,是手续费的四分之一。92.1% 的 1 分钟 K 线,整根走完都不够付一次往返手续费。
  • 1 小时线:波动中位数 0.2%,大约是手续费的 2 倍,有 27.6% 的 K 线不够付手续费。
  • 日线:波动中位数 1.13%,是手续费的 11 倍,只有 7.7% 的 K 线不够付。

⚠️ 这里有一个很常见的误解:「短周期就是长周期的缩小版,在日线上管用的方法,放到 5 分钟线上也一样管用,只是节奏快一点。」

这张表说明不是这样。成本是按次数收的,固定不变;波动却会随着周期变短而变小。 周期越短,成本在每次波动里吃掉的比例越大。同一个方法,在日线上可能扣完成本还有得赚,放到 1 分钟线上,成本就已经吃掉了全部的波动。

再回到二手车场想一想:每次买卖一辆车,都要付给车场一笔固定的中介费。如果你打算今天买、下个月卖,车价的涨跌通常远远大于这笔中介费。如果你打算上午买、下午卖,车价在半天里几乎不动,中介费就成了你最大的开销。

所以,谈论任何一个技术分析方法,都必须先说清楚:在什么时间尺度上?

这门课的主线用日线和 4 小时线。原因就在这张表里:在这个尺度上,波动足够覆盖成本,交易次数也足够多,可以做有意义的统计。


十、技术分析能回答什么,不能回答什么

把这一篇讲过的东西合起来,可以画出技术分析的边界了。

技术分析回答 技术分析不能回答
当前的市场处在什么状态:趋势、震荡,还是在转换中 价格一定会去哪里
哪些价位是关键位置,可能聚集了大量订单 这个资产值多少
在某个位置上,可能有哪些人的订单(止损、强平、挂单) 价格为什么涨或跌(具体是哪条消息、哪个人)
如果判断错了,应该在哪个价位认错离场 在某个时刻,具体是在买、谁在卖
当前的波动有多大,一笔交易应该下多少 图上没有的信息:未公开的消息、其他市场的情况
一条交易规则在历史上的表现如何(配合量化检验)

左边这一列,就是这门课接下来要一项一项教的东西。

右边这一列,对应的就是第六节那张表里「价格图没有记录」的内容。一张图上没有的信息,再精巧的工具也算不出来。 学技术分析,就是学怎么把左边这一列做到最好。


十一、小结

  1. 每一笔成交都是一买一卖,任何时间段里,买入的总量永远等于卖出的总量。「买的比卖的多所以涨」,在数量上不可能成立。

  2. 价格变动的真正机制,是吃单的人和挂单的人之间的相互作用。 着急的一方吃掉耐心一方的挂单,把价格推向一边。价格动多少,取决于吃单的量有多大,也取决于被吃的那一侧挂得有多厚。挂单和撤单本身也会改变价格,但 K 线看不到它们。

  3. 主动买入多,不一定收阳线。 BTC 全部历史里,42.1% 的上涨日主动买入不到一半。

  4. 价格不是价值。 价格是某个市场、某个时刻的一笔成交;同一分钟里,现货和合约的最低价可以差 1,312 美元。价格图记录的是交易行为的结果。

  5. 技术分析的三个前提,每一个都有成立的条件

    • 市场行为包含信息:只包含已公开、并且有人据此交易的信息
    • 价格以趋势方式运动:「明天延续今天」在 BTC 日线上不成立(46.7%),趋势是一个需要在特定时间尺度上检验的假设
    • 历史会重演:重演的是人的行为,比如在整数价位挂单(实际出现次数是随机预期的一千多倍);行为原因消失,模式就会失效
  6. 基本面、技术、量化回答不同的问题:值多少、正在怎么交易、规律是否可靠。

  7. 时间尺度改变一切。 成本按次收,波动随周期变短而变小。2025 年 BTC 的 1 分钟 K 线有 92.1% 不够付一次往返手续费,日线只有 7.7%。

最后再回到二手车场一次。你站在场子门口,看到今天成交价一路走高,成交记录一页比一页长。这份记录告诉你今天发生了什么:多少辆车在什么价格成交了。它不告诉你是谁为什么,也不告诉你这车到底值多少钱

技术分析,就是一门认真读这份成交记录的学问。下一篇,我们换一个问题:你每做一笔交易,钱是从谁的口袋里来的?


练习

练习 1(概念) 某个 1 小时 K 线的成交量是 5,000 个,主动买入占比 30%。请问主动卖出多少个?这一小时里被动买入(挂着买单、被别人吃掉的)一共是多少个?

练习 2(计算) 使用第三节的初始订单簿(卖单 100.00 × 2、100.50 × 3、101.00 × 5;买单 99.50 × 4、99.00 × 6)。一个着急的卖家要立刻卖出 7 个。请算出:每一笔的成交价格和数量、平均成交价、最后一笔成交价。

练习 3(计算) 接练习 2。卖家成交之后,一个着急的买家立刻买入 2 个。把练习 2 和练习 3 的全部成交合成一根 K 线,写出开盘价、最高价、最低价、收盘价、成交量、主动买入占比。它是阳线还是阴线?

练习 4(思考) 第九节的表格里,15 分钟线「不够付手续费的比例」是 48.5%。如果手续费从单边 0.05% 降到单边 0.02%(往返 0.04%),你认为这个比例会怎么变化?1 分钟线的比例会降到 50% 以下吗?(提示:看「波动中位数」那一列。)

练习 5(思考) 第七节说「历史会重演」在「参与者结构变了」的时候会失效。请再举一个例子:某种市场参与者的进入或退出,可能让过去的某个价格模式失效。说明你认为是哪种行为原因消失了。


小检查答案

第三节小检查

  • 成交量 = 主动买入 + 主动卖出 = 8,000 + 2,000 = 10,000
  • 被动卖出:每一笔主动买入,对面都是一个挂着的卖单,所以被动卖出 = 主动买入 = 8,000。(同理,被动买入 = 主动卖出 = 2,000。总的买入量 = 8,000 + 2,000 = 10,000,总的卖出量 = 8,000 + 2,000 = 10,000,两边相等。)
  • 不一定是阳线。价格怎么动,还取决于买卖两侧各自挂了多厚,以及这些成交发生的先后顺序。第三节的例子里,主动买入占 60%,K 线却收阴。

第七节小检查

至少应该追问:

  1. 产生这个形态的行为原因是什么? 如果说不出是哪些人、出于什么原因在这里交易,就无法判断这个原因现在是否还在。
  2. 这 20 次是怎么选出来的? 是事先定好规则、在全部历史里机械地找出来的全部 20 次,还是人工看图挑出来的 20 次?人看图时,很容易只记住「后面涨了」的那些。另外,20 次本身是一个很小的样本(第 29 篇会讲多少次才够)。