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,显示如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值