数据源介绍:常见免费数据源与合规注意事项

做量化投资,第一步就是搞数据。没有数据,再牛的模型也是空中楼阁。

我刚开始做量化那会儿,数据源选择远没现在这么丰富。那时候要么花钱买Wind,要么自己爬网页,折腾得很。现在好了,免费数据源越来越多,质量也还不错。今天我就把常用的几个免费数据源掰开揉碎了讲讲,顺便聊聊数据合规那些事儿——嗯,这块其实挺重要的,很多人容易忽略。

一、Tushare:国内量化圈的“老大哥”

Tushare 是我个人用得最早的一个免费数据源。它由一位叫 Jimmy 的开发者维护,社区很活跃。说白了,Tushare 就是一套基于 Python 的财经数据接口库。

核心特点:

  • 覆盖A股、港股、美股、期货、基金、债券等
  • 提供日线、分钟线、复权因子、财务数据等
  • 需要注册获取 token,部分接口需要积分

安装很简单:

pip install tushare

基本用法:

import tushare as ts

# 设置token(需要去官网注册获取)
ts.set_token('你的token')

# 初始化pro接口
pro = ts.pro_api()

# 获取某只股票的日线数据
df = pro.daily(ts_code='000001.SZ', start_date='20230101', end_date='20231231')
print(df.head())

我在项目中遇到过一个问题:Tushare 的免费接口有调用频率限制,每分钟最多200次。如果你写了个循环去批量拉数据,很容易被限流。我的建议是——加个 time.sleep(0.3) 控制节奏。

小技巧: Tushare 的财务数据接口(比如 income、balancesheet)数据质量很高,但字段名是英文的。我习惯拉下来后先做个字段映射表,转成中文,方便后续分析。

二、AKShare:后起之秀,数据源更广

AKShare 是近几年火起来的开源数据源。它的口号是“让数据获取变得简单”。我个人觉得,AKShare 最大的优势在于——数据源覆盖面极广,从股票、基金到宏观经济、新闻舆情,甚至包括一些另类数据。

安装:

pip install akshare

举个例子,获取A股实时行情:

import akshare as ak

# 获取A股实时行情
df = ak.stock_zh_a_spot_em()
print(df.head())

再比如获取龙虎榜数据:

import akshare as ak

# 获取龙虎榜机构席位成交额排名
df = ak.stock_sse_summary()
print(df.head())

AKShare 的数据源来自各大财经网站(东方财富、新浪财经、同花顺等),所以数据更新很及时。但要注意——不同数据源的数据格式可能不一样,需要做标准化处理。

避坑指南: 我曾经遇到过 AKShare 某个接口突然返回空数据的情况,后来发现是上游网站改了页面结构。所以,建议你在生产环境中加个数据校验逻辑——如果返回的数据为空或字段缺失,自动触发告警。

三、Yahoo Finance:国际市场的首选

如果你需要做美股、港股或者全球指数的数据,Yahoo Finance 是个不错的选择。它免费、稳定、覆盖面广。Python 里常用的库是 yfinance。

安装:

pip install yfinance

基本用法:

import yfinance as yf

# 获取苹果公司股票数据
aapl = yf.Ticker("AAPL")

# 获取历史行情
hist = aapl.history(period="1y")
print(hist.head())

# 获取财务数据
financials = aapl.financials
print(financials.head())

Yahoo Finance 的数据质量整体不错,但有个问题——它不提供A股数据。所以如果你主要做A股,还是得用 Tushare 或 AKShare。

个人经验: 我习惯把 yfinance 获取的数据和 Tushare 的数据做交叉验证。比如同一只港股,两边拉下来对比一下收盘价,如果差异超过0.5%,我会去查一下原因。这种交叉验证的习惯,能帮你发现很多数据质量问题。

四、数据获取的合规性与注意事项

这部分内容,我建议你认真看看。很多人觉得数据嘛,网上公开的,随便用。其实没那么简单。

注意事项 具体说明
数据来源授权 即使是免费数据,也要遵守数据提供方的使用协议。比如 Tushare 要求注册并遵守其积分规则
数据使用范围 个人研究和商业使用是两回事。商业使用需要获得授权,否则可能面临法律风险
数据存储与传播 不要将获取的数据二次分发或出售。我曾经见过有人把 Tushare 的数据打包卖,结果被起诉了
爬虫合规性 如果自己写爬虫,要遵守网站的 robots.txt 协议,控制请求频率,不要对服务器造成压力
数据准确性 免费数据源可能存在延迟或错误,建议做数据校验和清洗

特别提醒: 我曾经帮一个朋友处理过数据合规问题。他用了某网站的数据做量化策略,结果网站方发律师函说他侵犯了数据库版权。后来查了才知道,那个网站的数据虽然公开显示,但版权声明里明确写了“禁止商业用途”。所以,用数据前一定先看使用协议。

五、数据源选择建议

说了这么多,到底该选哪个?我个人的建议是:

  • 做A股基本面量化: 首选 Tushare,它的财务数据最全最规范
  • 需要实时行情或另类数据: 用 AKShare,数据源多、更新快
  • 做美股或全球市场: 用 Yahoo Finance,简单稳定
  • 追求数据质量: 多个数据源交叉验证,取交集或做一致性校验

你想想看,数据源选对了,后面清洗和分析的工作量能少一半。选错了,光数据对齐就能让你崩溃。

六、本章知识体系图

下面这张图,帮你理清本章的核心逻辑:

数据源选择与合规知识体系 免费数据源 Tushare AKShare Yahoo Finance Tushare 特点 • A股财务数据最全 • 需要token和积分 • 有调用频率限制 AKShare 特点 • 数据源覆盖面广 • 更新及时 • 依赖上游网站稳定性 Yahoo Finance 特点 • 美股数据首选 • 接口简单稳定 • 不支持A股 合规注意事项:授权 → 使用范围 → 存储传播 → 爬虫规范 → 数据校验 建议:多源交叉验证,确保数据质量

这张图把数据源选择的核心逻辑串起来了。你从中心出发,根据需求选数据源,最后一定要过合规这道关。

好了,数据源这块就聊到这儿。记住一句话:数据是量化投资的地基,地基不稳,楼盖得再高也白搭。下一章我们开始讲数据清洗的具体方法,到时候见。


公众号:蓝海数据掘金营,微信deep3321