先说个大实话:你到底是想要一只股票每一天的PE、PB历史曲线,还是仅仅想看一眼现在这一刻的值? 这两个差别大了去了。比如你想看茅台从2010年到今天市盈率是怎么变的,这叫历史曲线;你只想知道今天它的市盈率是20倍还是30倍,这叫当前快照。下面说的通道,有的能给你前者,有的只给后者,千万别绕晕了。
A股:最省事的免费通道,三个字:BaoStock
如果你想拿A股个股的PE和PB历史数据,最喜欢的就是BaoStock。它完全免费,你连注册都不用,直接装个Python包就能用。它的逐日数据里直接就有peTTM(滚动市盈率)和pbMRQ(市净率),一次全给你。用法也很简单,调一个query_history_k_data函数,把字段写成date,code,close,peTTM,pbMRQ,就能拉出一整张表格。
具体怎么操作,可以看看这篇使用说明:https://zhuanlan.zhihu.com/p/521504291
(注意:这个字段的准确性,以baostock官方的最新文档为准,毕竟他们也可能更新。)
第二条路:AKShare(上手快,但PB要留意)
AKShare也是国内很常用的免费库,pip install akshare就能用,不用注册。它的stock_a_indicator_lg接口能一次拉一只股票的完整历史,返回trade_date / pe / pe_ttm / dv_ratio等。但这里要提醒你:这个接口主要给的是PE和股息率,目前没看到直接有PB这一列。 所以如果你PE和PB都要,BaoStock或下面的Tushare更对口。到底现在给不给PB,要以官方文档为准,别想当然。
官方文档在这里:https://akshare.akfamily.xyz/data/stock/stock.html
项目主页(GitHub):https://github.com/akfamily/akshare
许可:接口库本身是MIT开源,但数据来自第三方,商用的话要看数据源条款。
第三条路:Tushare Pro(字段最全,但有门槛)
Tushare的daily_basic接口字段最全,pe / pe_ttm / pb加上换手率、量比全都有。但有个门槛:你得注册拿token,而且这个接口至少要攒够2000积分才能调,5000积分才没总量限制。积分可以靠写教程、提需求等方式攒。不过说实话,如果你只是偶尔用一下,BaoStock更省心。
接口文档:https://tushare.pro/document/2?doc_id=32
积分门槛以官方为准,可能调整。
看大盘/指数估值,不想写代码:乐咕乐股
如果你只是想快速看一眼整个市场(比如上证、创业板)的历史PE/PB趋势,不想写代码,直接上乐咕乐股(legulegu.com)。它是AKShare的底层数据源之一,本身是个免费网站,直接看全A、上证、深证的PE/PB历史走势,TTM和LYR两种口径都有。它更适合做市场整体估值参照,不适合批量拉个股。
网站:https://legulegu.com/
上证历史市盈率走势页:https://legulegu.com/stockdata/shanghaiPE
数据声明来自第三方公开数据,按中证指数口径计算。
美股/海外:yfinance和Kaggle
yfinance(免key,但只给快照,不给历史曲线)
海外首选免key库,pip install yfinance就能用。但关键局限:它的.info里trailingPE、priceToBook只是当前一刻的快照值,不提供长历史估值时间序列。想要长历史,你得自己定期抓快照攒起来,或者换别的源。别指望它能直接拉出苹果公司从2010年到现在每天的市净率——它做不到。
教程(用法与局限):https://blog.csdn.net/zhangyunchou2015/article/details/147192300
免费,但依赖雅虎非官方接口,稳定性随时可能变。
Kaggle上的现成数据集(静态,可直接下载)
如果你想直接下一份现成数据来用,Kaggle上有一些美股基本面数据集,比如:
- US Stock Market Data(约40+只美股,含基本面+技术面):https://www.kaggle.com/datasets/mohammedobeidat/us-stock-market-data
- US Stocks Fundamentals (XBRL,适合批量研究):https://www.kaggle.com/datasets/usfundamentals/us-stocks-fundamentals
- Nifty 500 Historical Data with PE(印度市场,含历史PE与股息率):https://www.kaggle.com/datasets/stacknishant/nifty-500-historical-data-with-pe-and-dividend-yield
这些多为静态快照,覆盖有限、更新不定,下载前务必看清license和数据截止日。
严谨学术研究:CSMAR国泰安
如果你需要论文级的“正本”数据,CSMAR国泰安是学术研究型数据库,按CRSP/COMPUSTAT标准编制,覆盖1990年至今沪深全部股票,包含PE/PB等估值。但它是机构付费订阅,个人通常要通过学校图书馆才能访问。能用不能用,取决于你所在机构有没有采购。
介绍页(北大汇丰):https://www.phbs.pku.edu.cn/info/1431/57391.htm
别白费的力:World Bank没有个股PE/PB
很多人会想到世界银行,但说清楚:它只有股市的宏观指标(比如总市值占GDP的百分比),没有个股的PE/PB。它适合做国别股市宏观对比,不适合查个股。
市场资本化指标页:https://data.worldbank.org/indicator/CM.MKT.LCAP.GD.ZS
官方Python包wbgapi介绍:https://blogs.worldbank.org/en/opendata/introducing-wbgapi-new-python-package-accessing-world-bank-data
用之前注意:口径、许可、版权
- 免费源的PE/PB是第三方按一定口径算出来的,不同源会有差异。比如BaoStock和Tushare对同一只股票算出来的PE可能不一样,因为它们用的算法(TTM vs LYR、是否剔除负值)不同。严谨研究时,一定核对口径并标注来源。
- 别假装某一个数字是唯一真相。多源对一下,把口径和来源写清楚,比盲信一个数字稳妥。
- 看清许可再用,尤其商用。开源库(如AKShare)主要面向学术研究,数据本身来自第三方网站,商用要看原始数据源条款。Kaggle上的数据集许可逐个不同,下载前看清。
- 用到报告里就标出处。不管哪个源,写进材料都按规矩注明来源和引用时点,这是基本规矩。
如果你觉得这些线索太散,想省时间
上面这些通道,真正的麻烦不是“有没有数据”,而是线索散在七八个地方,你到底要的是个股逐日曲线还是大盘/现值快照、要不要PB、愿不愿意注册或付费——不理清这些,很容易绕一圈白费力。
如果你不想一个个去试,数聚天成 DeepSData可以帮你做一次深度数据可得性检索:把这些来源一次性扫齐,按“能直连 / 要注册 / 要积分 / 要机构订阅 / 根本没有”分层列清楚,诚实告诉你到底能不能拿到、拿到的是哪一种数据。拿不准的许可和字段,我们一律标“以官方页面为准”,不编链接、不编数字。需要的话再说,不勉强。
本文仅作公开来源整理和可得性参考,不构成医疗、法律、投资、商业决策或合规意见;正式使用前请以官方页面、授权条款和专业意见为准。
说明:本文为公开资料整理,仅供参考;平台政策、价格、下载方式与链接随时可能变化,本文不保证持续更新,请以各官方页面最新信息为准。
参考来源
- https://akshare.akfamily.xyz/data/stock/stock.html
- https://github.com/akfamily/akshare
- https://zhuanlan.zhihu.com/p/521504291
- https://tushare.pro/document/2?doc_id=32
- https://legulegu.com/
- https://legulegu.com/stockdata/shanghaiPE
- https://blog.csdn.net/zhangyunchou2015/article/details/147192300
- https://www.kaggle.com/datasets/mohammedobeidat/us-stock-market-data
- https://www.kaggle.com/datasets/usfundamentals/us-stocks-fundamentals
- https://www.kaggle.com/datasets/stacknishant/nifty-500-historical-data-with-pe-and-dividend-yield
- https://www.phbs.pku.edu.cn/info/1431/57391.htm
- https://data.worldbank.org/indicator/CM.MKT.LCAP.GD.ZS
- https://blogs.worldbank.org/en/opendata/introducing-wbgapi-new-python-package-accessing-world-bank-data
