使用Python轻松获取股票&基金数据

Crossin的编程教室

共 2919字,需浏览 6分钟

 · 2021-07-31


大家好,欢迎来到 Crossin的编程教室 !

最近这一两年,股市虽谈不上大牛市,倒也稳步向上,原来一直无法挣脱3000点魔咒的上证指数,今年年初也一路高歌,迈过了3500点。

不过这两天,听说很容易从人群中分辨出谁买了股票。

dc259da5bd381820ecf7c9bfd7112aeb.webp

俗话说七亏二平一赚,普通人炒股,其实大概率是亏的,一是因为业余,你永远赚不到认知之外的钱;二是因为人性的弱点,难免恐惧和贪婪。

现在大家都在讨论价值投资,买股票实质是在买公司,评判价值的过程才是投资的精髓。如果你想提高一丢丢赚钱的概率,研究数据背后的逻辑,靠数据去决策,会比盲目地跟风追涨杀跌更靠谱一些。

a60f8055418704e85cfb70dada0b52b1.webp

Python作为金融领域明星级的分析工具,在数据获取、清洗、分析、建模上都有全套的解决方案,比如说Pandas就是专门为金融分析开发的库。

这次我们来研究下如何用Python获取股票&基金数据,用作行业分析。dba240eca7cececc43d667e048cd59e9.webp

目前有不少支持Python接口的金融数据库,比如Tushare、AKshare、Baostock、wind等,都可以获得国内股票、基金、期货、利率等数据。

AKshare为例,我们来试试如何提起股票、基金最新数据。d10ce58d2321a64e4036abd5cc450b1e.webp

什么是AKshare?

先简单介绍下AKShare,内容转自官网。

AKShare 是基于 Python 的开源金融数据接口库,目的是实现对股票、期货、期权、基金、债券、外汇等金融产品和另类数据从数据采集,数据清洗到数据下载的工具,满足金融数据科学家、数据科学爱好者在数据获取方面的需求。

它的特点是利用 AKShare 获取的是基于可信任数据源发布的原始数据,广大数据科学家可以利用原始数据进行再加工,从而得出科学的结论。

  • 代码语法符合 PEP8 规范, 数据接口的命名统一;
  • 最佳支持 Python 3.7.5 及其以上版本;
  • 提供最佳的文档支持, 每个数据接口提供详细的说明和示例, 只需要复制粘贴就可以下载数据;
  • 持续维护由于目标网页变化而导致的部分数据接口运行异常问题;
  • 持续更新财经数据接口, 同时优化源代码;

如何安装AKShare?

AKShare作为python库可以直接通过pip安装,十分快捷。

pip install akshare
2927dfca08bbbd76ea84c0620d4fe4a9.webp

如何使用AKShare?

首先要导入AKShare库,然后通过接口函数,获取相应的数据。

最好是在jupyter notebook或者lab环境中来操作,可以很方便地查看和分析数据。

以获取A股公司列表数据为例:

import akshare as ak
stock_info_a_code_name_df = ak.stock_info_a_code_name()
stock_info_a_code_name_df
19f6b9256bc66f8e59db5b8f124eb275.webp

目前AKshare数据来源比较多元,接口相对杂乱,大家在使用用过程中需注意检查数据的准确性。

接下来,罗列一些常用的数据接口,供参考使用。

获取A 股上市公司实时行情数据

该数据来源新浪,使用时候注意频率,不然会被封IP

import akshare as ak
stock_zh_a_spot_df = ak.stock_zh_a_spot()
stock_zh_a_spot_df
d994f2e04d9ecae69edddfb33bd9d966.webp

字段解释:56374dac2b940b818dc0fffafca5271b.webp

获取某股票历史行情数据

以浦发银行(sh600000)为例:

import akshare as ak
stock_zh_a_daily_qfq_df = ak.stock_zh_a_daily(symbol="sh600000", adjust="hfq")
stock_zh_a_daily_qfq_df
56302070a74159217f65b65a015b27ce.webp

字段解释:69950f0b9cb30bb6bf5dbd606fe75236.webp

获取公募开放式基金数据

import akshare as ak
fund_em_open_fund_daily_df = ak.fund_em_open_fund_daily()
fund_em_open_fund_daily_df

81b98dd0f3287adfb44109b7bc170040.webp\

字段解释:4358130ee694d1ed93637c494a67513f.webp

上面简单列举了几个数据接口,AKshare还提供了大量的股票、基金、期货等数据,大家可以去探索下。b427a486b66f3d19fd87bdccd67e02ab.webp

相比较AKshare,Tushare、Baostock上的数据更加规范,但维度会少一些,各有长短,大家甄别着用。

附国内外金融数据接口大全

  • findatapy - 获取彭博终端,Quandl和雅虎财经的数据

  • googlefinance - 从谷歌财经获取实时股票价格

  • yahoo-finance - 从雅虎财经下载股票报价,历史价格,产品信息和财务报表

  • pandas-datareader - 从多个数据源获取经济/金融时间序列,包括谷歌财经,雅虎财经,圣路易斯联储(FRED),OECD, Fama/French,世界银行,欧元区统计局等,是Pandas生态系统的重要组成

  • pandas-finance - 提供高级接口下载和分析金融时间序列

  • pyhoofinance - 从雅虎财经批量获取股票数据

  • yfinanceapi - 从雅虎财经获取数据

  • yql-finance - 从雅虎财经获取数据

  • ystockquote - 从雅虎财经获取实时报价

  • wallstreet - 实时股票和期权报价

  • stock_extractor - 从网络上爬取股票信息

  • Stockex - 从雅虎财经获取数据

  • finsymbols - 获取全美证券交易所,纽约证券交易所和纳斯达克上市公司的详细数据

  • inquisitor - 从Econdb获取经济数据,Econdb是全球经济指标聚合器

  • chinesestockapi - 获取A股数据

  • exchange - 获取最新的汇率报价

  • ticks - 命令行程序,获取股票报价

  • pybbg - 彭博终端COM的Python接口

  • ccy - 获取外汇数据

  • tushare - 获取中国股票,基金,债券和期货市场的历史数据

  • jsm - 获取日本股票市场的历史数据

  • cn_stock_src - 从不同数据源获取中国的股票数据

  • coinmarketcap - 从coinmarketcap获取数字货币数据

  • after-hours - 获取美股盘前和盘后的市场价格

  • bronto-python - 整合Bronto API接口

  • pytdx - 获取中国国内股票的实时报价

  • pdblp - 整合Pandas和彭博终端的公共接口

  • tiingo - 从Tiingo平台获取股票日K线和实时报价/新闻流

  • IEX - 从IEX交易所获取股票的实时报价和历史数据

  • alpaca-trade-api - 从Alpaca平台获取股票实时报价和历史数据,并提供交易接口交易美股

  • metatrader5 - 集成Python和MQL5交易平台,适合外汇交易

  • akshare - 获取中国股票,基金,债券和宏观经济数据

  • yahooquery - 从雅虎财经获取数据

  • investpy - 从英为财经(Investing.com)获取数据

  • yliveticker - 从雅虎财经通过Websocket获取实时报价

如果文章对你有帮助,欢迎转发/点赞/收藏~

作者:朱卫军来源:Python大数据分析

_往期文章推荐_

基金定投选星期几更划算?




如需了解付费精品课程教学答疑服务请在Crossin的编程教室内回复: 666

浏览 28
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报