#574 by GitHub stars
simonlin1212/global-stock-data
美股港股全栈数据工具包(官方源优先)— 十七层架构·50+端点·18数据源·全部零鉴权。在原有行情/K线/技术指标(MA/MACD/RSI/KDJ/布林带)/基本面/资金面/期权/SEC Filing/工具八层之上,新增:CBOE官方期权链(完整希腊字母+IV+0DTE流+异动识别)、FINRA全市场每日空头成交量、SEC EDGAR申报事件流(Form4内部人/8-K/13F机构持仓)、EDGAR全市场横截面筛选、美债收益率曲线/CFTC COT/财报日历;V2.1 新增全球利率汇率层(BIS 38家央行政策利率、欧洲央行汇率/利率/欧元区收益率曲线、纽约联储SOFR/EFFR、美联储H.1
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Network or broad shell → After Network or broad shell
b97923970196 → b7f220296607
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → b97923970196
No earlier version was observed for comparison.
Heat
6.2- Star growth, last 7 daysAhead of 84% of tracked repositories
- Star growth, last 24 hoursAhead of 84% of tracked repositories
- Rank movement, last 7 daysAhead of 30% of tracked repositories
- Commits, last 30 daysAhead of 73% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
How it works
global-stock-data
When your agent uses it
美股港股全栈数据工具包(官方源优先)— 十七层架构·50+端点·18数据源·全部零鉴权。在原有行情/K线/技术指标(MA/MACD/RSI/KDJ/布林带)/基本面/资金面/期权/SEC Filing/工具八层之上,新增:CBOE官方期权链(完整希腊字母+IV+0DTE流+异动识别)、FINRA全市场每日空头成交量、SEC EDGAR申报事件流(Form4内部人/8-K/13F机构持仓)、EDGAR全市场横截面筛选、美债收益率曲线/CFTC COT/财报日历;V2.1 新增全球利率汇率层(BIS 38家央行政策利率、欧洲央行汇率/利率/欧元区收益率曲线、纽约联储SOFR/EFFR、美联储H.10汇率/H.6货币存量、美国财政部国债拍卖/联邦债务),Yahoo K线修复全历史日线与时区并支持日本/台湾/韩国/印度/欧洲等市场代码;V2.2 新增CBOE波动率指数历史与VIX期限结构、FINRA做空余额(每月两期)、SEC Form 4内部人逐笔交易与13F机构持仓解析、台股官方OpenAPI(证交所+柜买中心,可商用)、美国能源信息署EIA原油/天然气价格与库存;V2.3 新增美国宏观层(美国劳工统计局BLS公共API免注册:CPI/核心CPI/非农/失业率/时薪/PPI/JOLTS职位空缺/进口价格/ECI/生产率,附官方发布日程与修订规则,劳工部每周初请/续请失业金)。每个数据源标注合规级别与条款原文。内嵌全部调用代码,自包含零依赖外部文件。适用于美股港股个股分析、全市场筛选、财报解读、期权与0DTE策略、做空数据追踪、内部人交易与13F持仓、SEC文件检索、资金流与机构持仓分析、全球利率汇率与央行政策跟踪、VIX波动率、台股、原油天然气、美国CPI/非农/失业金等宏观数据与发布日程等场景。
What it loads into context
Frontmatter
584 tokensAlways available to the agent
SKILL.md
70,261 tokensWhen the skill is activated
Reference documents
30,751 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 端点路由速查(按需定位,不必通读全文)
- 数据源合规分级(取用前必读 — 各级均引条款原文)
- When to Activate
- Prerequisites
- 市场代码规则
- 共用 Helper 函数
- Layer 1: 行情层
- Layer 2: K线层
- Layer 3: 技术指标层
- Layer 4: 基本面层
- Layer 5: 资金面层
- Layer 6: 期权层
- Layer 7: SEC Filing 层(仅美股)
- Layer 8: 工具层
- Layer 9: 做空层 — FINRA(B 级 ⭐ V2.0 新增 · V2.2 补做空余额 · 仅美股)
- Layer 10: 申报事件流 — SEC EDGAR(S 级 ⭐ V2.0 新增 · V2.2 补 Form 4 / 13F 解析 · 仅美股)
- Layer 11: 全市场横截面 — EDGAR frames(S 级 ⭐ V2.0 新增 · 免费 screener)
- Layer 12: 宏观 / 日历(S 级为主 ⭐ V2.0 新增)
- Layer 13: 全球利率 / 汇率 / 央行(S 级 ⭐ V2.1 新增)
- Layer 14: 台股 — 台湾证交所 / 柜买中心 OpenAPI(S 级 ⭐ V2.2 新增)
- Layer 15: 能源 — 美国能源信息署 EIA(库存 S 级 · 现货价格 B 级 ⭐ V2.2 新增)
- Layer 16: 美国宏观 — 劳工统计局 BLS / 劳工部失业金申领(S 级 ⭐ V2.3 新增)
- 数据源优先级
- 数据源汇总
Files
CHANGELOG.mddoc41,946 bytesLICENSEasset10,760 bytesREADME.mddoc30,041 bytesREADME_zh.mddoc29,896 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesSKILL.mdcore233,074 bytesassets/bmc-qr.pngasset80,325 bytesassets/bmc-sponsor.pngasset60,327 bytes
Read SKILL.md
> 📦 项目主页:https://github.com/simonlin1212/global-stock-data — 更新、反馈、支持作者
>
> 作者:Simon 林 · X [@linsizhen](https://x.com/linsizhen) · 邮箱:simonlin0423@gmail.com
# 美股港股全栈数据工具包 V2.3 — 官方源优先
十七层数据架构,50+ 个端点,18 个数据源,全部零鉴权,实测可用(2026-07-24 全量回归验证;V2.1 新增与修复部分 2026-10-11 实测;V2.2 新增部分 2026-10-12 实测;V2.3 新增部分 2026-11-02 实测)。层数按「原有八层 + V2.0 五层(CBOE 期权链单算一层)+ V2.1 一层 + V2.2 两层(台股、能源)+ V2.3 一层(美国宏观)」计;V2.2 的波动率指数、做空余额、Form 4 / 13F 解析是原有层里的新小节,不另计层。
**V2.0 设计原则:官方源优先。** 新增层的主力数据取自美国政府(SEC EDGAR / Treasury / CFTC)、
自律组织(FINRA)与交易所(CBOE / Nasdaq)的公开端点;V2.1 再加国际清算银行、欧洲央行、
美联储、纽约联储四家官方机构;V2.2 再加台湾证交所、柜买中心与美国能源信息署 EIA;V2.3 再加美国劳工部(劳工统计局 BLS + 每周失业金申领)。**每个数据源都标注了合规级别与条款原文**
(见下方「数据源合规分级」)——"官方"不等于"可自由使用",各源差异极大。
**本工具只分发代码,不分发、不转售任何市场数据**;数据由使用者自行按各源条款获取。View the complete source on GitHubSkills included
- global-stock-data
Repository facts
- License
- Apache-2.0
- Created
- May 20, 2026
- Last pushed
- Nov 2, 2026
- Forks
- 272
- Open issues
- 0
- Project activity
- Active
Rank over the last 12 weeks
Now #574 · best #454 · down 65 in 30 days
- #566 on Nov 1
- #568 on Nov 2
- #569 on Nov 3
- #570 on Nov 4
- #572 on Nov 5
- #574 since Nov 6
74 earlier periods
- #437 on Aug 2
- #444 on Aug 7
- #447 on Aug 8
- #442 on Aug 9
- #460 on Aug 10
- #456 on Aug 11
- #455 on Aug 12
- #462 on Aug 13
- #457 on Aug 14
- #445 on Aug 15
- #454 on Aug 16
- #464 on Aug 18
- #463 on Aug 19
- #462 on Aug 20
- #464 on Aug 21
- #467 from Aug 23 to Aug 24
- #472 on Aug 25
- #478 on Aug 27
- #473 on Aug 28
- #464 on Aug 29
- #454 on Aug 30
- #475 on Aug 31
- #480 on Sep 2
- #484 on Sep 3
- #469 on Sep 4
- #470 on Sep 5
- #474 on Sep 6
- #477 on Sep 7
- #490 on Sep 8
- #483 on Sep 9
- #485 on Sep 10
- #480 on Sep 11
- #479 on Sep 12
- #476 on Sep 13
- #493 on Sep 14
- #487 on Sep 15
- #495 on Sep 16
- #490 on Sep 17
- #482 on Sep 19
- #490 from Sep 20 to Sep 21
- #502 on Sep 22
- #493 on Sep 23
- #482 on Sep 24
- #481 on Sep 25
- #478 on Sep 26
- #495 on Sep 27
- #497 on Sep 28
- #508 on Sep 29
- #501 on Sep 30
- #493 on Oct 1
- #492 on Oct 2
- #478 on Oct 3
- #474 on Oct 4
- #482 on Oct 5
- #495 on Oct 6
- #494 on Oct 7
- #509 from Oct 8 to Oct 9
- #503 from Oct 10 to Oct 11
- #513 on Oct 12
- #511 on Oct 13
- #514 from Oct 14 to Oct 15
- #517 on Oct 16
- #507 on Oct 17
- #511 on Oct 18
- #524 on Oct 19
- #532 on Oct 21
- #523 on Oct 22
- #517 on Oct 23
- #506 on Oct 24
- #556 on Oct 25
- #563 on Oct 28
- #561 on Oct 29
- #563 on Oct 30
- #564 on Oct 31
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 52 notes
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 210 network referencesin 5 files: SKILL.md:8 README.md:10 README_zh.md:10 and 2 more
- 2 obfuscation signalsin 1 file: SKILL.md:3705
- No instruction overrides
- No executable scripts
- No access to secrets
- No requests to vote in Hot
Show all 212 signals by file
CHANGELOG.md
- Network accessline 278
感谢 [@HoRiZonn0](https://github.com/HoRiZonn0)(issue #2)提供完整字段对照。逐条实测复现后确认其报告**全部正确**,并发现比报告更严重的后果: - Network accessline 402
### 修复(PR #1 @APTX4869-maker + 连带 bug) - **5 个函数漏传 `params` 导致始终拿不到数据(PR #1)**:`stock_quote_eastmoney` / `stock_kline_yahoo` / `fund_flow_daily` / `stock_search` / `market_stock_list` 都构造了 `params` dict,但 `requests.get(url, ...)` 时漏了 `param - Network accessline 403
- **5 个函数漏传 `params` 导致始终拿不到数据(PR #1)**:`stock_quote_eastmoney` / `stock_kline_yahoo` / `fund_flow_daily` / `stock_search` / `market_stock_list` 都构造了 `params` dict,但 `requests.get(url, ...)` 时漏了 `params=params`,请求实际是裸 URL → 服务端返回空(东财 push2
LICENSE
README.md
- Network accessline 10
<p align="center"> <a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache 2.0"></a> - Network accessline 11
<a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache 2.0"></a> - Network accessline 12
<a href="https://www.python.org/"><img src="https://img.shields.io/badge/Python-3.9+-3776AB?logo=python&logoColor=white" alt="Python 3.9+"></a> - Network accessline 13
<a href="https://github.com/simonlin1212/global-stock-data/stargazers"><img src="https://img.shields.io/github/stars/simonlin1212/global-stock-data?style=social" alt="GitHub stars"></a> - Network accessline 14
<a href="#architecture"><img src="https://img.shields.io/badge/layers-17-2ea44f.svg" alt="Layers"></a> - Network accessline 15
<a href="#endpoints"><img src="https://img.shields.io/badge/endpoints-50%2B-2ea44f.svg" alt="Endpoints"></a> - Network accessline 16
<a href="#data-sources"><img src="https://img.shields.io/badge/sources-18-2ea44f.svg" alt="Sources"></a> - Network accessline 17
<a href="#data-sources"><img src="https://img.shields.io/badge/auth-zero-success.svg" alt="Zero-Auth"></a> - Network accessline 45
> Compatible with [Claude Code](https://github.com/anthropics/claude-code) · [Codex](https://github.com/openai/codex) · [OpenClaw](https://github.com/openclaw/openclaw). The Skill file is structured Markdown + embedded Python — any AI codin - Network accessline 120
# 2. Download SKILL.md curl -o ~/.claude/skills/global-stock-data/SKILL.md \ - Network accessline 121
curl -o ~/.claude/skills/global-stock-data/SKILL.md \ - Network accessline 122
https://raw.githubusercontent.com/simonlin1212/global-stock-data/main/SKILL.md - Network accessline 317
**Q: How does this relate to a-stock-data?** Sister project. [a-stock-data](https://github.com/simonlin1212/a-stock-data) covers China A-shares; global-stock-data covers US and HK. Install both — they don't conflict. - Network accessline 318
Sister project. [a-stock-data](https://github.com/simonlin1212/a-stock-data) covers China A-shares; global-stock-data covers US and HK. Install both — they don't conflict. - Network accessline 362
[Apache License 2.0](./LICENSE) — **Author:** Simon Lin · X [@linsizhen](https://x.com/linsizhen) · Email: [simonlin0423@gmail.com](mailto:simonlin0423@gmail.com)
README_zh.md
- Network accessline 10
<p align="center"> <a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache 2.0"></a> - Network accessline 11
<a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache 2.0"></a> - Network accessline 12
<a href="https://www.python.org/"><img src="https://img.shields.io/badge/Python-3.9+-3776AB?logo=python&logoColor=white" alt="Python 3.9+"></a> - Network accessline 13
<a href="https://github.com/simonlin1212/global-stock-data/stargazers"><img src="https://img.shields.io/github/stars/simonlin1212/global-stock-data?style=social" alt="GitHub stars"></a> - Network accessline 14
<a href="#架构"><img src="https://img.shields.io/badge/层数-17-2ea44f.svg" alt="层数"></a> - Network accessline 15
<a href="#端点"><img src="https://img.shields.io/badge/端点-50%2B-2ea44f.svg" alt="端点"></a> - Network accessline 16
<a href="#数据源"><img src="https://img.shields.io/badge/数据源-18-2ea44f.svg" alt="数据源"></a> - Network accessline 17
<a href="#数据源"><img src="https://img.shields.io/badge/鉴权-零-success.svg" alt="零鉴权"></a> - Network accessline 43
> 兼容 [Claude Code](https://github.com/anthropics/claude-code) · [Codex](https://github.com/openai/codex) · [OpenClaw](https://github.com/openclaw/openclaw)。Skill 文件本质是结构化 Markdown + 内嵌 Python,任何支持上下文注入的 AI 编程助手都能用。 - Network accessline 118
# 2. 下载 SKILL.md curl -o ~/.claude/skills/global-stock-data/SKILL.md \ - Network accessline 119
curl -o ~/.claude/skills/global-stock-data/SKILL.md \ - Network accessline 120
https://raw.githubusercontent.com/simonlin1212/global-stock-data/main/SKILL.md - Network accessline 320
**和 a-stock-data 什么关系?** 姊妹项目。[a-stock-data](https://github.com/simonlin1212/a-stock-data) 覆盖 A 股,global-stock-data 覆盖美股,两个 Skill 可同时装、互不冲突。 - Network accessline 354
[Apache License 2.0](./LICENSE) — 自由使用,注明出处即可。**Author:** Simon Lin · X [@linsizhen](https://x.com/linsizhen) · Email: [simonlin0423@gmail.com](mailto:simonlin0423@gmail.com)
SKILL.md
- Network accessline 8
> 📦 项目主页:https://github.com/simonlin1212/global-stock-data — 更新、反馈、支持作者 - Network accessline 10
> 作者:Simon 林 · X [@linsizhen](https://x.com/linsizhen) · 邮箱:simonlin0423@gmail.com - Network accessline 172
| **台湾证交所 / 柜买中心 OpenAPI** | **授权**:本工具用到的 13 个数据集都登记在台湾「政府资料开放平台」,授权方式为《政府资料开放授权条款-第1版》:*「授權使用者不限目的、時間及地域、非專屬、不可撤回、免授權金進行利用」*,但须按条款的「显名声明」**注明来源**,否则视为未取得授权。两家网站条款的知识产权一节写明,经授权给政府资料开放平台的资料 *「不在此限」*,同时要求转载 *「清楚註明資料來源,並確保資料完整性,不得任意增刪」*。**程序下 - Network accessline 174
| **美国劳工部 ETA**(每周失业金申领) | 劳工部版权页:*"Materials created by the federal government are generally part of the **public domain** and may be used, reproduced and distributed without permission."* 不得以暗示与劳工部有关联或受其认可的方式使用;可注明来源 *"U.S. Department of - Network accessline 324
s = requests.Session() - Network accessline 327
# Step 1: 获取 cookie s.get('https://fc.yahoo.com', timeout=10) - Network accessline 328
s.get('https://fc.yahoo.com', timeout=10) - Network accessline 330
# Step 2: 获取 crumb r = s.get('https://query2.finance.yahoo.com/v1/test/getcrumb', timeout=10) - Network accessline 331
r = s.get('https://query2.finance.yahoo.com/v1/test/getcrumb', timeout=10) - Network accessline 339
"""Yahoo quoteSummary 统一查询""" s = get_yahoo_session() r = s.get(f'https://query2.finance.yahoo.com/v10/finance/quoteSummary/{symbol}', params={ - Network accessline 340
s = get_yahoo_session() r = s.get(f'https://query2.finance.yahoo.com/v10/finance/quoteSummary/{symbol}', params={ 'modules': ','.join(modules), - Network accessline 341
r = s.get(f'https://query2.finance.yahoo.com/v10/finance/quoteSummary/{symbol}', params={ - Network accessline 353
UA = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36" DATACENTER_URL = "https://datacenter-web.eastmoney.com/api/data/v1/get" - Network accessline 354
DATACENTER_URL = "https://datacenter-web.eastmoney.com/api/data/v1/get" - Network accessline 364
"source": "WEB", "client": "WEB", } r = requests.get(DATACENTER_URL, params=params, headers={"User-Agent": UA}, timeout=15) - Network accessline 365
} r = requests.get(DATACENTER_URL, params=params, headers={"User-Agent": UA}, timeout=15) d = r.json() - Network accessline 366
r = requests.get(DATACENTER_URL, params=params, headers={"User-Agent": UA}, timeout=15) - Network accessline 478
try: if data is not None or json_body is not None: r = requests.post(url, params=params, data=data, json=json_body, headers=h, timeout=timeout) - Network accessline 479
if data is not None or json_body is not None: r = requests.post(url, params=params, data=data, json=json_body, headers=h, timeout=timeout) else: - Network accessline 480
r = requests.post(url, params=params, data=data, json=json_body, headers=h, timeout=timeout) - Network accessline 481
else: r = requests.get(url, params=params, headers=h, timeout=timeout) r.raise_for_status() - Network accessline 482
r = requests.get(url, params=params, headers=h, timeout=timeout) - Network accessline 551
ticker: 纯字母,如 "AAPL", "TSLA", "BABA" """ url = f"https://hq.sinajs.cn/list=gb_{ticker.lower()}" - Network accessline 552
""" url = f"https://hq.sinajs.cn/list=gb_{ticker.lower()}" r = requests.get(url, headers={ - Network accessline 553
url = f"https://hq.sinajs.cn/list=gb_{ticker.lower()}" r = requests.get(url, headers={ "Referer": "https://finance.sina.com.cn/", - Network accessline 554
r = requests.get(url, headers={ - Network accessline 555
"Referer": "https://finance.sina.com.cn/", - Network accessline 590
ticker: 纯字母,如 "AAPL" """ url = f"https://qt.gtimg.cn/q=us{ticker.upper()}" - Network accessline 591
""" url = f"https://qt.gtimg.cn/q=us{ticker.upper()}" r = requests.get(url, timeout=10) - Network accessline 592
url = f"https://qt.gtimg.cn/q=us{ticker.upper()}" r = requests.get(url, timeout=10) r.encoding = "gbk" - Network accessline 593
r = requests.get(url, timeout=10) - Network accessline 634
code: 五位数字,如 "00700", "09988" """ url = f"https://qt.gtimg.cn/q=r_hk{code}" - Network accessline 635
""" url = f"https://qt.gtimg.cn/q=r_hk{code}" r = requests.get(url, timeout=10) - Network accessline 636
url = f"https://qt.gtimg.cn/q=r_hk{code}" r = requests.get(url, timeout=10) r.encoding = "gbk" - Network accessline 637
r = requests.get(url, timeout=10) - Network accessline 676
code: 五位数字,如 "00700" """ url = f"https://hq.sinajs.cn/list=rt_hk{code}" - Network accessline 677
""" url = f"https://hq.sinajs.cn/list=rt_hk{code}" r = requests.get(url, headers={ - Network accessline 678
url = f"https://hq.sinajs.cn/list=rt_hk{code}" r = requests.get(url, headers={ "Referer": "https://finance.sina.com.cn/", - Network accessline 679
r = requests.get(url, headers={ - Network accessline 680
"Referer": "https://finance.sina.com.cn/", - Network accessline 737
curl -s "https://qt.gtimg.cn/q=usAAPL" | iconv -f GBK -t UTF-8 | tr '~' '\n' | cat -n - Network accessline 738
curl -s "https://qt.gtimg.cn/q=hk00700" | iconv -f GBK -t UTF-8 | tr '~' '\n' | cat -n - Network accessline 741
> 港股 `hk` 与 `r_hk` 两种前缀返回的字段布局完全一致(均 78 个),可互换。 > 感谢 [@HoRiZonn0](https://github.com/HoRiZonn0) 在 issue #2 中提供的完整对照,本表据此逐条复测后修订。 - Network accessline 742
> 感谢 [@HoRiZonn0](https://github.com/HoRiZonn0) 在 issue #2 中提供的完整对照,本表据此逐条复测后修订。 - Network accessline 758
如不确定前缀,先调 stock_search() 获取 mkt_num """ url = "https://push2.eastmoney.com/api/qt/stock/get" - Network accessline 759
""" url = "https://push2.eastmoney.com/api/qt/stock/get" params = { - Network accessline 760
url = "https://push2.eastmoney.com/api/qt/stock/get" - Network accessline 763
"fields": "f43,f44,f45,f46,f47,f48,f55,f57,f58,f59,f60,f170", } r = requests.get(url, params=params, timeout=10) - Network accessline 764
} r = requests.get(url, params=params, timeout=10) d = r.json().get("data") - Network accessline 765
r = requests.get(url, params=params, timeout=10) - Network accessline 812
返回: [{date, open, high, low, close, volume}, ...] """ url = "https://stock.finance.sina.com.cn/usstock/api/jsonp.php/var/US_MinKService.getDailyK" - Network accessline 813
""" url = "https://stock.finance.sina.com.cn/usstock/api/jsonp.php/var/US_MinKService.getDailyK" params = {"symbol": ticker.upper(), "num": num} - Network accessline 814
url = "https://stock.finance.sina.com.cn/usstock/api/jsonp.php/var/US_MinKService.getDailyK" params = {"symbol": ticker.upper(), "num": num} r = requests.get(url, params=params, headers={"Referer": "https://finance.sina.com.cn/"}, t - Network accessline 815
params = {"symbol": ticker.upper(), "num": num} r = requests.get(url, params=params, headers={"Referer": "https://finance.sina.com.cn/"}, timeout=15) text = r.text - Network accessline 816
r = requests.get(url, params=params, headers={"Referer": "https://finance.sina.com.cn/"}, timeout=15) - Network accessline 979
url = f"https://query2.finance.yahoo.com/v8/finance/chart/{symbol}" r = requests.get(url, params=params, timeout=20, headers={ - Network accessline 980
r = requests.get(url, params=params, timeout=20, headers={ - Network accessline 1570
返回: [{date, main_net, big_net, mid_net, small_net, main_pct, ...}, ...] """ url = "https://push2his.eastmoney.com/api/qt/stock/fflow/daykline/get" - Network accessline 1571
""" url = "https://push2his.eastmoney.com/api/qt/stock/fflow/daykline/get" params = { - Network accessline 1572
url = "https://push2his.eastmoney.com/api/qt/stock/fflow/daykline/get" - Network accessline 1578
"lmt": limit, } r = requests.get(url, params=params, timeout=15) - Network accessline 1579
} r = requests.get(url, params=params, timeout=15) d = r.json() - Network accessline 1580
r = requests.get(url, params=params, timeout=15) - Network accessline 1619
CBOE_BASE = "https://cdn.cboe.com/api/global/delayed_quotes" - Network accessline 1797
r = s.get(f"https://query2.finance.yahoo.com/v7/finance/options/{symbol}", - Network accessline 1863
raise ValueError(f"无效的指数代码: {index!r}") start, end = _check_range(start, end, _YMD) raw = official_get(f"https://cdn.cboe.com/api/global/us_indices/daily_prices/{idx}_History.csv") - Network accessline 1864
start, end = _check_range(start, end, _YMD) raw = official_get(f"https://cdn.cboe.com/api/global/us_indices/daily_prices/{idx}_History.csv") reader = csv.reader(io.StringIO(raw)) - Network accessline 1865
raw = official_get(f"https://cdn.cboe.com/api/global/us_indices/daily_prices/{idx}_History.csv") - Network accessline 1952
返回: {"company_name": ..., "filings": [{form, date, accession_number, primary_document}, ...]} """ url = f"https://data.sec.gov/submissions/CIK{cik}.json" - Network accessline 1953
""" url = f"https://data.sec.gov/submissions/CIK{cik}.json" r = requests.get(url, headers=SEC_HEADERS, timeout=15) - Network accessline 1954
url = f"https://data.sec.gov/submissions/CIK{cik}.json" r = requests.get(url, headers=SEC_HEADERS, timeout=15) r.raise_for_status() - Network accessline 1955
r = requests.get(url, headers=SEC_HEADERS, timeout=15) - Network accessline 1975
"primary_document": primary_docs[i] if i < len(primary_docs) else "", "description": descriptions[i] if i < len(descriptions) else "", "url": f"https://www.sec.gov/Archives/edgar/data/{int(cik)}/{accessions[i].replac - Network accessline 1976
"description": descriptions[i] if i < len(descriptions) else "", "url": f"https://www.sec.gov/Archives/edgar/data/{int(cik)}/{accessions[i].replace('-', '')}/{primary_docs[i]}" if i < len(primary_docs) and primary_docs[i] else " - Network accessline 1977
"url": f"https://www.sec.gov/Archives/edgar/data/{int(cik)}/{accessions[i].replace('-', '')}/{primary_docs[i]}" if i < len(primary_docs) and primary_docs[i] else "", - Network accessline 2001
返回: {"company": ..., "metrics": {"Revenue": [{end, val, form, filed}, ...], ...}} """ url = f"https://data.sec.gov/api/xbrl/companyfacts/CIK{cik}.json" - Network accessline 2002
""" url = f"https://data.sec.gov/api/xbrl/companyfacts/CIK{cik}.json" r = requests.get(url, headers=SEC_HEADERS, timeout=15) - Network accessline 2003
url = f"https://data.sec.gov/api/xbrl/companyfacts/CIK{cik}.json" r = requests.get(url, headers=SEC_HEADERS, timeout=15) r.raise_for_status() - Network accessline 2004
r = requests.get(url, headers=SEC_HEADERS, timeout=15) - Network accessline 2086
105=NASDAQ, 106=NYSE, 107=美股ETF, 116=港股 """ url = "https://searchapi.eastmoney.com/api/suggest/get" - Network accessline 2087
""" url = "https://searchapi.eastmoney.com/api/suggest/get" params = { - Network accessline 2088
url = "https://searchapi.eastmoney.com/api/suggest/get" - Network accessline 2093
"count": count, } r = requests.get(url, params=params, timeout=10) - Network accessline 2094
} r = requests.get(url, params=params, timeout=10) d = r.json() - Network accessline 2095
r = requests.get(url, params=params, timeout=10) - Network accessline 2125
注意: 需要先获取 Yahoo cookie 才能调用,否则返回 400 """ s = requests.Session() - Network accessline 2126
""" s = requests.Session() s.headers["User-Agent"] = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36" - Network accessline 2127
s = requests.Session() - Network accessline 2129
s.get("https://fc.yahoo.com", timeout=10) # 获取 cookie - Network accessline 2131
url = "https://query2.finance.yahoo.com/v1/finance/search" - Network accessline 2162
global _cik_cache if not _cik_cache: r = requests.get("https://www.sec.gov/files/company_tickers.json", - Network accessline 2163
if not _cik_cache: r = requests.get("https://www.sec.gov/files/company_tickers.json", headers=SEC_HEADERS, timeout=15) - Network accessline 2164
r = requests.get("https://www.sec.gov/files/company_tickers.json", - Network accessline 2205
url = "https://push2.eastmoney.com/api/qt/clist/get" - Network accessline 2212
"po": 1 if sort_desc else 0, } r = requests.get(url, params=params, timeout=15) - Network accessline 2213
} r = requests.get(url, params=params, timeout=15) d = r.json() - Network accessline 2214
r = requests.get(url, params=params, timeout=15) - Network accessline 2280
try: raw = official_get( f"https://cdn.finra.org/equity/regsho/daily/{market}shvol{d}.txt") - Network accessline 2281
raw = official_get( f"https://cdn.finra.org/equity/regsho/daily/{market}shvol{d}.txt") except DataNotAvailable: - Network accessline 2282
f"https://cdn.finra.org/equity/regsho/daily/{market}shvol{d}.txt") - Network accessline 2426
def _si_fetch(d: str, only: str = None) -> dict: raw = official_get(f"https://cdn.finra.org/equity/otcmarket/biweekly/shrt{d}.csv") - Network accessline 2427
raw = official_get(f"https://cdn.finra.org/equity/otcmarket/biweekly/shrt{d}.csv") - Network accessline 2540
for d in ([date] if date else _recent_weekdays(7)): dt = datetime.strptime(d, "%Y%m%d") url = (f"https://www.sec.gov/Archives/edgar/daily-index/" - Network accessline 2541
dt = datetime.strptime(d, "%Y%m%d") url = (f"https://www.sec.gov/Archives/edgar/daily-index/" f"{dt.year}/QTR{(dt.month - 1) // 3 + 1}/form.{d}.idx") - Network accessline 2542
url = (f"https://www.sec.gov/Archives/edgar/daily-index/" - Network accessline 2563
filings.append({"form": form, "form_label": _FORM_LABEL.get(form, ""), "company": company, "cik": cik, "date": filed, "url": f"https://www.sec.gov/Archives/{path}" if path else None}) - Network accessline 2564
"company": company, "cik": cik, "date": filed, "url": f"https://www.sec.gov/Archives/{path}" if path else None}) if by_form: - Network accessline 2565
"url": f"https://www.sec.gov/Archives/{path}" if path else None}) - Network accessline 2590
if date_to: p["dateRange"], p["enddt"] = "custom", date_to j = official_get("https://efts.sec.gov/LATEST/search-index", params=p, as_json=True) - Network accessline 2591
p["dateRange"], p["enddt"] = "custom", date_to j = official_get("https://efts.sec.gov/LATEST/search-index", params=p, as_json=True) hits = (j.get("hits") or {}).get("hits") or [] - Network accessline 2592
j = official_get("https://efts.sec.gov/LATEST/search-index", params=p, as_json=True) - Network accessline 2629
t = assert_us_ticker(ticker).replace(".", "-") # SEC 代码表写 BRK-B if _sec_tickers is None: _sec_tickers = official_get("https://www.sec.gov/files/company_tickers.json", as_json=True) - Network accessline 2630
if _sec_tickers is None: _sec_tickers = official_get("https://www.sec.gov/files/company_tickers.json", as_json=True) for v in _sec_tickers.values(): - Network accessline 2631
_sec_tickers = official_get("https://www.sec.gov/files/company_tickers.json", as_json=True) - Network accessline 2650
stop:可选判断函数,已读到的行满足它就不再往更早的分页读(分页从新到旧读)。 """ j = official_get(f"https://data.sec.gov/submissions/CIK{cik10}.json", as_json=True) - Network accessline 2651
""" j = official_get(f"https://data.sec.gov/submissions/CIK{cik10}.json", as_json=True) f = j.get("filings") or {} - Network accessline 2652
j = official_get(f"https://data.sec.gov/submissions/CIK{cik10}.json", as_json=True) - Network accessline 2659
for pg in sorted(f.get("files") or [], key=lambda x: x.get("filingTo") or "", reverse=True): if (pg.get("filingTo") or "9999") >= lo and (not until or (pg.get("filingFrom") or "") <= until): rows += _sec_rows(off - Network accessline 2660
if (pg.get("filingTo") or "9999") >= lo and (not until or (pg.get("filingFrom") or "") <= until): rows += _sec_rows(official_get(f"https://data.sec.gov/submissions/{pg['name']}", as_json=True)) if stop and st - Network accessline 2661
rows += _sec_rows(official_get(f"https://data.sec.gov/submissions/{pg['name']}", as_json=True)) - Network accessline 2752
if not acc or not doc.lower().endswith(".xml"): continue url = f"https://www.sec.gov/Archives/edgar/data/{int(cik10)}/{acc.replace('-', '')}/{doc}" - Network accessline 2753
continue url = f"https://www.sec.gov/Archives/edgar/data/{int(cik10)}/{acc.replace('-', '')}/{doc}" root = _xml(official_get(url, raw=True)) - Network accessline 2754
url = f"https://www.sec.gov/Archives/edgar/data/{int(cik10)}/{acc.replace('-', '')}/{doc}" - Network accessline 2854
# 按报告期取最新(晚交的旧季度不会被当成最新);同一报告期取最晚申报的那份 r = max(cands, key=lambda x: (x["reportDate"] or "", x["filingDate"] or "")) base = f"https://www.sec.gov/Archives/edgar/data/{int(cik10)}/{r['accessionNumber'].replace('-', '')}" - Network accessline 2855
r = max(cands, key=lambda x: (x["reportDate"] or "", x["filingDate"] or "")) base = f"https://www.sec.gov/Archives/edgar/data/{int(cik10)}/{r['accessionNumber'].replace('-', '')}" items = ((official_get(base + "/index.json", as_json - Network accessline 2856
base = f"https://www.sec.gov/Archives/edgar/data/{int(cik10)}/{r['accessionNumber'].replace('-', '')}" - Network accessline 2969
try: j = official_get( f"https://data.sec.gov/api/xbrl/frames/us-gaap/{tag}/{unit}/{period}.json", - Network accessline 2970
j = official_get( f"https://data.sec.gov/api/xbrl/frames/us-gaap/{tag}/{unit}/{period}.json", timeout=45, as_json=True) - Network accessline 2971
f"https://data.sec.gov/api/xbrl/frames/us-gaap/{tag}/{unit}/{period}.json", - Network accessline 3013
"""美国国债收益率曲线(每日,1M~30Y)。政府数据,S 级。返回 [0] 为最新一日""" year = year or datetime.now().year url = ("https://home.treasury.gov/resource-center/data-chart-center/interest-rates/" - Network accessline 3014
year = year or datetime.now().year url = ("https://home.treasury.gov/resource-center/data-chart-center/interest-rates/" f"daily-treasury-rates.csv/{year}/all?type=daily_treasury_yield_curve" - Network accessline 3015
url = ("https://home.treasury.gov/resource-center/data-chart-center/interest-rates/" - Network accessline 3024
if market_contains: q["$where"] = f"upper(contract_market_name) like upper('%{market_contains}%')" return official_get("https://publicreporting.cftc.gov/resource/6dca-aqww.json", - Network accessline 3025
q["$where"] = f"upper(contract_market_name) like upper('%{market_contains}%')" return official_get("https://publicreporting.cftc.gov/resource/6dca-aqww.json", params=q, as_json=True) - Network accessline 3026
return official_get("https://publicreporting.cftc.gov/resource/6dca-aqww.json", - Network accessline 3032
⚠<U+FE0F> D 级:Nasdaq 条款禁止自动抓取,仅供个人学习研究,见「数据源合规分级」""" date = date or datetime.now().strftime("%Y-%m-%d") j = official_get("https://api.nasdaq.com/api/calendar/earnings", - Network accessline 3033
date = date or datetime.now().strftime("%Y-%m-%d") j = official_get("https://api.nasdaq.com/api/calendar/earnings", params={"date": date}, headers={"Accept": "application/json"}, - Network accessline 3034
j = official_get("https://api.nasdaq.com/api/calendar/earnings", - Network accessline 3178
if "lastNObservations" in params: # 部分国家周末/假日记为空值(菲律宾),多取几天再截 params["lastNObservations"] += 10 rows = _sdmx_csv(f"https://stats.bis.org/api/v1/data/WS_CBPOL/{key}/all", - Network accessline 3179
params["lastNObservations"] += 10 rows = _sdmx_csv(f"https://stats.bis.org/api/v1/data/WS_CBPOL/{key}/all", dict(params, format="csv")) - Network accessline 3180
rows = _sdmx_csv(f"https://stats.bis.org/api/v1/data/WS_CBPOL/{key}/all", - Network accessline 3209
if not (flow.isalnum() and _SDMX_PART.match(key)): raise ValueError(f"非法的 ECB 数据集或序列代码:{flow!r} / {key!r}") rows = _sdmx_csv(f"https://data-api.ecb.europa.eu/service/data/{flow}/{key}", - Network accessline 3210
raise ValueError(f"非法的 ECB 数据集或序列代码:{flow!r} / {key!r}") rows = _sdmx_csv(f"https://data-api.ecb.europa.eu/service/data/{flow}/{key}", dict(_period_params(last, start, end), format="csvdata")) - Network accessline 3211
rows = _sdmx_csv(f"https://data-api.ecb.europa.eu/service/data/{flow}/{key}", - Network accessline 3255
""" names = {"DFR": "deposit_facility", "MRR_FR": "main_refinancing", "MLFR": "marginal_lending"} url = "https://data-api.ecb.europa.eu/service/data/FM/B.U2.EUR.4F.KR.DFR+MRR_FR+MLFR.LEV" - Network accessline 3256
names = {"DFR": "deposit_facility", "MRR_FR": "main_refinancing", "MLFR": "marginal_lending"} url = "https://data-api.ecb.europa.eu/service/data/FM/B.U2.EUR.4F.KR.DFR+MRR_FR+MLFR.LEV" start, end = _check_range(start, end, _PERIOD_D) - Network accessline 3257
url = "https://data-api.ecb.europa.eu/service/data/FM/B.U2.EUR.4F.KR.DFR+MRR_FR+MLFR.LEV" - Network accessline 3336
if not kind: raise ValueError(f"rate 只能是 {sorted(_NYFED_RATES)},收到 {rate!r}") base = f"https://markets.newyorkfed.org/api/rates/{kind}/{rate.lower()}" - Network accessline 3337
raise ValueError(f"rate 只能是 {sorted(_NYFED_RATES)},收到 {rate!r}") base = f"https://markets.newyorkfed.org/api/rates/{kind}/{rate.lower()}" start, end = _check_range(start, end, _YMD_ONLY) - Network accessline 3338
base = f"https://markets.newyorkfed.org/api/rates/{kind}/{rate.lower()}" - Network accessline 3376
if not 1 <= int(last) <= 5000: raise ValueError("last 范围 1–5000(超过 5000 时美联储返回空文件)") text = official_get("https://www.federalreserve.gov/datadownload/Output.aspx", params={ - Network accessline 3377
raise ValueError("last 范围 1–5000(超过 5000 时美联储返回空文件)") text = official_get("https://www.federalreserve.gov/datadownload/Output.aspx", params={ "rel": rel, "series": _FED_PACKAGES[rel], "lastobs": str(int(last)), "from": "", "to": - Network accessline 3378
text = official_get("https://www.federalreserve.gov/datadownload/Output.aspx", params={ - Network accessline 3449
if fields or default_fields: params["fields"] = fields or default_fields j = official_get("https://api.fiscaldata.treasury.gov/services/api/fiscal_service" + path, - Network accessline 3450
params["fields"] = fields or default_fields j = official_get("https://api.fiscaldata.treasury.gov/services/api/fiscal_service" + path, params=params, as_json=True) - Network accessline 3451
j = official_get("https://api.fiscaldata.treasury.gov/services/api/fiscal_service" + path, - Network accessline 3489
_TW = { "twse": {"base": "https://openapi.twse.com.tw/v1", - Network accessline 3490
"twse": {"base": "https://openapi.twse.com.tw/v1", - Network accessline 3493
"margin": "/exchangeReport/MI_MARGN", "exdividend": "/exchangeReport/TWT48U_ALL", "dividend": "/opendata/t187ap45_L"}, "tpex": {"base": "https://www.tpex.org.tw/openapi/v1", - Network accessline 3494
"dividend": "/opendata/t187ap45_L"}, "tpex": {"base": "https://www.tpex.org.tw/openapi/v1", "quotes": "/tpex_mainboard_daily_close_quotes", - Network accessline 3495
"tpex": {"base": "https://www.tpex.org.tw/openapi/v1", - Network accessline 3638
_EIA_PRICE = { "WTI": "https://www.eia.gov/dnav/pet/hist/LeafHandler.ashx?n=PET&s=RWTC&f=D", - Network accessline 3639
"WTI": "https://www.eia.gov/dnav/pet/hist/LeafHandler.ashx?n=PET&s=RWTC&f=D", - Network accessline 3640
"BRENT": "https://www.eia.gov/dnav/pet/hist/LeafHandler.ashx?n=PET&s=RBRTE&f=D", - Network accessline 3641
"HENRY_HUB": "https://www.eia.gov/dnav/ng/hist/rngwhhdD.htm", # 天然气走 LeafHandler 会 404 - Network accessline 3703
""" rd = list(csv.reader(io.StringIO( official_get("https://ir.eia.gov/wpsr/table1.csv").lstrip("<U+FEFF>")))) - Network accessline 3704
rd = list(csv.reader(io.StringIO( official_get("https://ir.eia.gov/wpsr/table1.csv").lstrip("<U+FEFF>")))) if not rd or len(rd[0]) < 8 or rd[0][0].strip() != "STUB_1": - Network accessline 3705
official_get("https://ir.eia.gov/wpsr/table1.csv").lstrip("<U+FEFF>")))) - Possible obfuscationline 3705
official_get("https://ir.eia.gov/wpsr/table1.csv").lstrip("<U+FEFF>")))) - Network accessline 3717
if not pet: raise DataNotAvailable("EIA WPSR table1.csv 没有库存行") g = json.loads(official_get("https://ir.eia.gov/ngs/wngsr.json").lstrip("<U+FEFF>")) - Network accessline 3718
raise DataNotAvailable("EIA WPSR table1.csv 没有库存行") g = json.loads(official_get("https://ir.eia.gov/ngs/wngsr.json").lstrip("<U+FEFF>")) gas = [] - Network accessline 3719
g = json.loads(official_get("https://ir.eia.gov/ngs/wngsr.json").lstrip("<U+FEFF>")) - Possible obfuscationline 3719
g = json.loads(official_get("https://ir.eia.gov/ngs/wngsr.json").lstrip("<U+FEFF>")) - Network accessline 3802
_BLS_API = "https://api.bls.gov/publicAPI/v1/timeseries/data/" - Network accessline 3803
_BLS_ICS = "https://www.bls.gov/schedule/news_release/bls.ics" - Network accessline 4162
_DOL_CLAIMS = "https://oui.doleta.gov/unemploy/wkclaims/report.asp" - Network accessline 4323
> 📦 https://github.com/simonlin1212/global-stock-data — Star ⭐ 是最好的支持
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 209 facts
- Network access in prose of documentationCHANGELOG.md:278Low confidence
- Network access in prose of documentationCHANGELOG.md:402Low confidence
- Network access in prose of documentationCHANGELOG.md:403Low confidence
- Network access in prose of documentationREADME.md:10Low confidence
- Network access in prose of documentationREADME.md:11Low confidence
- Network access in prose of documentationREADME.md:12Low confidence
- Network access in prose of documentationREADME.md:13Low confidence
- Network access in prose of documentationREADME.md:14Low confidence
- Network access in prose of documentationREADME.md:15Low confidence
- Network access in prose of documentationREADME.md:16Low confidence
- Network access in prose of documentationREADME.md:17Low confidence
- Network access in prose of documentationREADME.md:45Low confidence
- Network access in code of documentationREADME.md:120Low confidence
- Network access in code of documentationREADME.md:121Low confidence
- Network access in code of documentationREADME.md:122Low confidence
- Network access in prose of documentationREADME.md:317Low confidence
- Network access in prose of documentationREADME.md:318Low confidence
- Network access in prose of documentationREADME.md:362Low confidence
- Network access in prose of documentationREADME_zh.md:10Low confidence
- Network access in prose of documentationREADME_zh.md:11Low confidence
- Network access in prose of documentationREADME_zh.md:12Low confidence
- Network access in prose of documentationREADME_zh.md:13Low confidence
- Network access in prose of documentationREADME_zh.md:14Low confidence
- Network access in prose of documentationREADME_zh.md:15Low confidence
- Network access in prose of documentationREADME_zh.md:16Low confidence
- Network access in prose of documentationREADME_zh.md:17Low confidence
- Network access in prose of documentationREADME_zh.md:43Low confidence
- Network access in code of documentationREADME_zh.md:118Low confidence
- Network access in code of documentationREADME_zh.md:119Low confidence
- Network access in code of documentationREADME_zh.md:120Low confidence
- Network access in prose of documentationREADME_zh.md:320Low confidence
- Network access in prose of documentationREADME_zh.md:354Low confidence
- Network access in prose of the SKILL.mdSKILL.md:8Low confidence
- Network access in prose of the SKILL.mdSKILL.md:10Low confidence
- Network access in prose of the SKILL.mdSKILL.md:172Low confidence
- Network access in prose of the SKILL.mdSKILL.md:174Low confidence
- Network access in code of the SKILL.mdSKILL.md:324High confidence
- Network access in code of the SKILL.mdSKILL.md:327High confidence
- Network access in code of the SKILL.mdSKILL.md:328High confidence
- Network access in code of the SKILL.mdSKILL.md:330High confidence
- Network access in code of the SKILL.mdSKILL.md:331High confidence
- Network access in code of the SKILL.mdSKILL.md:339High confidence
- Network access in code of the SKILL.mdSKILL.md:340High confidence
- Network access in code of the SKILL.mdSKILL.md:341High confidence
- Network access in code of the SKILL.mdSKILL.md:353High confidence
- Network access in code of the SKILL.mdSKILL.md:354High confidence
- Network access in code of the SKILL.mdSKILL.md:364High confidence
- Network access in code of the SKILL.mdSKILL.md:365High confidence
- Network access in code of the SKILL.mdSKILL.md:366High confidence
- Network access in code of the SKILL.mdSKILL.md:478High confidence
and 159 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/simonlin1212-global-stock-data/)