当前位置: 首页 > article >正文

python:mplfinance 画K线图+布林线

pip install mplfinance ;

python 安装使用 TA-lib 
安装主要在 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 
这个网站找到
TA_Lib-0.4.24-cp310-cp310-win_amd64.whl

pip install /pypi/TA_Lib-0.4.24-cp310-cp310-win_amd64.whl
编写 mpf_kline_boll.py  如下

# -*- coding: utf-8 -*-
import os
import sys
import matplotlib.pyplot as plt
import mplfinance as mpf
import pandas as pd
import tushare as ts
import talib

if len(sys.argv) ==2:
    code = sys.argv[1]
else:
    print('usage: python mpf_kline_boll.py stockcode ')
    sys.exit(1)

if len(code) !=6:
    print('stock code length: 6')
    sys.exit(2)

# help(ts.get_k_data) 了解参数
df = ts.get_k_data(code, start='2023-01-01')
if len(df) <30:
    print(" len(df) <30 ")
    sys.exit(2)

# 取收盘价
close = df['close'].values
# 计算布林线
df['upper'], df['mid20'], df['lower'] = talib.BBANDS(close, 
                           timeperiod=20, nbdevup=2, nbdevdn=2, matype=0)

df.index = pd.to_datetime(df.date)
# 取样 近期的数据
df2 = df[ df['date'] >'2023-05-01']
print(df2.tail(5))

my_color = mpf.make_marketcolors(up='red', down='green', edge='black', wick='black')
my_style = mpf.make_mpf_style(marketcolors=my_color, gridaxis='both', gridstyle='-.', y_on_right=True)
#fig = mpf.figure(style=my_style, figsize=(12,6), facecolor=(0.82, 0.83, 0.85))
# 加画3条布林线
ap = mpf.make_addplot(df2[['upper','mid20','lower']])
# 绘画K线图
mpf.plot(df2, type='candle', style='charles', addplot=ap, volume=True, title=code)
#mpf.plot(df2, type='candle', style=my_style, addplot=ap, volume=True, title=code)

运行 python mpf_kline_boll.py 002594

参考:mplfinance最佳实践:动态交互式高级K线图(蜡烛图)


http://www.kler.cn/a/163436.html

相关文章:

  • 【go从零单排】Mutexes互斥锁
  • [SWPUCTF 2022 新生赛]Power! 反序列化详细题解
  • 解决MySQL中整型字段条件判断禁用不生效的问题
  • Leetcode 找出字符串中第一个匹配项的下标
  • 第四十三章 Vue之mapMutations简化mutations操作
  • C++初阶——vector
  • 【C++】map/multimap/set/multiset的经典oj例题 [ 盘点&全面解析 ] (28)
  • git如何配置多个远程仓库,并且进行切换
  • Qt 容器QGroupBox带有标题的组框框架
  • 二叉树的层序遍历[中等]
  • C++基础 -42- STL库之list链表
  • Qt 鼠标左键推拽界面
  • bash中通过变量中的内容获取对应的关联数组
  • Navicat 技术指引 | 适用于 GaussDB 分布式的日志查询与配置设置
  • JWT介绍及演示
  • 自动抓取App数据
  • 笔记-基于CH579M模块通过网线直连电脑进行数据收发(无需网络)
  • 搜索引擎和网络浏览器之间的区别
  • 【Linux系统化学习】进程地址空间 | 虚拟地址和物理地址的关系
  • 【漏洞复现】FLIR AX8红外线热成像仪命令执行漏洞
  • Realme X7 Pro Root 刷机教程
  • 【PyTorch】 暂退法(dropout)
  • C# Solidworks二次开发:选择管理器相关的API介绍
  • 使用 PyTorch 进行 K 折交叉验证
  • 轻量封装WebGPU渲染系统示例<43>- PBR材质与阴影实(源码)
  • Selenium+Unittest+HTMLTestRunner框架更改为Selenium+Pytest+Allure(二)