使用Python绘制股票交易图形

使用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),点击“下载”按钮。
在这里插入图片描述
2,选择“收盘价”、“成交量”、“成交金额”这几个关键字段,然后点击下载。
在这里插入图片描述
3,下载后的数据存为"600519-2020.csv"文件,打开文件观察下载的数据。
在这里插入图片描述
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()

在这里插入图片描述

任务二:绘制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()

在这里插入图片描述

任务三:绘制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()

在这里插入图片描述

任务四:绘制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()

在这里插入图片描述

  • 3
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: 在 Python 可以使用 matplotlib 库来进行股票数据图形化显示。首先,你需要安装 matplotlib 库,可以使用如下命令进行安装: ``` pip install matplotlib ``` 然后,你可以使用 matplotlib 的 plot 函数绘制股票数据的折线图。例如,下面是一个简单的例子,展示了如何使用 matplotlib 绘制股票数据的折线图: ```python import matplotlib.pyplot as plt # 设置 x 轴和 y 轴数据 x = [1, 2, 3, 4, 5] y = [100, 200, 300, 400, 500] # 使用 matplotlib 绘制折线图 plt.plot(x, y) # 显示图形 plt.show() ``` 在这个例子,我们使用 matplotlib 的 plot 函数绘制了一个折线图,然后使用 show 函数显示图形。你可以使用这种方法来绘制股票数据的折线图。 注意,在绘制股票数据图形时,你需要先准备好数据,然后使用 matplotlib 绘制图形。通常,你可以从股票交易获取数据,或者使用第三方数据源(如 Yahoo Finance)获取数据。 ### 回答2: Python是一种功能强大的编程语言,可以用于图形化显示股票数据。首先,我们可以使用网络爬虫技术来获取股票数据Python有许多库可用于此,如Requests和BeautifulSoup。通过这些库,我们可以从财经网站或金融数据提供商的API获取股票数据。 然后,我们可以使用Python数据处理库(例如Pandas)来处理和分析股票数据。我们可以从网络上获取的原始数据提取所需的信息,并对其进行清洗和转换。可以使用Pandas的功能来计算股票的移动平均值、RSI等指标。 接下来,为了进行图形化显示,我们可以使用Python数据可视化库(例如Matplotlib或Seaborn)。这些库提供了许多可视化工具,如折线图、柱状图和散点图等。我们可以用这些图表来展示股票的价格走势、交易量、技术指标等。通过这些图表,我们可以更直观地理解股票数据,并进行更深入的分析。 此外,利用Python的交互式图形库(例如Plotly或Bokeh)可以创建仪表盘式的图形界面。这样,我们可以自定义界面布局并添加交互元素(如下拉菜单、滑块等),以便更方便地探索和分析股票数据。我们还可以将这些图形界面部署到Web应用程序或桌面应用程序,以方便用户使用。 总而言之,Python提供了许多强大且易于使用的工具来图形化显示股票数据。通过网络爬虫获取数据数据处理与分析、数据可视化以及利用交互式图形库创建图形界面,我们可以用Python来帮助我们更好地理解和分析股票市场。 ### 回答3: Python可以使用多种库来图形化显示股票数据,其最常用的是matplotlib和seaborn库。 要使用这些库,首先需要通过一个数据获取股票数据。可以使用Yahoo Finance、Alpha Vantage等金融数据平台的API来获取历史股票价格数据获取股票数据后,可以使用matplotlib库的函数来绘制股票价格走势图。可以使用折线图来显示股价的变化,其横轴表示时间,纵轴表示股价。可以添加标签、标题和图例,使图形更加清晰易懂。 此外,还可以使用matplotlib库的其他函数和参数,如subplot函数来绘制多个子图,hist函数来显示股价的分布情况,boxplot函数来显示股价的统计数据等。 另一个可以使用的库是seaborn。seaborn是基于matplotlib的更高级的绘图库,它提供了更多种类的图表和更丰富的可视化选项。 使用seaborn库,可以绘制线性回归图来显示股价与其他指标(如指数、交易量等)之间的关系,绘制热力图来展示股价的相关性矩阵,绘制箱型图来显示股价在不同时间段的分布情况等。 总之,Python可以通过使用matplotlib和seaborn这些库来图形化显示股票数据。通过绘制折线图、箱型图、热力图等不同类型的图形,可以更直观地展示股票价格的变化趋势、统计数据和相关性等信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清弦墨客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值