python 获取股市数据 baostock + 画K线图 mpl_finance

  • 获取股票数据
    • 安装baostock库
    • baostock库的特性
    • 获取A股K线数据
      • 核心代码如下
      • 完整代码如下
  • 画K线图
    • 安装mpl_finance库
    • mpl_finance库的特性
    • 最简单的使用

获取股票数据

安装baostock库

pip install baostock

baostock库的特性

  1. 证券宝www.baostock.com是一个免费、开源的证券数据平台(无需注册)
  2. 返回的数据格式是pandas DataFrame类型,以便于用pandas/NumPy/Matplotlib进行数据分析和可视化
  3. 当前交易日17:30,完成日K线数据入库
  4. 当前交易日20:30,完成分钟K线数据入库
  5. 第二自然日1:30,完成前交易日“其它财务报告数据”入库

获取A股K线数据

注意:baostock库除了获取K线数据之外,还能获取估值指标、盈利能力、营运能力、成长能力、偿债能力等信息,但因为本文聚焦于对K线图的绘制,因此不涉及这些函数的使用。

核心代码如下

import baostock as bslg = bs.login()
rs = bs.query_history_k_data_plus("sh.000001",   "date,code,open,high,low,close",start_date='2020-07-01', end_date='2020-07-29',frequency="d", adjustflag="3")

第一个参数指定要获取K线数据的股票的代码,上证综指是“sh.000001”,深证成指是“sz.399001”,而创业板指是“sz.399006”,也可以是各个股票的代码,例如浦发银行“sh.600000”。

第二个参数指定要提取的数据,例子中的“date,code,open,high,low,close”分别对应日期、代码、开盘价、最高价、最低价、收盘价。其余可以指定的数据和含义如下

参数名称 参数描述 说明
date 交易所行情日期 格式:YYYY-MM-DD
code 证券代码 格式:sh.600000。sh:上海,sz:深圳
open 今开盘价格 精度:小数点后4位;单位:人民币元
high 最高价 精度:小数点后4位;单位:人民币元
low 最低价 精度:小数点后4位;单位:人民币元
close 今收盘价 精度:小数点后4位;单位:人民币元
preclose 昨日收盘价 精度:小数点后4位;单位:人民币元
volume 成交数量 单位:股
amount 成交金额 精度:小数点后4位;单位:人民币元
adjustflag 复权状态 不复权、前复权、后复权
turn 换手率 精度:小数点后6位;单位:%
tradestatus 交易状态 1:正常交易 0:停牌
pctChg 涨跌幅(百分比) 精度:小数点后6位
peTTM 滚动市盈率 精度:小数点后6位
psTTM 滚动市销率 精度:小数点后6位
pcfNcfTTM 滚动市现率 精度:小数点后6位
pbMRQ 市净率 精度:小数点后6位
isST 是否ST 1是,0否

第三个参数start_date指定数据的开始日期(包含),为空时取2015-01-01。

第四个参数end_date指定数据的结束日期(包含),为空时取最近一个交易日。

第五个参数frequency指定数据类型,默认为d,日k线;d=日k线、w=周、m=月、5=5分钟、15=15分钟、30=30分钟、60=60分钟k线数据,不区分大小写。

第六个参数adjustflag指定复权类型,默认不复权:3;1:后复权;2:前复权。已支持分钟线、日线、周线、月线前后复权。 对于指数来说,该参数没有任何影响。

完整代码如下

import baostock as bs
import pandas as pd# 登陆系统
lg = bs.login()# 获取沪深A股历史K线数据
rs = bs.query_history_k_data_plus("sh.000001","date,code,open,high,low,close",start_date='2020-07-01', end_date='2020-07-29',frequency="d", adjustflag="3")# 输出结果
data_list = []
while (rs.error_code == '0') & rs.next():# 获取一条记录,将记录合并在一起data_list.append(rs.get_row_data())
result = pd.DataFrame(data_list, columns=rs.fields)# 结果集输出到csv文件
result.to_csv("szzz.csv", index=False)
print(result)# 退出系统
bs.logout()

画K线图

安装mpl_finance库

pip install --upgrade mplfinance

mpl_finance库的特性

mpl_finance库提供了对财务数据进行可视化和分析的工具。

最简单的使用

import pandas as pd
import mplfinance as mpf# 读取刚刚保存的数据
daily = pd.read_csv('szzz.csv', index_col=0, parse_dates=True, usecols=[0, 2, 3, 4, 5])mpf.plot(daily)

咦?怎么和平常见的不一样?加入一些参数即可!

mpf.plot(daily, type='candle')


