使用Python绘制股票交易图形

使用Python绘制股票交易图形

  • 使用Python绘制股票交易图形
    • 关联知识点
    • 准备工作
    • 数据载入
    • 任务一:绘制2020年1月1日至2020年12月31日的价格走势
    • 任务二:绘制2020年1月至2020年12月的成交量柱状图
    • 任务三:绘制2020年1月至2020年12月的成交额饼图
    • 任务四:绘制2020年1月至2020年12月的5日股票价格移动平均线

使用Python绘制股票交易图形

本文主要介绍使用Python及常用数据分析库,绘制金融产品(如股票)的交易图形,主要涉及折线图、柱状图、饼图。

关联知识点

该文涉及到以下知识点:

  1. Numpy、Pandas、Matplotlib绘图库;
  2. 时间序列;
  3. 数据聚合;
  4. 列表推导式

准备工作

1,从网易财经(https://money.163.com/)上搜索“贵州茅台”(股票代码:600519),在“个股行情”界面(http://quotes.money.163.com/trade/lsjysj_600519.html#01b07),点击“下载”按钮。
使用Python绘制股票交易图形_第1张图片
2,选择“收盘价”、“成交量”、“成交金额”这几个关键字段,然后点击下载。
使用Python绘制股票交易图形_第2张图片
3,下载后的数据存为"600519-2020.csv"文件,打开文件观察下载的数据。
使用Python绘制股票交易图形_第3张图片
4,点击“文件”->“另存为”,将"600519-2020.csv"文件另存为"600519-2020.xlsx"文件

数据载入

# 使用Python绘制股票价格走势图
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号

# 载入贵州茅台600519的交易数据
data = pd.read_excel('600519-2020.xlsx','600519-2020')
dt = data.loc[data['名称']=='贵州茅台',['日期','收盘价','成交量','成交金额']]
#print(dt)

任务一:绘制2020年1月1日至2020年12月31日的价格走势

# 将日期转化为时间序列
dt['日期'] = pd.to_datetime(data['日期'])
# 将日期升序排列
dt = dt.set_index('日期').sort_index(ascending=True) #日期升序
#print(dt)

# 筛选2020年1月1日至2020年12月31日的收盘价格
dta = dt["2020 01 01":"2020 12 31"]
#print(dta)

y1 = dta['收盘价']
x1 = range(len(y1))

# 绘制收盘价格走势图
plt.figure(1)
plt.plot(x1,y1)
plt.xlabel(u'日期')
plt.ylabel(u'收盘价')
plt.title(u'2020年股票收盘价走势图')
plt.show()

使用Python绘制股票交易图形_第4张图片

任务二:绘制2020年1月至2020年12月的成交量柱状图

# 任务二:绘制2020年1月至2020年12月的成交量柱状图
dtb = dta.resample('m').sum()
#print(dtb)
y2 = dtb['成交量']
x2 = range(len(y2))

# 绘制成交量柱状图
plt.figure(2)
plt.bar(x2,y2)
plt.xlabel(u'月份')
plt.ylabel(u'成交额')
plt.title(u'2020年股票成交额柱状图')
plt.show()

使用Python绘制股票交易图形_第5张图片

任务三:绘制2020年1月至2020年12月的成交额饼图

y3 = dtb['成交金额']
list1 = list(map(str,range(1,13)))
list1 = [i + "月" for i in list1]

# 绘制成交额饼图
plt.figure(3)
plt.pie(y3,labels = list1,autopct='%1.2f%%') # 保留后两位
plt.title(u'2020年股票成交额饼图')
plt.show()

使用Python绘制股票交易图形_第6张图片

任务四:绘制2020年1月至2020年12月的5日股票价格移动平均线

dtc = dta.resample('5d').mean()
y4 = dtc['成交量']
x4 = range(len(y4))

# 绘制收盘价格平均线
plt.figure(4)
plt.tight_layout()
plt.plot(x4,y4)
plt.xlabel(u'5日')
plt.ylabel(u'收盘价平均线')
plt.title(u'2020年股票收盘价移动平均线')
plt.show()

使用Python绘制股票交易图形_第7张图片

你可能感兴趣的:(数据分析,数据分析,python,数据可视化)