Python 蜡烛图
蜡烛图(Candlestick Chart)是一种用于展示股价走势的图表形式。它利用矩形区域表示股价的开盘价和收盘价,并使用上下影线表示最高价和最低价。蜡烛图能够清晰地展示股价的波动情况,帮助投资者更好地分析市场走势。
蜡烛图的构成
蜡烛图由以下几个部分组成:
- 实体:实体部分用矩形区域表示开盘价和收盘价之间的价格区间。如果是空心的实体,表示收盘价高于开盘价;如果是实心的实体,表示开盘价高于收盘价。
- 上影线:上影线表示股价的最高价,连接实体部分上端和最高价的线段。
- 下影线:下影线表示股价的最低价,连接实体部分下端和最低价的线段。
蜡烛图常用的颜色习惯是绿色表示股价上涨,红色表示股价下跌。
用Python绘制蜡烛图
在Python中,我们可以使用matplotlib库来绘制蜡烛图。首先需要安装matplotlib库:
pip install matplotlib
接下来,我们编写一个简单的Python程序来绘制一个蜡烛图:
import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter, WeekdayLocator, DayLocator, MONDAY
from mpl_finance import candlestick_ohlc
import pandas as pd
import datetime
# 创建一个示例数据集
data = {
'date': [datetime.datetime(2022, 3, 1), datetime.datetime(2022, 3, 2), datetime.datetime(2022, 3, 3),
datetime.datetime(2022, 3, 4), datetime.datetime(2022, 3, 7)],
'open': [100, 110, 120, 115, 125],
'high': [120, 130, 130, 125, 130],
'low': [90, 100, 110, 105, 120],
'close': [110, 120, 115, 125, 125]
}
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'])
df['date'] = df['date'].map(matplotlib.dates.date2num)
# 创建一个子图
fig, ax = plt.subplots()
ax.xaxis_date()
ax.set_xticks(range(len(df['date'])))
ax.set_xticklabels([x.strftime('%Y-%m-%d') for x in df['date']])
# 绘制蜡烛图
candlestick_ohlc(ax, df.values, width=0.6, colorup='g', colordown='r')
# 设置x轴日期显示格式
ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d'))
plt.show()
以上代码通过matplotlib和mpl_finance库绘制了一个简单的蜡烛图,展示了一段时间内的股价走势。我们可以看到,蜡烛图清晰地展示了每日的开盘价、最高价、最低价和收盘价,帮助我们更好地理解股价的波动情况。
通过学习和掌握蜡烛图的绘制方法,投资者可以更加深入地分析股市走势,制定更加有针对性的交易策略,提高投资效率。