1.3 画第一张K线图
前面你拿到了数据——但数字是枯燥的。把数字变成图的那一刻,你会真正「看见」市场。这一节就是那个「哇」的时刻。
一句话
三行代码,把你刚下载的数据变成专业级 K 线图——这是你量化之路的「成人礼」。
学习目标
学完本章你能:
- 用
mplfinance画出任何股票的 K 线图 - 看懂 K 线的颜色和结构
- 叠加成交量一起看图
核心内容
1. 导入画图工具
python
import mplfinance as mpf2. 画图——这一刻值得记住
拿走你刚下载的 SPY 数据,只看最近 30 天:
python
mpf.plot(data.tail(30), type='candle', volume=True)运行它。
如果你看到一个红绿相间的蜡烛图,下方还有蓝色柱状图——你做到了! 🎉
这是你的第一张 K 线图。这张图里包含了 SPY 最近 30 个交易日的所有价格信息。
📸 建议拍张照/截个图。 这是你量化学习之旅的第一张作品——以后回头看会很有意思。
3. 让图更好看一点
加几条均线,换个主题色:
python
mpf.plot(data.tail(60), type='candle', volume=True,
title='SPY 60日K线图',
style='charles',
mav=(5, 20))参数解释:
type='candle'— 画 K 线图(不是折线图)volume=True— 底部显示成交量条title='...'— 图表的标题style='charles'— 配色风格mav=(5, 20)— 叠加 5 日和 20 日均线
4. 读懂 K 线——三分钟就够了
每一根「蜡烛」代表一天的交易:
🕯️ 阳线(涨) 🕯️ 阴线(跌)
───────── ─────────
最高价 最高价
┌─────┐ ┌─────┐
│ │ 上影线 │ │
│ 收盘价│ │ 开盘价│
│ │ │ │
│ │ 实体 │ │
│ 开盘价│ │ 收盘价│
│ │ 下影线 │ │
└─────┘ └─────┘
最低价 最低价- 绿色/白色实体 = 收盘价 > 开盘价(上涨日)📈
- 红色/黑色实体 = 收盘价 < 开盘价(下跌日)📉
- 上影线 = 当天最高到实体的距离(买方冲上去又被压回来了)
- 下影线 = 当天最低到实体的距离(卖方砸下去又被拉回来了)
- 实体长度 = 涨/跌的力度
💡 只看颜色就能快速判断:连续绿色 = 上涨趋势,连续红色 = 下跌趋势。就这么简单。
5. 换一只股票试试
python
# 特斯拉
tsla = yf.download("TSLA", start="2024-01-01")
mpf.plot(tsla.tail(30), type='candle', volume=True, title='TSLA 30日K线')python
# 比特币
btc = yf.download("BTC-USD", start="2024-01-01")
mpf.plot(btc.tail(30), type='candle', volume=True, title='Bitcoin 30日K线')不同股票的 K 线形态完全不同——波动大的股票(TSLA、BTC)有更多长影线和长实体,波动小的(SPY)K 线更规整。自己对比看看。
6. 折线图——最简单的方式
如果 K 线图信息太多,可以只画收盘价折线:
python
import matplotlib.pyplot as plt
data['Close'].plot(figsize=(12, 6), title='SPY Close Price')
plt.show()这不是 K 线图,但它清晰地展示了价格走势。有时候简洁就是最好的。
练习
选择题
K 线图中,实体代表什么?
- A. 开盘价到收盘价的区间
- B. 最高价到最低价的区间
- C. 成交量的大小
- D. 当天的涨跌幅比例
红色(阴线)的 K 线意味着:
- A. 收盘价 > 开盘价
- B. 收盘价 < 开盘价
- C. 成交量增加
- D. 价格创出新高
mplfinance中volume=True的作用是:- A. 显示交易量
- B. 放大图表
- C. 调整颜色
- D. 显示数据标签
编程题
题目: 选择一只非 SPY 的股票(比如你喜欢的公司、你关注行业的龙头),下载 2024 年至今的数据,画一张包含最近 30 天 K 线图和成交量的图。给图表加上标题。
python
import yfinance as yf
import mplfinance as mpf
# 选一只你感兴趣的股票
my_stock = yf.download('你的代码', start="2024-01-01")
# 画 K 线图 —— 最后 30 天,带成交量,加标题
# 你的代码💡 试试:
GOOGL(谷歌)、NVDA(英伟达)、BABA(阿里巴巴)、TSM(台积电)
论述题
观察你画的 K 线图。你能从图里读出什么信息?比如:
- 最近十天是涨得多还是跌得多?
- 哪天的波动最大(实体最长或者影线最长)?
- 成交量大的日子价格发生了什么变化?
描述你看到的。不需要专业术语——用自己的话说出来就是理解的第一步。