敢不敢再丑一点?

mpf.plot(daily, type='candle', style='charles')

mpf.plot(daily, type='candle', style='yahoo')

mpf.plot(daily, type='candle', style='starsandstripes')

python 获取股市数据 baostock + 画K线图 mpl_finance相关推荐

  1. python绘制动态k线及均线,python : pyecharts 1.1.0 画K线图

    pip install pyecharts ; 会安装 pyecharts-1.1.0 画K线图 kline1.py # coding: utf-8 import os, sys from pyech ...

  2. python画k线图_python自动获取行情数据,并画k线图

    1.概述 本例子为画k线图,同时画出5日,10日,30日均线,且鼠标移动到上面会显示当前交易日,开盘价,收盘价,最高价,最低价. 移动平均线:Moving Average,简称MA,MA是用统计分析的 ...

  3. 【转】Python之获取每日涨停板股票数据并绘制K线图!

    利用tushare财经数据接口获取股市进行数据分析.并可视化的案例 1.导入所需要的库 import os import pandas as pd import tushare as ts impor ...

  4. Python之获取每日涨停板股票数据并绘制K线图!

    利用tushare财经数据接口获取股市进行数据分析.并可视化的案例 1.导入所需要的库 import os import pandas as pd import tushare as ts impor ...

  5. Python之数据分析(Numpy中读取与保存数据文件、将数据文件制成K线图)

    文章目录 一.读取与保存文件 二.将数据文件制成K线图 一.读取与保存文件 1.读取文件格式 numpy.loadtxt(文件名,delimiter = 分割符,usecols = 选择列,unpac ...

  6. python画k线图_python画k线图

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! import datetime import pandas_datareader ...

  7. python 画k线图_matplotlib画k线图

    画k线需要的包和环境: python36 import tushare as ts import re import matplotlib.pyplot as plt import mpl_finan ...

  8. python能画k线图吗_python画k线图(一天的k线图怎么画)

    1.大智慧软件在日线窗口的左上角标有主图的公式名称,(如ma sar bbi )等, 如果不是ma指标,请输入ma,回车.2.如果输入ma后还是没有均线,请按 f7 键,弹出 最好能举个例子的.非常感 ...

  9. 使用python画K线图(蜡烛图)

    #画K线图 import pandas as pd import matplotlib.pyplot as plt import mplfinance as mpf#金融画图库 from pylab ...

最新文章

  1. 5MB的神经网络也高效,Facebook新压缩算法造福嵌入式设备
  2. FoxMail的25号端口被占用问题
  3. Numpy基础学习与总结
  4. Python基础09 面向对象的进一步拓展
  5. spring源码分析之@ImportSelector、@Import、ImportResource工作原理分析
  6. 3d 根据弧长算角度_三分钟带你了解三姆森3D玻璃厚度及轮廓度检测
  7. macOS Monterey值得升级吗?Monterey 与 Big Sur的对比
  8. Manjaro下显卡相关的命令搜集
  9. 解决iTnues对PC授权,连接不上iTnues的问题
  10. 《Java技术》预备作业总结
  11. 《斯坦福算法博弈论二十讲》学习笔记(持续更新)
  12. 甘肃暴雨强度公式_甘肃暴雨强度公式
  13. 罗马音平假名片假名转换器_平假名与片假名
  14. 华为紧盯Android专利战: 置身事外几无可能
  15. 【NOIP2006】【Luogu1063】能量项链
  16. bilibili弹幕爬虫, 2019-1-10
  17. grub2引导linux内核,启动流程、模块管理、BootLoader(Grub2)
  18. ssm报错:Invalid bound statement (not found): mapper.UserMapper.findAllUser
  19. 技术支撑团队技术支持工程师的技能要求
  20. Symbian S60v5 编程中的程序图标更换问题

热门文章

  1. RS-232实现双机通信
  2. 重磅丨数据+场景双重互联,有米广告完成程序化场景营销升级
  3. 面试经历---网易(2016年01月19日下午面试)
  4. android room 主线程,Android Jetpack之Room篇
  5. Html中如何自定义Video显示的长宽比
  6. 移动端判断手机横竖屏状态及加载相应样式或内容的解决方案
  7. Android刷机备忘录
  8. Win10踩坑-开机0xc0000225
  9. WPS服务器维护,wps卸载云服务器
  10. 四足机器人|机器狗|仿生机器人|多足机器人|Adams仿真|Simulink仿真|基于CPG的四足机器人Simulink与Adams虚拟样机|源码可直接执行|绝对干货!需要资料及指导的可以联系我!