用tushare和mplfinance画K线图

2023-12-07 05:50
文章标签 线图 tushare mplfinance

本文主要是介绍用tushare和mplfinance画K线图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

导入 tushare并连接API获取股票数据

import tushare as ts
ts.set_token('Your token')
pro = ts.pro_api()
df= pro.daily(ts_code='600809.SH', start_date='20220401', end_date='20220701')

导入需要的包

import pandas as pd
import numpy as np
import mplfinance as mpf
import matplotlib.pyplot as plt
import talib
from matplotlib.dates import DateFormatter, WeekdayLocator, DayLocator, MONDAY,YEARLY
df1=df

 mplfinance对数据格式有要求需做一定的处理


def getData(df):df=pd.DataFrame(df)df.rename(columns={'trade_date':'Date','open':'Open','high':'High','low':'Low','close':'Close','vol':'Volume'},inplace=True)df=df[['Date','Open','High','Low','Close','Volume']]df['Date']=pd.to_datetime(df['Date'])df.set_index(['Date'],inplace=True)df=df.sort_index()return df
df=getData(df)

 设置自己的绘画风格

#设置绘画风格
mystyle = dict(style_name    = 'style',base_mpl_style= 'fast', marketcolors  = {'candle'  : {'up':'w', 'down':'g'}, #填充颜色'edge'    : {'up':'r', 'down':'g'}, #边缘颜色'wick'    : {'up':'r', 'down':'g'}, #灯芯颜色'ohlc'    : {'up':'r', 'down':'g'},'volume'  : {'up':'r', 'down':'g'}, #交易量颜色'vcdopcod': True, 'alpha'   : 1.0,},mavcolors     = ['#ef5714','#ef5714','#9f4878','#9f4878'], #均线颜色y_on_right    = False,gridcolor     = '#a0a0a0',gridstyle     = '--',facecolor     = 'w',rc            = [ ('axes.edgecolor'  , 'white'   ),('axes.linewidth'  ,  1.5      ),('axes.labelsize'  , 'large'   ),('axes.labelweight', 'semibold'),('axes.grid'       ,  True     ),('axes.grid.axis'  ,  'y'      ),('grid.linewidth'  ,  0.4      ),('lines.linewidth' ,  2.0      ),('font.weight'     , 'medium'  ),('font.size'       ,  10.0     ),('figure.titlesize', 'x-large' ),('figure.titleweight','semibold'),],base_mpf_style= 'charles')
#加上字体的设置,否则中文会乱码
normal_font = {'fontname':'STZhongsong','size':     '12','color':    'green','va':       'bottom','ha':       'left'}

获得K线数据

#获得均线
def MA(df,k):close = [float(x) for x in df['Close']]x=talib.MA(np.array(close), timeperiod=k)return x
df1['MA3']=MA(df,3)
df1['MA10']=MA(df,10)
df1['MA21']=MA(df,21)

画图

#选择自己的绘画风格
fig = mpf.figure(figsize=(10, 6),style=mystyle) 
ax1 = fig.add_subplot(2, 1, 1)
ax2 = fig.add_subplot(2, 1, 2, sharex=ax1)
fig.subplots_adjust(hspace=0)   #子图之间没有间隔
plt.xlabel('date',fontsize=10)  #指定X轴标签和大小
plt.tick_params(labelsize=6)#指定X轴刻度字体大小
#为子图1添加均线
ax1.plot(df1['Date'],df1['MA3'],label='MA3',color='slategray')
ax1.plot(df1['Date'],df1['MA10'],label='MA10',color='skyblue')
ax1.plot(df1['Date'],df1['MA21'],label='MA21',color='#ef5714')
ax1.legend(fontsize=7)
#用mplfinance画出蜡烛图
mpf.plot(df, type='candle',ylabel='Candle', axtitle='my style',ax=ax1,volume=ax2)

结果如图:

 

这篇关于用tushare和mplfinance画K线图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/464721

相关文章

Tushare库:Python金融数据分析的利器

文章目录 Tushare库:Python金融数据分析的利器一、引言二、Tushare库的安装与基础应用1、安装Tushare2、基础用法1.1 导入Tushare库1.2 获取数据 三、深入应用:案例分析1、股票收益策略模拟1.1 数据获取与处理1.2 策略模拟 四、总结 Tushare库:Python金融数据分析的利器 一、引言 在金融数据分析领域,Python因其强大

计算机毕业设计Python+Tensorflow股票推荐系统 股票预测系统 股票可视化 股票数据分析 量化交易系统 股票爬虫 股票K线图 大数据毕业设计 AI

《Tensorflow股票预测系统》开题报告 一、研究背景与意义 随着信息技术的飞速发展和金融市场的日益复杂化,股票作为金融市场的重要组成部分,其价格波动受到广泛关注。传统的股票预测方法如技术分析和基本面分析,虽然在一定程度上能够辅助投资者做出决策,但存在主观性强、数据处理能力有限等不足,难以满足现代投资者的需求。因此,利用机器学习技术,特别是深度学习技术,对股票价格进行预测成为当前研究的热点

【科研绘图】【3D轨线图】:附Origin详细画图流程

目录 No.1 理解3D轨线图 No.2 画图流程 1 导入数据并绘图 2 设置绘图细节 3 设置坐标轴 4 效果图 No.1 理解3D轨线图 3D轨线图,是指在三维坐标系中,通过连续的点或线段连接而成的图形,用于表示一个或多个物体在三维空间中的运动路径。这些路径可以是直线、曲线或者更复杂的轨迹,它们随时间的变化而变化,从而展示物体的动态行为。 No.2 画图

计算机毕业设计Spark+PyTorch股票推荐系统 股票预测系统 股票可视化 股票数据分析 量化交易系统 股票爬虫 股票K线图 大数据毕业设计 AI

《Spark+PyTorch股票推荐与预测系统》开题报告 一、研究背景与意义 随着信息技术的飞速发展和全球金融市场的日益繁荣,股票投资已成为广大投资者的重要选择之一。然而,股票市场的复杂性和不确定性使得投资者在做出投资决策时面临巨大的挑战。传统的股票分析方法主要依赖于人工收集、整理和分析大量的市场数据,这不仅效率低下,而且难以准确捕捉市场的细微变化。因此,利用大数据和人工智能技术构建一个高效、

Cesium加载高速公路样式线图层和利用CSS撰写高速公路样式

在ArcGIS软件中是将多个线图层叠加(宽的叠加在下方防止遮盖其他图层)    依照此想法在Cesium中加载高速公路线图层时 在 Cesium 中,直接设置线(如 Polyline)的样式为“高速公路样式”并不直接支持,因为 Cesium 没有内置的特定于高速公路的样式选项。不过,你可以通过自定义线的样式来模拟高速公路的外观,包括在线的外边界添加黑色描边。 要在 Cesium 中实现

Origin制图——点线图转换为叠层图

1.当我们绘制点线图的时候我们发现,当数据差距较大或者差距较小的时候,绘制的图会很难看,如下图所示。怎么样才能更好的表达图的意思并且好看。那么接下来分享一下最新学习的叠层图教学。 2.首先我们还是按照点线图的画图方法,将点线图优化。简单优化后的数据图如下所示。可以看到这是很紧密的,也十分的不好看,因此我们需要对数据进行分层。 3.点击右上角的图层分层。原始是2行2列,我们只需要4行1列(4个

K 线图快速绘制教程:使用 KLineChart 展示 DolphinDB K 线

KLineChart 是一款开源、简单易用、适用场景丰富的 Web 前端金融图表,基于 html5 canvas 构建,零依赖压缩包仅 40K,非常轻量。它可以用于渲染金融 K 线图,同时支持多种数据源,提供了丰富的交互功能以及指标计算接口。由于 KLineChart 高度可定制且用户友好,非常适合开发者将复杂的图表功能集成到其他金融应用程序中。 DolphinDB 身为一个高性能的数据库,不仅

AI炒股:自动画出A股股票的K线图并添加技术指标

在deepseek中输入提示词: 你是一个Python编程专家,要完成一个编写Python脚本的任务,具体步骤如下: 用AKShare库获取股票贵州茅台(股票代码:600519)在2024年3月7日到2024年6月5日期间的历史行情数据-前复权。 然后绘制K线图,并在K线图上添加布林线、MACD 注意: 每一步都要输出信息到屏幕上; 日期格式是YYYYMMDD; 设置中文字体,以解决

箱线图模板

箱线图模板 import pandas as pdimport matplotlib.pyplot as plt# 创建一个示例数据字典,其中包含长度不同的列表data = {'Category1': [23, 45, 56, 78, 213, 45, 56, 78, 98, 123,88],'Category2': [123, 345, 56, 78, 213, 45, 56, 178,

百度 echarts K线图使用

看个效果图先 首先在需要插入图例的HTML中嵌入  <div id= "main"  style= "height:400px" ></div> 接着引入echarts.js    <script src= "http://echarts.baidu.com/build/dist/echarts.js" ></script> 最后在加入图例生成JS -------- 请