700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 一行代码获取股票 基金数据 并绘制K线图

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

时间:2023-08-10 14:37:46

相关推荐

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

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

文末赠书

5《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,如果没有安装可以看上面的环境安装部分。

首先打开终端,输入:

jupyternotebook

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

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

!pip3installmplfinance--user!pip3installakshare--user

2.3 模块基本介绍与使用

2.3.1 mplfinance

基本介绍:用于金融数据可视化和可视化分析的 matplotlib 实用程序(接口),基于matplotlibe开发,并且与pandas的DataFrame数据有很好的结合。

项目地址:/matplotlib/mplfinance

基本使用方法:

importmplfinanceasmpfmpf.plot(data)

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

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

importmplfinanceasmpfimportpandasaspd#创建日期索引index_date=pd.DatetimeIndex(['0906','0907','0908','0909'])#随便创建数据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 金融数据接口库,你可以利用这个库轻松获取到金融财经数据。

项目地址:/jindaxiang/akshare/ 基本使用方法:

获取指数数据

importakshareasak#获取上证指数每日的变化数据OHLCsz_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="0301",end_date='0913',adjust="qfq")

获取港股数据

#获取港股腾讯股票历史数据stock_hk_tx_hist_df=ak.stock_hk_hist(symbol="00700",start_date="0301",end_date="0913",adjust="qfq")

获取美股数据

#获取美股苹果公司历史股票数据stock_us_apple_hist_df=ak.stock_us_hist(symbol='105.AAPL',start_date="0101",end_date="0913",adjust="qfq")

获取基金数据

#获取易方达蓝筹从发行到现在的净值数据yfd_fund=ak.fund_em_open_fund_info(fund="005827",indicator="单位净值走势")

更多使用方法,后面分章节给大家介绍,也欢迎大家去github地址自行学习,和我以及简说Python学习群友进行交流。

来,操作

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

-01-01-'-09-13mav=(200, 300, 350)

importakshareasakimportmplfinanceasmpfimportpandasaspd#获取上证指数每日的变化数据OHLCsz_index=ak.stock_zh_index_daily(symbol="sh000001")data1=sz_index.loc['-01-0100:00:00+00:00':'-09-1300:00:00+00:00']mpf.plot(data1,type='candle',mav=(200,300,350),volume=True)

-01-01-'-09-13mav=(30, 60, 120)

data2=sz_index.loc['-01-0100:00:00+00:00':'-09-1300:00:00+00:00']mpf.plot(data2,type='candle',mav=(30,60,120),volume=True)

-04-01-'-09-13mav=(5, 10, 20)

data3=sz_index.loc['-04-0100:00:00+00:00':'-09-1300:00:00+00:00']mpf.plot(data3,type='candle',mav=(5,10,20),volume=True)

今天就到这里啦,如果大家觉得文章不错,记得点个赞哈~金融分析&可视化系列会继续,本文全部源码还在整理中,大家可以先加老表微信,备注:金融分析,加入金融分析&可视化交流群,后面代码整理好了会第一时间群内公布获取方法。

老表荐书

图书介绍:《Python量化交易实战》

1、简单易学:本书使用 Python 3.7版本进行编写,代码简单,易于读者学习。

2、实践为主:本书不空讲 Python 理论知识,而是以实际的案例清晰、简明地介绍了如何用Python 实现即时量化交易选股系统的开发落地。

3、内容全面:覆盖量化回测步骤及即时选股系统搭建。

4、配备数据和源代码:提供所有案例的数据文件和 Python 源代码,供读者操作练习、快速上手。

5、学习路线图清晰:每章均是基于“需求分析→步骤分解→Python 编程开发”的学习路线,并根据项目的一般工作流程逐步展开,分析逻辑清晰,层层递进,由浅入深。

优惠购买:

赠书介绍:

1>给本文在看+点赞,扫码加我微信,10.1 朋友圈抽奖赠书2本

2>给本文随意留言(15字以上)+点赞,第一个留言且关注满21天的读者可以获得赠书一本,另外留言点赞top1-2且点赞量大于20的读者可以获得赠书一本。

特别感谢:

暖暖姐和中国水利水电出版社支持

【注意⚠️】近三个月内获得赠书的读者将无法再次获得赠书,想要多次获得赠书,可以查看下面的投稿规则及激励。

--End--

1、想领取赠书,加我微信,朋友圈不定期送书;2、想咨询学习,加我微信,每次咨询仅9.9元;3、更多需求(学习 代码 视频剪辑),都可以加我微信,欢迎咨询。

扫码即可加我微信

分享收藏点赞在看

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。