股票K线图绘制

article/2025/10/28 20:39:55

股票K线图绘制


文章目录

  • 股票K线图绘制
  • 前言
  • 一、股票K线图基础知识
  • 二、用Python绘制股票K线图
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


一、股票K线图基础知识

  • K线图中的柱形通常称为“K线”,因为形似蜡烛,所以也称为蜡烛图。K线是根据股票的4个价格绘制的:开盘价(当天上午9:30开始交易时的价格),收盘价(当天下午3:00结束交易的价格),最高价(当天波动中的最高价),最低价(当天波动中的最低价)。这4个价格分别简称为“高”,“开”,“低”,“收”。

  • K线分为两种:如果当天的收盘价高于开盘价,即当天的价格上涨,称为阳线,通常绘制成红色;反之,如果当天的收盘价低于开盘价,即当天的价格下降,称为阴线,通常绘制成绿色。

  • K线图中的折线称为“均线”,均线分别为5日均线(MA5),10日均线(MA10),20日均线(MA20)等,其绘制原理是对一定时期内股票的收盘价对平均值。例如:要绘制日均线,就要先计算最近连续5个交易日收盘价的平均值,具体公式如下,其中Close1为当天的收盘价,Close2为前一天的收盘价,以此类推。

       MA5 = (Close1+Close2+Close3+Close4+Close5)/5
    

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、用Python绘制股票K线图

(1)安装绘制K线图的mpl_finance库

在windows终端输入:
pip install mpl_finance

(2)引入相关库

import tushare as ts
import matplotlib.pyplot as plt
import mpl_finance as mpf

(3)用Tushare库获取股票基本数据

# 通过tushare库获取股票代码为"000002"的股票"万科A"2019-06-012019-09-30的股价数据
df = ts.get_k_data('000002',"2019-06-01","2019-09-30")
# 查看部分数据
print(df.head())

(4)日期格式调整及表格转换

# (2)日期格式调整及表格转换
# 导入调整日期的格式涉及的两个库
from matplotlib.pylab import date2num
import datetime
# 将Tushare库获取到的日期数据转换成candlestick_ochl()函数可读取的格式def date_to_num(dates):num_time = []for date in dates:date_time = datetime.datetime.strptime(date,'%Y-%m-%d')num_date = date2num(date_time)num_time.append(num_date)return num_time# 将DataFrame转换为二维数组,并利用date_to_num()函数转换日期格式
df_arr = df.values  # 将DataFrame格式中的数据转换为二维数组
df_arr[:,0] = date_to_num(df_arr[:,0]) # 将二维数组中的日期转换为数字格式
# print(df_arr[0:5])

在这里插入图片描述
(5)绘制K线图

# 绘制K线图
fig, ax = plt.subplots(figsize=(15,6))
mpf.candlestick_ochl(ax,df_arr,width=0.6,colorup='r',colordown='g',alpha=1.0) # 绘制K线图
plt.grid(True) # 绘制网格图
ax.xaxis_date()  # 设置x轴的刻度格式为常规日期格式

在这里插入图片描述
(6)添加均线图

# (6)添加均线图
df["MA5"] = df["close"].rolling(5).mean()
df["MA10"] = df["close"].rolling(10).mean()plt.rcParams["font.sans-serif"] = ["SimHei"] # 设置正常显示中文
fig,ax = plt.subplots(figsize=(15,8))
# 绘制K线图
mpf.candlestick_ochl(ax,df_arr,width=0.6,colorup='r',colordown='g',alpha=1.0)plt.plot(df_arr[:,0],df["MA5"])
plt.plot(df_arr[:,0],df["MA10"])plt.grid(True)  # 绘制网格图plt.title("万科A")
plt.xlabel("日期")
plt.ylabel("价格")
ax.xaxis_date()  # 设置x轴的刻度格式为常规日期格式
plt.show()

在这里插入图片描述

(7)添加每日成交量柱形图

