超实用!教你用 Python 获取并下载美股数据

使用Python创建股票数据爬虫:一个克服困难的历程 本文介绍了作者创建股票数据爬虫的经历,突显了他在克服技术难题和困难时的努力和决心。 阅读详情
AI摘要

本文介绍了Python库yfinance的使用方法,包括如何安装、获取股票历史数据(分钟级和天级)、多股数据、股票基本信息(如市值、市盈率)、派息数据、资产负债表和现金流等。yfinance是获取美股数据的便捷工具,适合数据分析和投资研究。

2add0ce3e2b547b0a373bd61adcbd8b0.png

yfinance 是一个使用 Yahoo! 获取数据的 Python 第三方模块。它支持获取最细到1分钟级的历史数据及股票基本面数据,是免费获得美股分钟级及以上粒度数据的不二之选。

1.准备

请选择以下任一种方式输入命令安装依赖:

1. Windows 环境 打开 Cmd (开始-运行-CMD)。
2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.

pip install yfinance

2.yfinance 基本使用

通过yfinance你可以使用一样命令下载任意美股股票的数据,比如:

import yfinance as yf

# 单股
data = yf.download("AAPL", start="2017-01-01", end="2017-04-30")
# Open High Low Close Adj Close Volume
# Date
# 2017-01-03 28.950001 29.082500 28.690001 29.037500 27.257641 115127600
# 2017-01-04 28.962500 29.127501 28.937500 29.004999 27.227135 84472400
# 2017-01-05 28.980000 29.215000 28.952499 29.152500 27.365593 88774400
# 2017-01-06 29.195000 29.540001 29.117500 29.477501 27.670671 127007600
# 2017-01-09 29.487499 29.857500 29.485001 29.747499 27.924126 134247600
# ......

# 多股
data = yf.download("SPY AAPL", start="2017-01-01", end="2017-04-30",
                   group_by="ticker")
# AAPL ... SPY
# Open High Low Close ... Low Close Adj Close Volume
# Date ...
# 2017-01-03 28.950001 29.082500 28.690001 29.037500 ... 223.880005 225.240005 205.509079 91366500
# 2017-01-04 28.962500 29.127501 28.937500 29.004999 ... 225.610001 226.580002 206.731735 78744400
# 2017-01-05 28.980000 29.215000 28.952499 29.152500 ... 225.479996 226.399994 206.567459 78379000
# 2017-01-06 29.195000 29.540001 29.117500 29.477501 ... 225.899994 227.210007 207.306549 71559900
# ......

默认是获取天级别的数据,如果你需要获取分钟级的,只需要添加interval参数:

import yfinance as yf

# 单股
data = yf.download("AAPL", start="2022-05-18", end="2022-05-23", interval="1m")
print(data)

# Open High Low Close Adj Close Volume
# Datetime
# 2022-05-17 12:00:00-04:00 148.000000 148.050003 147.839996 147.865005 147.865005 0
# 2022-05-17 12:01:00-04:00 147.869507 147.919998 147.779999 147.889893 147.889893 123746
# 2022-05-17 12:02:00-04:00 147.889999 147.929993 147.750000 147.907394 147.907394 92847
# 2022-05-17 12:03:00-04:00 147.904999 147.929993 147.785004 147.839996 147.839996 79266
# 2022-05-17 12:04:00-04:00 147.839996 147.895004 147.779999 147.860001 147.860001 58905
# ......

它支持的分钟级参数有:1m,2m,5m,15m,30m,60m,90m 等等。

此外还支持小时级和天线、周线、月线级别:1h,1d,5d,1wk,1mo,3mo 等等。

获取到的数据类型就是Dataframe,因此你还可以直接保存为csv文件:

# 公众号:Python 实用宝典
import yfinance as yf

data = yf.download("AAPL", start="2022-05-18", end="2022-05-23", interval="1m")
data.to_csv("aapl_20220518_20220523.csv")
# 保存到本地,命名为 aapl_20220518_20220523.csv

3.通过yfinance获取股票基本数据

如果你需要获取一只股票的基本数据,如市值、市盈率、股息等,你可以通过定义一只股票的Ticker,利用其info属性获取:

# 公众号:Python 实用宝典
import yfinance as yf

aapl = yf.Ticker("aapl")
print(aapl.info)
# {'zip': '95014', 'sector': 'Technology', 'fullTimeEmployees': 154000, 'longBusinessSummary': 'Apple ......

这个字典比较长,这里省略显示了,里面包含了比如市盈率(PE)等信息:

