请用python输出代码,用akshare输出600072的近60日日线数据,然后用pyecharts的Kline生成K线图,且在K线图上标记N个不同日期的Buy和Sell的标记
时间: 2024-12-17 08:19:09 浏览: 21
首先,你需要安装`akshare`库用于获取股票数据,以及`pyecharts`库用于绘制K线图。你可以使用以下命令安装:
```bash
pip install akshare pyecharts
```
接下来是一个示例代码,它会获取600072近60日的日线数据,然后创建一个K线图并标记买入和卖出点:
```python
import akshare as ak
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Kline
# 获取股票数据
stock_df = ak.stock_zh_a_daily(symbol="600072", adjust="qfq", start_date='2023-01-01', end_date='2023-04-30') # 以最近60天为例
# 提取关键信息并处理数据
data = stock_df.iloc[-60:].reset_index(drop=True)
open_price = data['open']
close_price = data['close']
high_price = data['high']
low_price = data['low']
date = data['trade_date']
# 创建K线图,并设置标记位置(这里仅做示例,通常需要实际交易策略确定买点和卖点)
buys = ['2023-03-01', '2023-03-15'] # 替换为你选择的实际买入日期
sells = ['2023-03-30', '2023-04-15'] # 替换为你选择的实际卖出日期
# 将日期转换为PyEcharts可以接受的数据格式
buy_dates = [pd.to_datetime(date).tolist().index(pd.Timestamp(buy)) for buy in buys]
sell_dates = [pd.to_datetime(date).tolist().index(pd.Timestamp(sell)) for sell in sells]
# 绘制K线图
k = (
Kline()
.add_xaxis(date.tolist())
.add_y_axis("价格", [open_price, close_price, high_price, low_price])
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.extend_axis(
xaxis=opts.AxisOpts(
name="日期",
type_="category",
boundary_gap=False,
split_line_opts=opts.SplitLineOpts(is_show=False),
)
)
.set_global_opts(title_opts=opts.TitleOpts(title="600072日线图"))
)
# 添加买入和卖出标记
for i, buy in enumerate(buys):
k.add_annulus(
coord=[date.index(buy), close_price[i]],
color="#87CEFA",
radius=["3%", "9%"],
is_label_show=True,
label_text="买入",
)
for i, sell in enumerate(sells):
k.add_annulus(
coord=[date.index(sell), close_price[i]],
color="#FFA500",
radius=["3%", "9%"],
is_label_show=True,
label_text="卖出",
)
k.render("600072_kline.html") # 保存图表到HTML文件
```
请注意,这只是一个基础示例,实际应用中你可能需要结合具体的技术分析指标或其他交易策略来确定买入和卖出点。同时,由于实时股票数据可能会受限,上述代码可能无法获取真实的最新数据。
阅读全文