# (7)添加每日成交量柱形图
fig,axes = plt.subplots(2,1,sharex=True,figsize=(15,8))
ax1,ax2 = axes.flatten()# 绘制第1张子图:K线图和均线图
mpf.candlestick_ochl(ax1,df_arr,width=0.6,colorup="r",colordown="g",alpha=1.0)
ax1.plot(df_arr[:,0],df["MA5"])   # 绘制5日均线
ax1.plot(df_arr[:,0],df["MA10"])  # 绘制10日均线ax1.set_title("万科A")  # 设置子图的标题
ax1.set_ylabel("价格")  # 设置子图的y轴标签
ax1.grid(True)
ax1.xaxis_date()# 绘制第2张子图:每日成交量柱形图
ax2.bar(df_arr[:,0],df_arr[:,5])  # 绘制每日成交量柱形图
ax2.set_xlabel("日期")  # 设置子图的x轴标签
ax2.set_ylabel("成交量") # 设置子图的y轴标签
ax2.grid(True)
ax2.xaxis_date()plt.show()

在这里插入图片描述


总结

参考书籍:《Python大数据分析与机器学习商业案例


http://chatgpt.dhexx.cn/article/PiNHpe10.shtml

相关文章

屏幕画笔工具Pointofix,期货/股票复盘分析画线好工具

工具介绍: Pointofix可以将K线图表定格在屏幕某一个画面上,然后可以使用工具趋势线、图形,放大某个细节等,是一款很好的复盘分析画线工具。 Pointofix使用功能: 1.高亮屏幕:手绘笔; 2.直线&…

解决一个信号6问题(sig6,signal6,SIGABRT,double free or corruption (!prev))

我遇到的信号6 99%都是由于数据越界导致,在memcpy的时候没有错误,在free的时候系统报SIGABRT。今天也不例外。代码是我写的,考虑不周,以后拷贝更多加小心。 上图中的data大小为1024,如果memcpy 1025各字节,…

Thread 1:Program received signal:SIGABRT错误之一

