一行代码获取股票、基金数据,并绘制K线图

大家好,今天这篇文章和大家分享一下如何利用Python获取股票、基金数据,并进行可视化,为金融分析&可视化先导篇,欢迎大家学习、点赞、收藏支持。

一、基础准备
环境:python 3.7+
需要安装第三方模块:mplfinance、akshare
运行编辑器:jupyter notebook
二、动手动脑
2.1 环境准备
首先需要你的电脑安装好了Python环境,并且安装好了Python开发工具。

如果你还没有安装,可以参考以下文章:

如果仅用Python来处理数据、爬虫、数据分析或者自动化脚本、机器学习等,建议使用Python基础环境+jupyter即可,安装使用参考Windows/Mac 安装、使用Python环境+jupyter notebook

如果想利用Python进行web项目开发等,建议使用Python基础环境+Pycharm,安装使用参考 :Windows下安装、使用Pycharm教程,这下全了 和 Mac下玩转Python-安装&使用Python/PyCharm 。

2.2 模块安装
本次实验是在jupyter notebook上进行,默认你已经安装好了Python基本环境和jupyter,如果没有安装可以看上面的环境安装部分。

首先打开终端,输入:

jupyter notebook
即可进入jupyter,会自动连接服务器,并跳转到网页,新建一个python文件。图片给文件重命名,容易区分:图片

在代码块中输入以下指令并运行,即可安装mplfinance(金融数据可视化,基于matplotlibe和pandas)和akshare(金融数据获取模块):

!pip3 install mplfinance --user
!pip3 install akshare --user
2.3 模块基本介绍与使用
2.3.1 mplfinance
基本介绍:用于金融数据可视化和可视化分析的 matplotlib 实用程序(接口),基于matplotlibe开发,并且与pandas的DataFrame数据有很好的结合。

项目地址:https://github.com/matplotlib/mplfinance

基本使用方法:

import mplfinance as mpf

mpf.plot(data)
其中 data数据是一个DataFrame数据类型,必须包含:Open, High, Low and Close这四列,并且有时间日期索引(类型为:DatetimeIndex)。

接下来,我们虚拟一个数据来看看效果吧:

import mplfinance as mpf
import pandas as pd

创建日期索引

index_date = pd.DatetimeIndex([‘20210906’, ‘20210907’, ‘20210908’, ‘20210909’])

随便创建数据

data = pd.DataFrame({
‘Open’: [1, 2, 3, 4],
‘High’: [2, 3, 4, 5],
‘Low’ : [0.5, 1, 2, 2],
‘Close’: [2, 3, 4, 3]
}, index=index_date)

调用plot函数 进行绘图

mpf.plot(data)
图片我们看到,现在根据模拟数据我们简单绘制了一个简单的OHLC线条。

type参数使用,让绘图更加精彩:

mpf.plot(data,type=‘candle’)
图片
mpf.plot(data,type=‘line’)
图片type还可以为:renko、pnf。

mav参数可以添加移动平均线,更好的看趋势。

mpf.plot(data, type=‘candle’, mav=2)
图片还可以添加多条移动平均线:

mpf.plot(data, type=‘candle’, mav=(2, 3))
图片更多使用方法,后面分章节给大家介绍,也欢迎大家去github地址自行学习,和我以及简说Python学习群友进行交流。

2.3.2 akshare
基本介绍:AKShare 是一个优雅简单的 Python 金融数据接口库,你可以利用这个库轻松获取到金融财经数据。

项目地址:https://github.com/jindaxiang/akshare/ 基本使用方法:

获取指数数据
import akshare as ak

获取上证指数每日的变化数据 OHLC

sz_index = ak.stock_zh_index_daily(symbol=“sh000001”)
这样就可以获取到上证指数所有历史数据啦~图片

获取A股数据

获取茅台股票每日的变化数据 采用前复权方式计算(关于复权计算更多知识以后分享,大家可以网络查找相关资料)

stock_zh_mt_hist_df = ak.stock_zh_a_hist(symbol=“600519”, period=“daily”, start_date=“20170301”, end_date=‘20210913’, adjust=“qfq”)
图片
获取港股数据

获取港股腾讯股票历史数据

stock_hk_tx_hist_df = ak.stock_hk_hist(symbol=“00700”, start_date=“20170301”, end_date=“20210913”, adjust=“qfq”)
图片
获取美股数据

获取美股苹果公司历史股票数据

stock_us_apple_hist_df = ak.stock_us_hist(symbol=‘105.AAPL’, start_date=“20100101”, end_date=“20210913”, adjust=“qfq”)
图片
获取基金数据

获取易方达蓝筹从发行到现在的净值数据

yfd_fund = ak.fund_em_open_fund_info(fund=“005827”, indicator=“单位净值走势”)
图片更多使用方法,后面分章节给大家介绍,也欢迎大家去github地址自行学习,和我以及简说Python学习群友进行交流。

来,操作
按上面方法,我们获取上证指数数据后,选取从2020-01-01到现在的数据进行可视化,然后在进行细分可视化,并选择不同的移动平均线。

2020-01-01 - '2021-09-13, mav=(200, 300, 350)
import akshare as ak
import mplfinance as mpf
import pandas as pd

获取上证指数每日的变化数据 OHLC

sz_index = ak.stock_zh_index_daily(symbol=“sh000001”)
data1 = sz_index.loc[‘2020-01-01 00:00:00+00:00’:‘2021-09-13 00:00:00+00:00’]
mpf.plot(data1, type=‘candle’, mav=(200, 300, 350), volume=True)
图片
2021-01-01 - '2021-09-13, mav=(30, 60, 120)
data2 = sz_index.loc[‘2021-01-01 00:00:00+00:00’:‘2021-09-13 00:00:00+00:00’]
mpf.plot(data2, type=‘candle’, mav=(30, 60, 120), volume=True)
图片
2021-04-01 - '2021-09-13, mav=(5, 10, 20)
data3 = sz_index.loc[‘2021-04-01 00:00:00+00:00’:‘2021-09-13 00:00:00+00:00’]
mpf.plot(data3, type=‘candle’, mav=(5, 10, 20), volume=True)
图片
今天就到这里啦,如果大家觉得文章不错,记得点个赞哈~

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值