AI炒股:获取个股的历史成交价格并画出K线图

2024-06-06 10:12

本文主要是介绍AI炒股:获取个股的历史成交价格并画出K线图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

任务:获取贵州茅台的近几个月的价格数据,绘制k线图;

在deepseek中输入提示词:

你是一个Python编程专家,要完成一个编写Python脚本的任务,具体步骤如下:

用AKShare库获取股票贵州茅台(股票代码:600519)在2024年3月7日到2024年6月5日期间的历史行情数据-前复权。

然后用pyecharts绘制K线图;

注意:

每一步都要输出信息到屏幕上

日期格式是YYYYMMDD

AKShare库使用示例:

接口: stock_zh_a_hist

目标地址: https://quote.eastmoney.com/concept/sh603777.html?from=classic(示例)

输入参数

名称类型描述

symbolstrsymbol='603777'; 股票代码可以在 ak.stock_zh_a_spot_em() 中获取

periodstrperiod='daily'; choice of {'daily', 'weekly', 'monthly'}

start_datestrstart_date='20210301'; 开始查询的日期

end_datestrend_date='20210616'; 结束查询的日期

adjuststr默认返回不复权的数据; qfq: 返回前复权后的数据; hfq: 返回后复权后的数据

timeoutfloattimeout=None; 默认不设置超时参数

接口示例-历史行情数据-前复权

import akshare as ak

stock_zh_a_hist_df = ak.stock_zh_a_hist(symbol="000001", period="daily", start_date="20170301", end_date='20240528', adjust="qfq")

print(stock_zh_a_hist_df)

输出参数-历史行情数据

名称类型描述

日期object交易日

股票代码object不带市场标识的股票代码

开盘float64开盘价

收盘float64收盘价

最高float64最高价

最低float64最低价

成交量int64注意单位: 手

成交额float64注意单位: 元

振幅float64注意单位: %

涨跌幅float64注意单位: %

涨跌额float64注意单位: 元

换手率float64注意单位: %

源代码:

import akshare as ak

from pyecharts.charts import Kline

from pyecharts import options as opts

# 获取股票历史行情数据

def get_stock_data(symbol, period, start_date, end_date, adjust):

stock_hist_df = ak.stock_zh_a_hist(

symbol=symbol,

period=period,

start_date=start_date,

end_date=end_date,

adjust=adjust

)

print("获取到的股票历史行情数据如下:")

print(stock_hist_df)

return stock_hist_df

# 使用pyecharts绘制K线图

def plot_kline(stock_data):

if not stock_data.empty:

# 准备K线图的数据

kline_data = []

for index, row in stock_data.iterrows():

kline_data.append([

row["日期"], # 日期

row["开盘价"], # 开盘价

row["最高价"], # 最高价

row["最低价"], # 最低价

row["收盘价"] # 收盘价

])

# 定义K线图

kline = (

Kline()

.add_xaxis([row[0] for row in kline_data]) # X轴数据为日期

.add_yaxis(

"贵州茅台",

[row[1:] for row in kline_data], # Y轴数据为开盘价、最高价、最低价、收盘价

is_more_utils=True,

)

.set_global_opts(

title_opts=opts.TitleOpts(title="贵州茅台(股票代码:600519)K线图"),

xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=45)), # X轴标签旋转45度

)

.set_series_opts(

itemstyle_opts=opts.ItemStyleOpts(

normal=opts.NormalOpts(color="#ffde33", color0="#00a1ff"),

emphasis=opts.EmphasisOpts(color="#ffde33", color0="#00a1ff")

)

)

)

# 渲染图表到HTML文件

kline.render("guangxi_moutai_kline.html")

print("K线图已生成,文件名为:guangxi_moutai_kline.html")

else:

print("没有获取到数据,无法生成K线图。")

# 设置参数

symbol = "600519"

period = "daily"

start_date = "20240301"

end_date = "20240605"

adjust = "qfq"

# 执行函数

stock_hist_df = get_stock_data(symbol, period, start_date, end_date, adjust)

plot_kline(stock_hist_df)

打开maotai_kline.html,显示如下:

这篇关于AI炒股:获取个股的历史成交价格并画出K线图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1035817

相关文章

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1

通过cmd获取网卡速率的代码

《通过cmd获取网卡速率的代码》今天从群里看到通过bat获取网卡速率两段代码,感觉还不错,学习bat的朋友可以参考一下... 1、本机有线网卡支持的最高速度:%v%@echo off & setlocal enabledelayedexpansionecho 代码开始echo 65001编码获取: >

使用Python实现调用API获取图片存储到本地的方法

《使用Python实现调用API获取图片存储到本地的方法》开发一个自动化工具,用于从JSON数据源中提取图像ID,通过调用指定API获取未经压缩的原始图像文件,并确保下载结果与Postman等工具直接... 目录使用python实现调用API获取图片存储到本地1、项目概述2、核心功能3、环境准备4、代码实现

Spring AI 实现 STDIO和SSE MCP Server的过程详解

《SpringAI实现STDIO和SSEMCPServer的过程详解》STDIO方式是基于进程间通信,MCPClient和MCPServer运行在同一主机,主要用于本地集成、命令行工具等场景... 目录Spring AI 实现 STDIO和SSE MCP Server1.新建Spring Boot项目2.a

Python实现获取带合并单元格的表格数据

《Python实现获取带合并单元格的表格数据》由于在日常运维中经常出现一些合并单元格的表格,如果要获取数据比较麻烦,所以本文我们就来聊聊如何使用Python实现获取带合并单元格的表格数据吧... 由于在日常运维中经常出现一些合并单元格的表格,如果要获取数据比较麻烦,现将将封装成类,并通过调用list_exc

通过C#获取Excel单元格的数据类型的方法详解

《通过C#获取Excel单元格的数据类型的方法详解》在处理Excel文件时,了解单元格的数据类型有助于我们正确地解析和处理数据,本文将详细介绍如何使用FreeSpire.XLS来获取Excel单元格的... 目录引言环境配置6种常见数据类型C# 读取单元格数据类型引言在处理 Excel 文件时,了解单元格

Python实现剪贴板历史管理器

《Python实现剪贴板历史管理器》在日常工作和编程中,剪贴板是我们使用最频繁的功能之一,本文将介绍如何使用Python和PyQt5开发一个功能强大的剪贴板历史管理器,感兴趣的可以了解下... 目录一、概述:为什么需要剪贴板历史管理二、功能特性全解析2.1 核心功能2.2 增强功能三、效果展示3.1 主界面

Java根据IP地址实现归属地获取

《Java根据IP地址实现归属地获取》Ip2region是一个离线IP地址定位库和IP定位数据管理框架,这篇文章主要为大家详细介绍了Java如何使用Ip2region实现根据IP地址获取归属地,感兴趣... 目录一、使用Ip2region离线获取1、Ip2region简介2、导包3、下编程载xdb文件4、J

SpringBoot整合mybatisPlus实现批量插入并获取ID详解

《SpringBoot整合mybatisPlus实现批量插入并获取ID详解》这篇文章主要为大家详细介绍了SpringBoot如何整合mybatisPlus实现批量插入并获取ID,文中的示例代码讲解详细... 目录【1】saveBATch(一万条数据总耗时:2478ms)【2】集合方式foreach(一万条数

python获取网页表格的多种方法汇总

《python获取网页表格的多种方法汇总》我们在网页上看到很多的表格,如果要获取里面的数据或者转化成其他格式,就需要将表格获取下来并进行整理,在Python中,获取网页表格的方法有多种,下面就跟随小编... 目录1. 使用Pandas的read_html2. 使用BeautifulSoup和pandas3.