最近这一两年,股市欣欣向荣,原来一直无法挣脱3000点魔咒的上证指数,现在一路高歌,踏进了3500点。
我身边有不少人,靠股票、基金赚了一波,这得益于大行情,当然也有人亏了钱。
普通人炒股,其实大概率是亏的,一是因为贪婪、二是因为业余,贪婪不一定坏事,业余才真的要命,因为你永远赚不到认知之外的钱。
现在大家都在讨论价值投资,买股票实质是在买公司,评判价值的过程才是投资的精髓。
我觉得研究价值其实是研究数据背后的逻辑,靠数据去决策。
Python作为金融领域明星级的分析工具,在数据获取、清洗、分析、建模上都有全套的解决方案,比如说Pandas就是专门为金融分析开发的库。
这次我们来研究下如何用Python获取股票&基金数据,用作行业分析。
目前有不少支持Python接口的金融数据库,比如Tushare、AKshare、Baostock、wind等,都可以获得国内股票、基金、期货、利率等数据。
以AKshare为例,我们来试试如何提起股票、基金最新数据。
什么是AKshare?
先简单介绍下AKShare,内容截至官网。
AKShare 是基于 Python 的开源金融数据接口库,目的是实现对股票、期货、期权、基金、债券、外汇等金融产品和另类数据从数据采集,数据清洗到数据下载的工具,满足金融数据科学家、数据科学爱好者在数据获取方面的需求。
它的特点是利用 AKShare 获取的是基于可信任数据源发布的原始数据,广大数据科学家可以利用原始数据进行再加工,从而得出科学的结论。
- 代码语法符合 PEP8 规范, 数据接口的命名统一;
- 最佳支持 Python 3.7.5 及其以上版本;
- 提供最佳的文档支持, 每个数据接口提供详细的说明和示例, 只需要复制粘贴就可以下载数据;
- 持续维护由于目标网页变化而导致的部分数据接口运行异常问题;
- 持续更新财经数据接口, 同时优化源代码;
如何安装AKShare?
AKShare作为python库可以直接通过pip安装,十分快捷。
代码语言:javascript复制pip install akshare
如何使用AKShare?
首先要导入AKShare库,然后通过接口函数,获取相应的数据。
最好是在jupyter notebook或者lab环境中来操作,可以很方便地查看和分析数据。
以获取A股公司列表数据为例:
代码语言:javascript复制import akshare as ak
stock_info_a_code_name_df = ak.stock_info_a_code_name()
stock_info_a_code_name_df
目前AKshare数据来源比较多元,接口相对杂乱,大家在使用用过程中需注意检查数据的准确性。
接下来,罗列一些常用的数据接口,供参考使用。
获取A 股上市公司实时行情数据
该数据来源新浪,使用时候注意频率,不然会被封IP
代码语言:javascript复制import akshare as ak
stock_zh_a_spot_df = ak.stock_zh_a_spot()
stock_zh_a_spot_df
字段解释:
获取某股票历史行情数据
以浦发银行(sh600000)为例:
代码语言:javascript复制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
字段解释:
获取公募开放式基金数据
代码语言:javascript复制import akshare as ak
fund_em_open_fund_daily_df = ak.fund_em_open_fund_daily()
fund_em_open_fund_daily_df
字段解释:
上面简单列举了几个数据接口,AKshare还提供了大量的股票、基金、期货等数据,大家可以去探索下。
相比较AKshare,Tushare、Baostock上的数据更加规范,但维度会少一些,各有长短,大家甄别着用。