# 公众号:Python 实用宝典
import yfinance as yf

aapl = yf.Ticker("aapl")
aapl.info['forwardPE']
# 20.974085

你还可以获取每次派息数据:

# 公众号:Python 实用宝典
import yfinance as yf

aapl = yf.Ticker("aapl")
print(aapl.dividends)
# Date
# 1987-05-11 0.000536
# 1987-08-10 0.000536
# 1987-11-17 0.000714
# 1988-02-12 0.000714
# 1988-05-16 0.000714
# ...
# 2021-05-07 0.220000
# ... ...

获取资产负债表:

# 公众号:Python 实用宝典
import yfinance as yf

aapl = yf.Ticker("aapl")
print(aapl.balancesheet)
# 2021-09-25 2020-09-26 2019-09-28 2018-09-29
# Total Liab 2.879120e+11 2.585490e+11 2.480280e+11 2.585780e+11
# Total Stockholder Equity 6.309000e+10 6.533900e+10 9.048800e+10 1.071470e+11
# Other Current Liab 5.357700e+10 4.786700e+10 4.324200e+10 3.929300e+10
# Total Assets 3.510020e+11 3.238880e+11 3.385160e+11 3.657250e+11
# Common Stock 5.736500e+10 5.077900e+10 4.517400e+10 4.020100e+10
# ......

现金流数据:

# 公众号:Python 实用宝典
import yfinance as yf

aapl = yf.Ticker("aapl")
print(aapl.cashflow)
# 2021-09-25 2020-09-26 2019-09-28 2018-09-29
# Investments -2.819000e+09 5.335000e+09 5.809300e+10 3.084500e+10
# Change To Liabilities 1.400200e+10 -1.981000e+09 -2.548000e+09 9.172000e+09
# Total Cashflows From Investing Activities -1.454500e+10 -4.289000e+09 4.589600e+10 1.606600e+10
# ......

新闻数据:

# 公众号:Python 实用宝典
import yfinance as yf

aapl = yf.Ticker("aapl")
print(aapl.news)
# [{'uuid': '476a41c6-c6dc-3050-9b8f-c3777c8485b2', 'title': "Dow Jones Futures Rise After 'Hard' Reality Hits Market; What To Do Now", 'publisher': "Investor's Business Daily", 
# 'link': 'https://finance.yahoo.com/m/476a41c6-c6dc-3050-9b8f-c3777c8485b2/dow-jones-futures-rise-after.html', 
# 'providerPublishTime': 1653305573, 'type': 'STORY'}, {'uuid': '721d466d-5394-3f3c-a9c3-b0920d44c7f3' ......

总之,有了yfinance这个神器,除了高频数据你无法获取之外,其他的美股数据你都能获取得到,有需要的小伙伴可以试试,非常好用。

我们的文章到此就结束啦,如果你喜欢今天的Python实战教程,请持续关注我们,留言区吱一声哦!

推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

点阅读原文,看20个Python案例!

yfinance 数据基本面分析(Python) 本文介绍用 Python 的 yfinance 库获取、分析股票数据,以苹果(AAPL)为例,示安装使用及历史价格、基本面信息提取,计算均线等指标可视化分析其 5 年走势,发现中长期升势稳、短期震荡,为金融分析提供实用框架,未涉财报深入分析。 阅读详情

相关推荐

几行Python代码,轻松获取美股阿里巴巴的交易数据!

学Python可以干很多事情,比如爬虫,数据分析,机器学习,但是有一个非常小众的分支,不仅结合了两大高薪行业,而且还薪水非常诱人,就是量化金融岗位。目前Python已经是金融行业最低的一个门槛,几乎所有从事金融证券行业的人都要学会Python。今天给大家分享如何用Python获取美股的交易数据! Python资源共享群:626017123 数据获取是数据分析的第一步,找不到可靠、真实的数据,数...

Pythoncxy的博客 1486

行情数据接口-美股版

一、美股历史数据API 1.数据列表 待完善补充 2. 雅虎网 (1)官网:https://www.yahoo.com/ (2)安装 pandas-datareader 命令行窗口:pip install pandas-datareader(建议) 下载本地安装:https://pypi.org/project/pandas-datareader/ (3)读取数据 import pandas_datareader.data as pdr # 读取标普500 sp500 = pdr.Data.

midae的博客 5471

【Python技术学习】- python 量化

