Strasmore Research
学习 Matt Connor作者: Matt Connor · 更新于 2026-07-23 · data as of July 23, 2026 · refreshed weekly

免费股票市场数据 SQL API

使用 SQL 查询 22 年美股历史数据,涵盖股息与基本面。每天 100 次免费查询,无需信用卡,立即开始探索。

存在一个免费的股票市场数据 SQL API,本页面即为该 API 的文档。免费市场数据 API 随处可见;但一个能够接受您编写的 SQL、在 22 年的美国股票历史数据上运行,并以 JSON 格式返回结果的 API 则截然不同。Strasmore 的免费层级正是如此:每天 100 次查询,由您编写,无需信用卡。

免费数据 API 很常见,但免费 SQL 并不常见

典型的免费数据 API 提供固定的端点。每个数据集对应一个 URL,参数由供应商预设,您提出的每个问题都必须符合已有的端点。一旦您的问题涉及两个数据集(例如“股息增长且卖空头寸下降的公司”),您就必须自己下载 CSV 文件并进行关联。

SQL 消除了这一限制。查询本身就是端点。连接(Joins)、窗口函数、聚合和日期运算都在数据存储处运行,您下载的是结果而非原始数据。本博客上的每个面板都采用这种方式,每个图表下方都可以一键查看 SQL 语句。

数据仓库内容

可查询的数据范围是一个存储美国市场数据的 ClickHouse 数据仓库:包含 2003 年以来的日线和分钟级价格聚合数据、股息与拆股、季度基本面、估值比率、卖空头寸与卖空成交量、IPO、市场新闻,以及包含 2014 年起每日收盘希腊字母和隐含波动率的期权数据集。下方的面板针对该仓库运行了三个实际查询,每个查询的复杂度都超出了固定端点 API 的处理能力。

单个 GROUP BY 语句即可处理 20 年的股息记录。可口可乐在 20042.04 期间每股支付了 1,而 2025 期间的 22 年度行则提取了完整的历史记录。如需查看单个股票的详细处理,请参阅 微软的股息记录

查询KO: 每股年度现金股利
每个数字背后的完整 SQL
SELECT toYear(ex_dividend_date) AS year,
       round(sum(cash_amount), 2) AS total_cash_per_share
FROM global_markets.stocks_dividends
WHERE ticker = 'KO'
  AND cash_amount IS NOT NULL
  AND ex_dividend_date >= '2004-01-01'
  AND toYear(ex_dividend_date) < toYear(today())
GROUP BY year
ORDER BY year

单次计算的期权波动率期限结构。按到期期限分组的 SPY 平均收盘隐含波动率,涵盖从当前期限到一年后的 9 个区间。最新交易日的当前期限区间为 26.4%。该数据集(希腊字母和隐含波动率)属于付费层级,免费账户附带的七天试用期可完整覆盖该数据。

查询SPY 不同到期日的隐含波动率,最近交易日
每个数字背后的完整 SQL
SELECT least(floor(days_to_expiry / 30) * 30, 360) AS dte_bucket_days,
       round(avg(implied_volatility) * 100, 1) AS avg_iv_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
  AND date = (SELECT max(date) FROM global_markets.options_greeks)
  AND iv_converged
  AND days_to_expiry BETWEEN 1 AND 400
GROUP BY dte_bucket_days
ORDER BY dte_bucket_days

针对大型股票的估值筛选。市值在 5000 万美元以上且市盈率为正的所有公司,按规模排序。规模最大的 NVDA,最新交易日的市盈率为 30.8 倍。

查询市值 > $500B 美股市盈率
每个数字背后的完整 SQL
SELECT ticker,
       round(price_to_earnings, 1) AS pe_ratio
FROM global_markets.stocks_ratios
WHERE date = (SELECT max(date) FROM global_markets.stocks_ratios)
  AND market_cap > 5e11
  AND price_to_earnings > 0
  AND ticker NOT IN ('SPCX')
ORDER BY market_cap DESC
LIMIT 12

免费层级包含的内容

免费账户是一个具有真实限制的 SQL 接口,具体说明如下:

  • 每天 100 次查询,使用 SQL 或普通英语编写(终端会将英语转换为 SQL,并在运行前向您展示查询语句)。
  • 免费层级提供两年的价格历史数据;付费层级开放完整的 22 年历史数据。
  • 免费版可查询日线和分钟级聚合数据、股息、拆股、基本面、比率、卖空头寸、IPO 和新闻。逐笔交易(Tick-level)数据和希腊字母/隐含波动率数据集为付费功能。
  • 每个新账户在注册后即可获得为期七天的 Quotes 层级试用期,无需绑定卡片,您可以在评估期间使用完整历史数据和受限数据集。
  • 所有访问均通过 SQL 网关进行只读操作。仅支持 SELECT 和 WITH 语句;不支持其他操作。

不存在任何规避限制的手段:上述限制是实际的产品配置,且网关对浏览器会话和 API 调用应用相同的限制规则。

注册前试用

SQL 接口的免密钥配套方案是 免费演示 API:一个固定查询目录,无需账户,每个响应都携带生成该结果的 SQL。其目的是让您(或您的 AI 代理)在决定是否使用 SQL 层级之前,通过一次 curl 请求查看数据结构。https://ai.strasmore.com/api/demo/catalog 处的目录列出了所有键值。

常见问题解答

真的有可以接受 SQL 的免费 API 吗?

是的。免费的 Strasmore 账户每天可以针对美国股票仓库运行最多 100 个您编写的 SQL 查询,仅限只读,提供两年的历史数据。无需提供支付信息。

它使用哪种 SQL 方言?

ClickHouse SQL。包含窗口函数的标准 SELECT 语法,以及 ClickHouse 的聚合组合器(aggregate combinators)。本博客的面板可作为示例使用,每个图表下方均可展开查看准确的 SQL。

我可以不用编写 SQL 来使用吗?

可以。终端接受普通英语问题,为您编写 SQL,并在运行前展示查询语句。生成的 SQL 是可编辑的,这是学习模式(Schema)的快速方式。

免费层级的确切限制是什么?

每天 100 次查询,2 年历史数据,只读模式,且逐笔交易和希腊字母数据集仅限付费层级。注册后即可获得 7 天全功能试用,无需信用卡。

有不需要注册就能使用的功能吗?

演示 API。它是针对同一仓库的固定查询目录,支持 CORS,无需密钥。它不接受自定义 SQL;其存在是为了实现即时评估和供 AI 代理使用。

上述面板是任何人都可以读取的存储查询;您也可以在 Strasmore 终端上使用相同的数据仓库编写您自己的查询。

#sql#api#market data#clickhouse#free tier