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 MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

C#实现WinForm控件焦点的获取与失去

《C#实现WinForm控件焦点的获取与失去》在一个数据输入表单中,当用户从一个文本框切换到另一个文本框时,需要准确地判断焦点的转移,以便进行数据验证、提示信息显示等操作,本文将探讨Winform控件... 目录前言获取焦点改变TabIndex属性值调用Focus方法失去焦点总结最后前言在一个数据输入表单

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

python中os.stat().st_size、os.path.getsize()获取文件大小

《python中os.stat().st_size、os.path.getsize()获取文件大小》本文介绍了使用os.stat()和os.path.getsize()函数获取文件大小,文中通过示例代... 目录一、os.stat().st_size二、os.path.getsize()三、函数封装一、os

python获取当前文件和目录路径的方法详解

《python获取当前文件和目录路径的方法详解》:本文主要介绍Python中获取当前文件路径和目录的方法,包括使用__file__关键字、os.path.abspath、os.path.realp... 目录1、获取当前文件路径2、获取当前文件所在目录3、os.path.abspath和os.path.re

Java子线程无法获取Attributes的解决方法(最新推荐)

《Java子线程无法获取Attributes的解决方法(最新推荐)》在Java多线程编程中,子线程无法直接获取主线程设置的Attributes是一个常见问题,本文探讨了这一问题的原因,并提供了两种解决... 目录一、问题原因二、解决方案1. 直接传递数据2. 使用ThreadLocal(适用于线程独立数据)

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,