Python 量化是指利用 Python 编程语言以及相关的库和工具来进行金融市场数据分析、策略开发和交易执行的过程。Python 由于其简洁、易学、强大的生态系统和丰富的金融库而成为量化交易的首选编程语言之一。量化交易在金融领域得到广泛应用,它允许交易者通过系统性的方法来制定和执行交易策略,提高交易效率和决策的科学性。量化主要是通过数学和统计学的方法,利用计算机技术对金融市场进行量化分析,从而制定和执行交易策略。

xiaoli8748的专栏 1284

不亏钱!如何用Python监控美股

yfinance是一个可以用来监控股票价格的python库。它使用Yahoo Finance的API来获取股票数据。

xx16755498986的博客 2653

【gcc】跨版本兼容实战:高版本编译程序在低版本glibc环境下的部署方案

本文针对高版本gcc编译的程序在低版本glibc环境下部署的兼容性问题,提供了四种实战解决方案:静态编译的局限性、容器化部署的优雅方案、使用Devtoolset工具链的官方支持,以及最通用灵活的打包依赖SO发布方案。重点剖析了通过设置RPATH和Interpreter或使用patchelf工具,实现程序与自带库的独立部署,有效解决glibc版本鸿沟。

weixin_29237635的博客 362

STM32在六轴机械臂实时控制中的选型与分层架构设计

嵌入式实时控制系统中,微控制器的选型直接决定运动控制精度与系统可靠性。其核心在于匹配确定性中断响应、低延迟外设协同与工业协议栈支持等硬性指标。STM32凭借Cortex-M内核的NVIC调度能力、成熟HAL库及CAN FD/高级定时器等专用外设,在机电一体化场景中成为伺服控制中枢的首选。相比ESP32等通用MCU,STM32在硬实时性、EMC认证生态和工业总线兼容性上具备不可替代优势。本文围绕GTB六轴机械臂项目,详解基于STM32F407的硬件抽象层配置、FreeRTOS任务调度、事件队列解耦及闭环控制数

jupi8的博客 755

[python]yfinance国内不能使用

yfinance国内不能使用,可以使用tushare、akshare代替pip install tushare,tushare需要使用tushare官网注册后提供的token。

FL1623863129的博客 1万+

深度学习简介(框架)

深度学习是一种基于人工神经网络的机器学习方法,它通过模拟人脑的工作原理来解决复杂的数据模式识别问题。这种方法在图像识别、语音识别、自然语言处理等领域取得了显著的进展。深度学习是机器学习的一个子领域,它基于人工神经网络的学习算法,特别是那些具有多层(深层)结构的网络。这些深度神经网络能够学习数据的高级特征和模式。深度学习作为人工智能的关键驱动技术,已经在多个领域展现出其强大的能力。随着研究的深入和技术的发展,深度学习将继续推动人工智能的边界向前发展。

2301_77539454的博客 5351

几行Python代码,轻松获取美股阿里巴巴的交易数据

前言 文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者: 野马 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef 学Python可以干很多事情,比如爬虫,数据分析,机器...

人生苦短, 还不用Python? 3572

【人工智能】-01、人工智能概述

从理论上讲没有当今计算机不能计算求解的问题(B)。A. 是B. 不是C. 尚无定论。

super_mochi1 351

端到端自动驾驶的精准测试场景开发

1. 背景介绍 自动驾驶技术的发展正在改变交通运输的未来,然而,要实现安全可靠的自动驾驶,需要进行大量的测试和验证。端到端自动驾驶系统的测试场景开发是实现这一目标的关键。本文将详细介绍端到端自动驾驶的精准测试场景开发,包括核心概念、算法原理、数学模型、项目实践,以及未来发展趋势。 2. 核心概念与联系

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 1319

美股数据获取 python_几行Python代码,轻松获取美股阿里巴巴的交易数据

1准备工作玩数据分析,尤其是金融的数据分析,强烈建议大家安装如下的库:建议安装Anaconda,一次安装包括了Python环境和全部依赖包,减少问题出现的几率。雅虎财相关经库,Anaconda Prompt里分别输入pip install yfinance --upgrade --no-cache-dir,pip install pandas_datareader安装。2获取个股数据1).获取阿里...

weixin_34996026的博客 1218

【人工智能】提示词工程:让大模型精准响应的核心技术,提示词的基础框架 以及 常见提示词框架及场景

编写提示词的基础原则包括:简单、明确、详细,提示词拥有零样本提示、少样本提示、分配角色、提示写作风格、限定输出格式等技巧。

奶爸的编程之路,也就一周冷个三天 1138

