当前位置:首页>python>第10讲 | 5分钟用Python画一根K线

第10讲 | 5分钟用Python画一根K线

  • 2026-10-11 06:51:29
第10讲 | 5分钟用Python画一根K线

自学量化讲座 · 第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

最新文章

随机文章