引起错误Thread 1:Program received signal:"SIGABRT"的可能情况很多 本文描述的是使用Tab Bar Controller时Tab Bar Item对应的View Controller在Attributes inspector中的NIB NAME与在identity inspector中的class设置的不对应引起的。 如图(图片可能…

Thread 1: signal SIGABRT问题解决

解决办法是记住先前的操作,找到相关问题原因,比如控件关联。 如图打开 Show the Connections inspector把相关联的Outlet叉掉: 猜测:Thread 1: signal SIGABRT类型的错误,是某种具体的内部关联引发的错误&#xff0c…

Android异常之SIGABRT

欢迎关注WX公众号: Android开发时出现这样的报错信息: # unknown(29937)SIGABRT #00 pc 0004a124 /system/lib/libc.so (tgkill12) [armeabi-v7a] 2 #01 pc 000478c3 /system/lib/libc.so (pthread_kill34) [armeabi-v7a] 3 #02 pc 0001d525 /system/li…

SIGABRT错误的解决办法

本人原创,转载请注明出处:http://iphone.xiaoxiaostudio.net 在iPhone开发中可能经常会遇到 SIGABRT 错误,我开始也不知道如何调试SIGABRT这个错误,每次都是不断的尝试,最后在stackoverflow找到了方法,整理…

SIGKILL和SIGTERM、SIGINT

如果不对信号处理,就会导致程序退出,但如果程序捕获信号进行处理,按照它的逻辑,它是不一定会退出的。 在这三个信号中,sigkill是不能被捕获的,程序收到这个信号后,一定会退出。这就是kill -9一…

C++ signal信号(SIGHUP、SIGINT、SIGQUIT、SIGILL、SIGTRAP、SIGABRT等等的说明)

转载来自:https://blog.csdn.net/u014470361/article/details/83591513 SIGHUP /* hangup */ ~~~~~~ SIGHUP,hong up ,挂断。本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各…

Fatal signal 6 (SIGABRT), code 0 (SI_USER) in tid 2377 (Thread-2), pid 2335

app 运行报错 解决: 选择菜单:File->Settings->Build,Execution,Deployment->Instant Run,将右侧的顶部复选框关闭即可。

linux——signal信号(SIGHUP、SIGINT、SIGQUIT、SIGILL、SIGTR

SIGHUP /* hangup */ SIGHUP,hong up ,挂断。本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联。 登录Linux时,系统会分配给登录…

linux——signal信号(SIGHUP、SIGINT、SIGQUIT、SIGILL、SIGTRAP、SIGABRT...........................)

SIGHUP /* hangup */ ~~~~~~ SIGHUP,hong up ,挂断。本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联。 ~~~~~~ 登录Linux时,系统会分配给登录用户…

CANopen DS402 驱动电机运动控制与顺序功能图SFC设计方法

总线型步进电机驱动器 总线型步进电机驱动器是一个总的概括, 物理总线逻辑通信协议RS-485Modbus/RTUCANbusCANopenEthernetEtherNET/IPEtherneteSCL工业以太网PROFINET 其涉及基于RS-485的Modbus/RTU协议、基于CANbus 的 CANopen 协议、 基于 Ethernet 的 Ether…

CANopen dsp402 对象字典 603F 错误码

Object 603Fh: Error code The Error code captures the code of the last error that occurred in the drive. It corresponds to the value of the lower 16 bits of object 1003h pre-defined error field.

新魔百和九联UNT402A-免拆机-刷机固件及教程

新魔百和九联UNT402A-免拆机-刷机固件及教程 步骤一:【打开adb功能】 将机顶盒插入网线连接电视并开机--然后准备一个USB键盘插入机顶盒,然后机顶盒开机1分钟后,按USB键盘上的F7和F8按钮 两个按钮交替按,随后弹出一个界面&#x…

EtherCAT从站协议栈代码笔记之cia402appl.c

原文:https://nobuta.blog.csdn.net/article/details/82425552?utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.control&dist_request_id&depth_1-utm_sourcedistribute.pc_relevant.none-…

汇川AM402、H3U和上位机C#ModebusTcp通讯

目录 一、测试任务 二、测试环境 三、PLC工程 1、组态配置 2、ip地址、端口号 3、全局变量定义 四、C#端Winform程序创建 1创建主界面 2、创建子窗口 3、运行生成,界面效果 4、Modebus协议说明 5、Modebus操作说明 六、AM402测试 1、寄存器读测试 2、MW1…

新魔百和UNT402A免拆机破解(附教程)

九联UNT402A刷机教程指南 今天跟大家分享下关于九联UNT402A刷机教程, UNT402A与UNT之前型号有明显区别, 就是采用的处理器不在是海思处理器, 取而代之的是晶晨处理器,下面讲讲如何刷机 下载地址: 百度链接&#xff1…

重新激活“HTTP错误代码402”,释放Web 3.0的潜力(上)

发表时间:2022年2月28日 信息来源:coingeek.com 原文作者:Jerry Chan 是时候夺回互联网了。 在这个互联网充斥着广告和恶意软件的时代,个人数据和网络冲浪历史被收集并贩卖,用以偿付网络上大量免费提供的信息。我们身…

计算机考研402,考研初试402高分复试被淘汰,原来因为这几点被pass掉,以此为戒...

原标题:考研初试402高分复试被淘汰,原来因为这几点被pass掉,以此为戒 近几日,不少高校都已经举行了考研复试,并且已经在官网上公布了录取结果,大家都知道复试是考研的一个关键阶段!加上今年复试…

基于汇川AM402编写跑马灯程序

1、根据实际的设备及组装顺序进行组态。下图是我实际添加设备。 x 2、创建两个程序组织单元,PLC_PRG和POU。在程序组织单元PLC_PRG下添加两个动作“跑马灯”和“跑马灯2”,然后再将程序组织单元POU添加进任务当中。 在动作“跑马灯”下编写程序&#x…