抄底美股?用 Python 分析美股实际收益率

作者简介:Mort,数据分析爱好者,擅长数据可视化,比较关注机器学习领域,希望能和业内朋友多学习交流。之前一直在做金融数据方面的工作,有朋友多次问我做股...

Python中文社区 2526

RK3588开发笔记-MIPI-CSI接口视频解码芯片XS9922B调试

Rockchip RK3588 是一款高性能的处理器,支持多种摄像头接口,包括 MIPI(Mobile Industry Processor Interface)接口。MIPI是一种用于移动设备和嵌入式系统中的摄像头、显示器和其他传感器设备的串行接口标准。MIPI是MIPI联盟发起的为移动应用处理器制定的开放标准。CSI-2(Camera Serial Interface 2)是MIPI 联盟定义的另一种高速接口,主要用于摄像模组和处理器之间的连接。

flypig has a dream! 6863

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

mysql获取当月数据_基于MySQL和Python的美股财报数据获取和交互!

Brief获取美股财报数据并导入MySQL,然后建立Python和MySQL之间的连接,最后进行数据交互。1因为最近开始接触美股,而财报是全面了解上市公司很好的方法,所以想先学习一下财报数据处理,方便后面进一步做分析。为避免浪费读者的时间,先说明一下,这篇文章并不能告诉你如何进行企业基本面分析,我也不认为拿了三大报表数据简单对比一下就叫财报分析,这些我会在进一步学习后再来分享。整个处理过程,基本思...

weixin_39784460的博客 489

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

python model如何获取分类错误的数据_如何用python获取美股数据?

前言今天给大家分享如何用python获取美股数据获取数据是数据分析的第一步是找到可靠的真实的数据。金融市场如此庞大,数据获取的渠道有很多,各大财经网站都可以爬取。但是毕竟爬取数据是很费精力的,从头爬取十分麻烦。因此今天给大家介绍一个python的第三方库,可以免去爬取的麻烦,比如yfinance,几乎可以当做api来调用。下面就给大家介绍下yfinance的功能的初步探索。1获取个股数据...

weixin_39805732的博客 350

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

python获取交易软件数据_几行Python代码,轻松获取美股阿里巴巴的交易数据

原创: 野马 菜鸟学Python 学Python可以干很多事情,比如爬虫,数据分析,机器学习,但是有一个非常小众的分支,不仅结合了两大高薪行业,而且还薪水非常诱人,就是量化金融岗位。目前Python已经是金融行业最低的一个门槛,几乎所有从事金融证券行业的人都要学会Python。今天给大家分享如何用Python获取美股的交易数据!数据获取是数据分析的第一步,找不到可靠、真实的数据,数据分析无从谈起。...

weixin_42510567的博客 1217

Python抓取美股数据 [Daily data] [Tushare数据社区]

如何用Python抓取美股数据,借助Tushare数据社区. 同时涉及部分python学习经验整合、量化学习资料等.

m0_53539167的博客 3265

python美国股票数据api_5分钟学会用Python获取美股股票数据

在以前几篇对股票数据做分析和预测的文章后,很多读者对如何获取股票数据很有兴趣。下面就介绍下美股的历史数据获取api来回馈读者。美股的历史数据获取api众所周知,Yahoo财经废掉了他们的历史数据api,导致许多依赖它的程序也遭遇了危机。但不用怕!新的股票历史数据引擎来了。yfinance提供可靠线程和Pythonic方式从Yahoo!下载历史市场数据来提供金融数据。Yahoo财经废掉了他们的历史数...

weixin_39607937的博客 1393

如何用 python 获取实时的股票数据?

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

2301_76161259的博客 5846

python获取交易软件数据_几行Python代码,轻松获取美股阿里巴巴的交易数据!

学Python可以干很多事情,比如爬虫,数据分析,机器学习,但是有一个非常小众的分支,不仅结合了两大高薪行业,而且还薪水非常诱人,就是量化金融岗位。目前Python已经是金融行业最低的一个门槛,几乎所有从事金融证券行业的人都要学会Python。今天给大家分享如何用Python获取美股的交易数据!数据获取是数据分析的第一步,找不到可靠、真实的数据,数据分析无从谈起。金融市场如此广大,数据获取渠道也很...

weixin_39816260的博客 675
上一篇: 推荐七个Python效率工具!
下一篇: Python 编程的最好搭档—VSCode 详细指南
菜鸟学Python
博客等级 码龄9年 8063粉丝 571原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值