自学量化讲座 · 第10讲
看懂 K 线才算真入门。它长那副红红绿绿的样子,新手一看就头大,其实拆开就四件事。今天不整虚的,用 Python 画一根给你看,画完你就知道那根"蜡烛"到底说了啥,比看一百篇名词解释都管用。
一根 K 线四个数
每根 K 线记一天(或一周)的四件事:开盘价、最高价、最低价、收盘价,简称 OHLC。涨了画红(有的软件画白/空心,且中国喜欢红涨绿跌,而西方喜欢红跌绿涨,两个是反着理解的),跌了画绿(或黑);中间粗的那截叫"实体",是开盘到收盘之间;上下两根细线叫"上下影线",分别是最高价和最低价探出去又收回来的部分。
记住一句:实体越长,当天多空博弈越一边倒;上影线长,说明涨上去被砸回来了,上方有压力;下影线长,说明跌下去有人接,下方有支撑。光看颜色涨跌太粗,影线才是细节。这是通用理解,越是指数级别的,越是时间周期长的,这道理就越管用,对于高度控盘的品种,或者时间周期短的,这被画线的概率就越大。所以,自己要清楚什么时候什么场景下去分析才更有效。这里就只先讲理论,理论不清晰,就无法辩证地去看待问题。
5 分钟画一根
用 mplfinance 这个库,几行就能出图。先装:pip install mplfinance pandas。下面这段,造几天假数据也能跑通,你照抄:
import pandas as pd
import mplfinance as mpf
# ===== 自定义市场配色:国内习惯 红涨绿跌(核心改动1)
mc = mpf.make_marketcolors(
up='red',
down='green',
wick={'up':'red', 'down':'green'},
edge={'up':'red', 'down':'green'}
)
style = mpf.make_mpf_style(marketcolors=mc)
# ===== 替换为【波浪震荡、最后一根突破前高】行情数据(核心改动2)
data = pd.DataFrame({
'Open': [10.00, 10.30, 10.10, 10.20, 10.15, 10.40, 10.35],
'High': [10.35, 10.50, 10.32, 10.45, 10.30, 10.55, 10.75],
'Low': [9.90, 10.05, 9.95, 10.08, 10.02, 10.22, 10.30],
'Close': [10.30, 10.12, 10.22, 10.18, 10.38, 10.42, 10.70],
}, index=pd.date_range('2026-07-16', periods=7))
mpf.plot(
data,
type='candle',
volume=False,
title='Wave Pattern Breakout New High',
style=style # 启用红涨绿跌样式
)
如果你是用的 cloudstudio.net,有一点点变化,代码如下:
import os
import pandas as pd
import mplfinance as mpf
import matplotlib.pyplot as plt
print("当前运行目录:", os.getcwd())
# === 自定义配色:国内习惯 红涨绿跌 ===
mc = mpf.make_marketcolors(
up='red', # 上涨K线红色
down='green', # 下跌K线绿色
wick={'up':'red','down':'green'},
edge={'up':'red','down':'green'}
)
style = mpf.make_mpf_style(marketcolors=mc)
# === 重构K线数据:波浪震荡,最后一根突破前期高点 ===
data = pd.DataFrame({
'Open': [10.00, 10.30, 10.10, 10.20, 10.15, 10.40, 10.35],
'High': [10.35, 10.50, 10.32, 10.45, 10.30, 10.55, 10.75], # 最后一根新高10.75
'Low': [9.90, 10.05, 9.95, 10.08, 10.02, 10.22, 10.30],
'Close': [10.30, 10.12, 10.22, 10.18, 10.38, 10.42, 10.70], # 收盘价突破前高
}, index=pd.date_range('2026-07-16', periods=7))
save_path = "/workspace/example/kline.png"
mpf.plot(
data,
type='candle',
volume=False,
title='Wave Pattern Breakout New High',
style=style, # 加载自定义红涨绿跌样式
savefig=save_path
)
print("图片保存路径:", save_path)
print("Welcome to my quantitative trading system.")
跑出来那张图,红的涨绿的跌,每根都能对上 OHLC。等你想画真数据,把那几列换成从 Tushare 或东财拉来的真实行情就行——逻辑一模一样,只是数据从假的变成真的。
两者的区别则是:本机 Windows/macOS 直接运行代码会弹出图形窗口;云服务器必须加 savefig="xxx.png" 保存图片,不能弹窗。
图里能读出什么
一根看不出名堂,连起来看才有戏。一连串实体越来越长、收盘价节节高,那是多头在控场;上影线一根比一根长,说明每次冲高都被拍下来,涨不动了。我把 K 线当"多空打架的记分牌",谁占上风一目了然。
有个细节常被忽略:下影线长往往意味着有人低位承接,是潜在支撑信号;但单独一根别太当真,要结合后面几根看承接是不是持续。
我吃过"单根上影线"的亏
有回一只票当天拉出长上影,我一看"冲高回落,要跌",赶紧卖了。结果第二天跳空高开直接起飞,我卖在起飞前夜。后来懂了:长上影在上升趋势里可能是洗盘,在高位才更像见顶。脱离位置谈形态,就是刻舟求剑。
K 线不预测明天,它只记录今天多空谁赢了。预测是另一回事,得叠均线、量能一起看。
新手怎么练
第一步:把上面那段代码抄下来跑通,看见自己画的蜡烛;第二步:挑一只你持有的票,画出它最近一个月 K 线,每天对照实体和影线,试着说一句"今天多头还是空头占优";第三步:坚持两周,盘感就出来了。
别急着学一堆形态名词,先把"四件事"刻进脑子。有什么疑问,欢迎加我微信 brightmoonkk,一起交流学习。
长按识别,加我微信 brightmoonkk