通过 yahooquery Python 库访问雅虎财经数据,包括实时报价、基本面、分析师预估、期权、新闻和历史数据。
yahooquery Skill. 通过yahooquery Python 库全面访问 Yahoo Finance 数据
功能概述
yahooquery Skill. 通过yahooquery Python 库全面访问 Yahoo Finance 数据是一项面向实际任务的技能,主要用于此库提供了几乎所有 Yahoo Finance 端点, 包括 real- t 的程序访问。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
核心要点
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
使用与执行
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
yahooquery 技能
通过 yahooquery Python 库全面访问 Yahoo Finance 数据。该库提供对几乎所有 Yahoo Finance 接口的编程式访问能力,涵盖实时行情、基本面数据、分析师预测、期权信息、新闻以及高级研究报告。
核心类
1. Ticker(公司特定数据)
用于检索一个或多个证券数据的主要接口。
from yahooquery import Ticker
# 单个或多个股票代码
aapl = Ticker('AAPL')
tickers = Ticker('AAPL MSFT NVDA', asynchronous=True)
2. Screener(预定义股票列表)
访问按筛选条件预构建的股票筛选器,用于发现符合特定标准的股票。
from yahooquery import Screener s = Screener() screeners = s.available_screeners # 列出所有可用的筛选器 data = s.get_screeners(['day_gainers', 'most_actives'], count=10)
3. Research(需 Premium 订阅)
访问专有研究报告与交易策略建议。
from yahooquery import Research r = Research(username='you@email.com', password='password') reports = r.reports(report_type='Analyst Report', report_date='Last Week') trades = r.trades(trend='Bullish', term='Short term')
Ticker 类:数据模块
Ticker 类通过属性和方法暴露数十个数据端点。
📊 财务报表
.income_statement(frequency='a', trailing=True)— 损益表(年度/季度).balance_sheet(frequency='a', trailing=True)— 资产负债表.cash_flow(frequency='a', trailing=True)— 现金流量表.all_financial_data(frequency='a')— 合并财务数据 + 估值指标.valuation_measures— 不同期间的 EV/EBITDA、P/E、P/B、P/S 等估值比率
📈 行情与市场数据
.price— 当前价格、市值、52 周区间.history(period='1y', interval='1d', start=None, end=None)— 历史 OHLC 数据- period:可选值包括
1d、5d、1mo、3mo、6mo、1y、2y、5y、10y、ytd、max - interval:可选值包括
1m、2m、5m、15m、30m、60m、90m、1h、1d、5d、1wk、1mo、3mo
- period:可选值包括
.option_chain— 完整期权链(涵盖所有到期日)
🔍 分析与预测
.calendar_events— 下一财报发布日期、EPS/营收预测.earning_history— 过去四个季度的实际 EPS 与预测 EPS 对比.earnings— 历史季度/年度盈利与营收数据.earnings_trend— 分析师对未来各期的盈利预测趋势.recommendation_trend— 买入/卖出/持有评级的历史变动.gradings— 近期分析师上调/下调评级记录
🏢 公司基本面
.asset_profile— 公司地址、所属行业与板块、业务摘要、高管信息.company_officers— 高管名单及其薪酬详情.summary_profile— 公司概况精简版.key_stats— 市盈率(前瞻)、利润率、Beta 值、流通股数等关键统计指标.financial_data— 财务 KPI(如 ROE、ROA、资产负债率、各项利润率)
👥 所有权与公司治理
.insider_holders— 内部人持股者列表及持股情况.insider_transactions— 内部人近期买卖交易记录.institution_ownership— 顶级机构投资者持仓.fund_ownership— 顶级共同基金持仓.major_holders— 所有权概览(机构持股比例、内部人持股比例、流通股比例)
🌍 ESG 与评级
.esg_scores— 环境(E)、社会(S)、治理(G)评分及争议事件.recommendation_rating— 分析师共识评级(Strong Buy → Strong Sell)
📰 新闻与洞察
.news()— 最近发布的新闻文章.technical_insights— 看涨/看跌技术形态分析
💰 仅适用于基金与 ETF
.fund_holding_info— 前十大持仓、债券/股票资产分布.fund_performance— 历史业绩与回报表现.fund_bond_holdings/.fund_bond_ratings— 债券久期与信用评级.fund_equity_holdings— 股票持仓的 P/E、P/B、P/S 指标
📊 其他模块
.summary_detail— 交易统计(当日最高/最低价、成交量、平均成交量).default_key_statistics— 企业价值、滚动市盈率(Trailing P/E)、前瞻市盈率(Forward P/E).index_trend— 相对于基准指数的表现.quote_type— 证券类型、交易所、市场
全局函数
import yahooquery as yq
# 搜索
results = yq.search('NVIDIA')
# 市场数据
market = yq.get_market_summary(country='US') # 主要股指快照
trending = yq.get_trending(country='US') # 热门股票
# 工具函数
currencies = yq.get_currencies() # 支持的货币列表
exchanges = yq.get_exchanges() # 交易所列表
rate = yq.currency_converter('USD', 'EUR') # 汇率查询
配置项与关键字参数
Ticker、Screener 和 Research 类均支持以下可选参数:
性能与可靠性
asynchronous=True— 异步发起请求(适用于多个股票代码)max_workers=8— 并发请求数量(仅在启用异步时生效)retry=5— 请求失败后的重试次数backoff_factor=0.3— 重试之间的指数退避因子status_forcelist=[429, 500, 502, 503, 504]— 触发重试的 HTTP 状态码列表timeout=5— 单次请求超时时间(秒)
数据格式与校验
formatted=False— 若设为True,返回的数据结构包含{raw, fmt, longFmt}字段validate=True— 实例化时校验股票代码有效性(无效代码将存入.invalid_symbols)country='United States'— 地区化数据/新闻(支持 france、germany、canada 等)
网络与认证
proxies={'http': 'http://proxy:port'}— HTTP/HTTPS 代理配置user_agent='...'— 自定义 User-Agent 字符串verify=True— 启用 SSL 证书验证username='you@email.com'/password='...'— Yahoo Finance Premium 登录凭据
高级选项(共享会话)
session=.../crumb=...— 在Research与Ticker实例之间共享认证上下文
最佳实践
1. 多股票代码使用异步模式
tickers = Ticker('AAPL MSFT NVDA TSLA', asynchronous=True)
prices = tickers.price # 返回以股票代码为键的字典
2. 处理 DataFrame
大多数财务相关方法返回 pandas.DataFrame。如需 JSON 输出,请进行转换:
df = aapl.income_statement() print(df.to_json(orient='records', date_format='iso'))
3. 历史数据 — 1 分钟级间隔
Yahoo 限制单次请求最多获取 7 天的 1 分钟级数据。若需获取 30 天数据:
tickers = Ticker('AAPL', asynchronous=True)
df = tickers.history(period='1mo', interval='1m') # 自动拆分为 4 次请求
4. Premium 用户:Research 与 Ticker 结合使用
r = Research(username='...', password='...')
reports = r.reports(sector='Technology', investment_rating='Bullish')
# 复用 Research 的会话对象初始化 Ticker
tickers = Ticker('AAPL', session=r.session, crumb=r.crumb)
data = tickers.asset_profile
常见使用场景
投资组合分析
portfolio = Ticker('AAPL MSFT NVDA', asynchronous=True)
summary = portfolio.summary_detail
earnings = portfolio.earnings
history = portfolio.history(period='1y')
股票筛选与发现
s = Screener() gainers = s.get_screeners(['day_gainers'], count=20) # 返回包含价格、成交量、涨跌幅等字段的 DataFrame
期权分析
nvda = Ticker('NVDA')
options = nvda.option_chain
# 可按认购/认沽、行权价、到期日等条件筛选
财报日历
tickers = Ticker('AAPL MSFT NVDA')
calendar = tickers.calendar_events
# 显示下一财报发布日期及分析师预测
参考文档
完整 API 文档位于:/Users/henryzha/.openclaw/workspace-research/skills/yahooquery/references/
index.md— 类与函数总览ticker/— Ticker 类所有方法的详细说明screener.md— Screener 类使用指南research.md— Research 类(Premium 功能)keyword_arguments.md— 所有配置选项完整列表misc.md— 全局工具函数说明advanced.md— Research 与 Ticker 间共享会话的高级用法
运行环境
- 安装方式:
python3 -m pip install yahooquery - 依赖项:pandas、requests-futures、tqdm、beautifulsoup4、lxml
- Python 版本要求:3.7+
注意事项
- Yahoo Finance 可能对请求进行频率限制或封禁。建议合理使用
retry、backoff_factor和status_forcelist提升容错能力。 - 高级功能(Research 类)需订阅付费版 Yahoo Finance Premium。
- 数据准确性与时效性取决于 Yahoo Finance 所依赖的上游数据提供商。
热门AI工具
相关专题
本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。
0
2026.11.12
本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。
0
2026.11.12
本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。
0
2026.11.12
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章