AI炒股:自动画出A股股票的K线图并添加技术指标
创作时间:
作者:
@小白创作中心
AI炒股:自动画出A股股票的K线图并添加技术指标
引用
CSDN
1.
https://m.blog.csdn.net/AIGCTribe/article/details/139911308
本文将介绍如何使用Python编程语言和AKShare库获取A股股票的历史行情数据,并绘制包含布林线和MACD指标的K线图。以贵州茅台(股票代码:600519)为例,展示从2024年3月7日到2024年6月5日期间的数据分析过程。
在deepseek中输入提示词:
你是一个Python编程专家,要完成一个编写Python脚本的任务,具体步骤如下:
用AKShare库获取股票贵州茅台(股票代码:600519)在2024年3月7日到2024年6月5日期间的历史行情数据-前复权。
然后绘制K线图,并在K线图上添加布林线、MACD
注意:
每一步都要输出信息到屏幕上;
日期格式是YYYYMMDD;
设置中文字体,以解决中文显示乱码问题;
源代码:
import akshare as ak
import matplotlib.pyplot as plt
import pandas as pd
from mplfinance.original_flavor import candlestick_ohlc
import matplotlib.dates as mdates
import numpy as np
# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
# 获取股票数据
stock_code = "600519"
start_date = "20240307"
end_date = "20240605"
print(f"正在获取股票 {stock_code} 从 {start_date} 到 {end_date} 的历史行情数据...")
stock_data = ak.stock_zh_a_hist(symbol=stock_code, start_date=start_date, end_date=end_date, adjust="qfq")
print("数据获取成功!")
# 将日期列转换为 matplotlib 可识别的日期格式
stock_data['日期'] = pd.to_datetime(stock_data['日期']).apply(lambda x: mdates.date2num(x))
# 重新排列列顺序以适应 mplfinance 的格式
stock_data = stock_data[['日期', '开盘', '最高', '最低', '收盘', '成交量']]
# 计算布林线
stock_data['中轨'] = stock_data['收盘'].rolling(window=20).mean()
stock_data['上轨'] = stock_data['中轨'] + 2 * stock_data['收盘'].rolling(window=20).std()
stock_data['下轨'] = stock_data['中轨'] - 2 * stock_data['收盘'].rolling(window=20).std()
# 计算 MACD
exp1 = stock_data['收盘'].ewm(span=12, adjust=False).mean()
exp2 = stock_data['收盘'].ewm(span=26, adjust=False).mean()
stock_data['MACD'] = exp1 - exp2
stock_data['信号线'] = stock_data['MACD'].ewm(span=9, adjust=False).mean()
stock_data['MACD柱'] = stock_data['MACD'] - stock_data['信号线']
# 绘制K线图
fig, (ax1, ax2) = plt.subplots(2, 1, sharex=True, figsize=(14, 10))
# 绘制K线
candlestick_ohlc(ax1, stock_data[['日期', '开盘', '最高', '最低', '收盘']].values, width=0.6, colorup='red', colordown='green')
ax1.plot(stock_data['日期'], stock_data['中轨'], label='中轨')
ax1.plot(stock_data['日期'], stock_data['上轨'], label='上轨')
ax1.plot(stock_data['日期'], stock_data['下轨'], label='下轨')
ax1.xaxis_date()
ax1.legend()
ax1.set_title('贵州茅台 K线图与布林线')
# 绘制MACD
ax2.plot(stock_data['日期'], stock_data['MACD'], label='MACD')
ax2.plot(stock_data['日期'], stock_data['信号线'], label='信号线')
ax2.bar(stock_data['日期'], stock_data['MACD柱'], label='MACD柱')
ax2.xaxis_date()
ax2.legend()
ax2.set_title('贵州茅台 MACD')
plt.tight_layout()
plt.show()
热门推荐
日本桥餐厅三代目厨师炸鸡秘籍:白酱油+味啉打造外酥里嫩的完美口感
提升职场竞争力,从情感智商开始
黄鼠狼又双叒叕来袭,养鸡场如何应对?
虢国夫人:大唐最神秘的“网红”
戴向宇《喋血边境》硬汉角色引爆热议
春节对联尺寸的秘密:从实用到文化传承
哈尔滨冰雪大世界:全球最大冰雪主题公园,2024年全新升级亮相
哈尔滨城史文物馆:百年历史的守护者
探访刘少奇故居:一座承载红色记忆的江南民居
榆次老城打卡圣地:城隍庙&县衙
面向春山万里!向汉中这座小城出发,开启一场寻春之旅~
预知梦与第三视角:梦境背后的高维空间之谜
机器定义的科学原理探析:从动力到信息
解密红烧肉:从科学原理到地域特色
苏东坡教你做红烧肉:古法烹饪与生活智慧
洛杉矶地震风险再评估:20年后,我们准备好了吗?
洛杉矶华人区地震:震感强烈,社区有序应对
左归丸:专治肾阴虚引发的腰酸盗汗,这些人群禁用
寒假健康美味菜谱推荐
从武则天到周总理:洛阳牡丹燕菜的传奇身世
雪乡交通指南:亚雪公路自驾最佳,包车最省心
超算与智算界限渐模糊,专家:超智融合是大势所趋
短视频平台技术揭秘:从云平台到应用层
世界强化免疫日:警惕过量饮食危害
儿童肥胖,过量饮食的隐形杀手
电动自行车挡风被暗藏风险,专家建议用头盔手套替代
多地禁用挡风被,专家推荐这些安全保暖装备
挡风被致电动车事故频发,专家推荐四种安全替代方案
有氧无氧运动燃脂效果对比:专家建议结合进行
台风“贝碧嘉”致常州高速管制,建议市民选择地面道路出行