FTShare:免费提供历史 1 分钟和实时行情
做量化交易,日线数据通常不难找。
真正影响策略研究深度的,往往是历史 1 分钟行情和实时行情。
量化研究的第一道门槛,有时不是不会写策略,而是拿不到足够细的数据。
如果只有日线数据,很多盘中过程无法还原。策略什么时候触发,盘中如何进出,持仓时间有多长,都只能用比较粗的方式估算。
最近我发现了一个新的数据服务:FTShare。
它由非凸科技推出,目前完全免费提供历史 1 分钟行情和实时行情。对于想做分钟级回测、实时监控,甚至搭建量化实盘系统的人来说,这是一个值得关注的工具。
FTShare 的核心价值,是用免费的历史分钟数据和实时行情,降低个人量化研究的起点。
FTShare 是什么?
FTShare 是非凸科技推出的一项金融数据服务,主要面向投资研究、量化分析和交易系统开发。
它提供的数据接口不只覆盖日线行情,还包括:
- 历史 1 分钟 K 线;
- 个股 1 分钟分时数据;
- 实时行情快照;
- 股票、ETF、指数和债券等标的的数据。
FTShare 还提供 Python SDK,可以把行情数据直接读取为 Pandas DataFrame,接入已有的量化研究流程。
非凸科技本身也不只是做一个行情查询接口。它关注算法交易、金融数据和 AI 在交易场景中的应用,并尝试把数据接口、MCP 工具、Skills 工作流和 Agent 应用连接起来。
这让 FTShare 更像是一个量化数据基础设施,而不只是一份行情数据。
为什么“完全免费”值得关注?
行情数据是量化交易中绕不开的成本。
如果只做日线回测,很多平台都能满足基本需求。但当研究进入分钟级别,数据费用往往会明显增加。历史分钟行情和实时行情,通常会被放在更高等级的权限中。
FTShare 目前完全免费提供这些数据。
这意味着个人投资者不需要先购买昂贵的数据服务,就可以获取历史 1 分钟行情,完成分钟级别的策略回测;也可以通过实时行情接口,搭建自己的行情监控程序。
免费带来的最大变化,不只是节省一笔费用,而是降低了研究的起点。
以前因为数据成本较高而暂时无法开展的研究,现在可以先用真实行情数据完成策略开发。个人开发者可以把更多精力放在策略逻辑、回测框架和交易执行上。
免费不代表没有调用限制。 官方文档对不同用户设置了不同的调用频率限制。如果要进行大规模数据下载,需要做好分批请求、本地缓存和失败重试。
历史 1 分钟行情,改变了什么?
日线数据只能告诉我们一天的开盘价、最高价、最低价和收盘价。
但在真实交易中,价格是如何从开盘走到收盘的,日线数据无法完整还原。
例如,一只股票当天最高上涨 5%,收盘只上涨 1%。如果策略在盘中触发了买入信号,随后又触发止损,只使用日线数据,就很难准确判断信号出现的时间,以及止损是否真的发生。
历史 1 分钟行情的意义,不只是把数据切得更细,而是让盘中交易过程能够被回测。
历史 1 分钟行情可以把一天的交易过程拆得更细:
- 策略什么时候产生信号;
- 信号持续了多长时间;
- 价格是否触发止盈止损;
- 成交量是否同步放大。
这些细节都可以被纳入回测,直接影响量化研究的准确度。
在交易成本、滑点和成交规则设置合理的情况下,数据粒度越细,策略对进场、出场和持仓时间的模拟就越细,回测结果也更接近实际执行过程。
同时,能够设计的策略类型也会增加。除了传统的日线趋势策略,还可以研究:
- 开盘策略;
- 盘中突破;
- 分钟级均线;
- 短周期动量;
- 日内均值回归;
- 成交量变化和尾盘交易。
实时行情,可以用来做什么?
历史数据解决的是“过去发生了什么”,实时行情解决的是“现在正在发生什么”。
有了实时行情接口,量化系统就不只是定期下载数据、运行回测,还可以持续获取最新价格、涨跌幅、成交量和成交额等信息。
最直接的用途是做行情监控:
- 监控自选股票是否突破某个价格;
- 判断某个板块的成交量是否突然放大;
- 检查持仓标的是否触发止盈止损条件;
- 记录策略信号,并发送提醒。
再往前一步,就是量化实盘。
一个完整的量化实盘系统,通常包括行情获取、策略计算、风险控制、下单执行和交易记录几个部分。FTShare 提供的实时行情,主要解决其中的行情输入问题。
系统可以按照固定频率读取最新行情,计算策略信号,再把信号交给交易执行模块处理。
实时行情接口不等于券商下单接口。 订单执行仍然需要单独接入交易通道。
但从策略回测到实时监控,再到量化实盘,稳定的实时数据源是不可缺少的一环。FTShare 把这一环节免费开放出来,降低了个人开发者搭建系统的门槛。
如何开始使用?
FTShare 提供了 Python SDK,适合直接接入量化研究环境。
通过市场数据接口,可以获取个股分时数据:
import ftshare as ft
market = ft.market_api()
data = market.stock_intraday(
symbol="600000.XSHG"
)
print(data.head())
如果需要获取历史 1 分钟 K 线,可以调用股票 K 线接口,并将周期设置为:
interval_unit = "Minute"
interval_value = 1
返回的数据包括开盘价、最高价、最低价、收盘价、成交量、成交额和时间戳等字段,可以继续用于数据清洗、因子计算和回测。
使用历史分钟数据时,需要注意单次请求的时间跨度限制。较长时间的历史数据,需要按照时间区间分批获取,再保存到本地数据库中。
一个比较适合个人开发者的流程是:
- 获取历史数据;
- 保存到本地;
- 清洗并检查数据;
- 回测分钟级策略;
- 接入实时行情;
- 运行监控或量化实盘。
适合哪些人?
FTShare 更适合下面几类使用场景:
- 个人量化研究者:希望免费获取分钟级历史数据,减少前期成本;
- 策略开发者:需要研究开盘、盘中突破、短周期动量等策略;
- 程序员投资者:想用 Python 搭建自己的行情监控系统;
- 量化实盘初学者:已经有回测策略,需要接入实时行情;
- AI 工具使用者:希望把金融数据接入 MCP、Skills 或 Agent 工作流。
最后
对量化交易来说,数据决定了研究可以走多深。
FTShare 目前完全免费提供历史 1 分钟行情和实时行情,降低了个人投资者获取重要量化数据的门槛。
它的价值不只是“免费”。历史 1 分钟数据让回测更接近真实交易过程,也让更多盘中策略有了研究基础;实时行情则可以进一步用于价格监控、信号提醒和量化实盘系统。
再加上非凸科技在金融数据、算法交易和 AI 工具方面的积累,FTShare 是个人开发者构建量化研究和交易系统时值得关注的新工具。
把历史数据用于研究,把实时行情接入系统,量化交易才能从回测真正走向运行。