datawhale量化笔记(1)
2026/6/16 1:06:41 网站建设 项目流程

量化金融入门笔记

1. 常见金融数据接口对比

金融数据接口没有绝对最优,关键是看使用场景:入门阶段重视免费和易用,研究阶段重视稳定和规范,正式回测阶段重视数据质量和偏差控制。

1.1 快速选型

使用场景推荐接口主要原因
零成本入门、快速获取 A 股数据AKShare、efinance无需注册,开箱即用,覆盖面广
想要更稳定、结构化的国内金融数据TuShare ProAPI 标准化,文档完善,数据清洗较好
做美股或全球市场研究yfinance免费、简单,适合获取美股和全球指数数据
快速探索、技术指标、画图qstock集成数据获取、指标计算和可视化
严肃策略回测或投研JQData、rqdatac数据质量高,覆盖退市股票和专业字段

简单记忆:

  • 免费入门:优先看 AKShare、efinance。
  • A 股规范化研究:优先看 TuShare Pro。
  • 美股与全球市场:优先看 yfinance。
  • 专业回测:优先看 JQData、rqdatac。

1.2 轻量开源接口

这类接口通常通过解析公开财经网站获取数据,适合初学者、个人项目、轻量级数据看板和课程演示。优点是上手快,缺点是稳定性受源站影响。

AKShare

AKShare 是一个开源、免费的 Python 金融数据接口库。它主要通过网络爬虫从公开财经网站获取实时和历史数据,例如东方财富、新浪财经、网易财经、中国人民银行等。

优势

  • 完全免费,无需注册或申请 Token。
  • 覆盖范围很广,包括 A 股、港股、美股、期货、期权、基金、债券、外汇、宏观经济数据、加密货币等。
  • 开源社区活跃,数据源失效时通常会有人维护和修复。

劣势

  • 稳定性受源站影响。目标网站改版、反爬机制升级或接口变更时,相关接口可能失效。
  • 没有统一数据存储。每次调用通常都是实时向源站请求数据,频繁或高并发请求可能触发限制。
  • 数据清洗质量不完全一致。字段缺失、格式变化等问题需要使用者自己检查。

适合场景

  • 零基础入门量化数据获取。
  • 快速验证想法或做课程练习。
  • 需要覆盖较多国内公开数据源,但对稳定性要求不极端的项目。
efinance

efinance 是一个基于公开财经网站的轻量金融数据接口库,常见数据源包括东方财富、网易财经、腾讯财经等。

优势

  • 上手很快,无需注册或配置 Token。
  • 接口命名直观,例如ef.stock.get_quote_history
  • 覆盖日常常用数据,包括 A 股、港股、美股历史行情与实时行情,以及基金、期货数据。
  • 默认返回 Pandas DataFrame,便于后续分析。

劣势

  • 与 AKShare 类似,底层依赖公开网页或接口,源站变化会影响可用性。

适合场景

  • 想快速拿到整洁 DataFrame 的初学者。
  • 简单行情看板、脚本分析、小型数据实验。
qstock

qstock 是一个集数据获取、技术指标计算和可视化于一体的综合金融量化分析库。

优势

  • 不只获取行情,还内置常用技术指标计算,例如 MACD、KDJ。
  • 提供画图能力,例如 K 线图。
  • 融合东方财富、同花顺、新浪等多个数据源,探索体验较好。

劣势

  • 更适合个人探索和可视化。
  • 如果需要极深的财务历史数据、严格复权逻辑或专业回测数据,支持力度相对有限。

适合场景

  • 技术指标学习。
  • 快速画图和探索行情。
  • 教学演示或个人研究原型。

1.3 标准化 API 平台

这类平台通常自己存储和清洗数据,通过标准 API 对外提供服务。相比网页解析型接口,稳定性和数据规范性更好,但往往有注册、积分或付费门槛。

TuShare Pro

TuShare 是国内非常流行的金融数据平台。早期版本完全免费,现在常用的是 TuShare Pro,采用积分制。用户可以通过注册、签到、发布文章或付费赞助获取积分,不同积分等级对应不同接口权限和调用频次。

优势

  • 接口稳定。数据存储在 TuShare 自己的服务器上,通过标准 API 提供服务,不容易因为第三方网站改版而失效。
  • 数据质量较高。数据经过官方清洗和结构化处理,格式规范,历史数据较完整。
  • 文档完善,有活跃的中文社区和客服支持。

劣势

  • 有获取门槛。基础数据通常容易免费获取,但高频数据、分钟级 K 线、详细财务指标或更长历史数据往往需要较多积分。
  • 有调用频次限制。积分等级会影响每分钟调用次数,大规模批量下载时需要注意。

适合场景

  • 需要稳定、规范的 A 股数据。
  • 需要较完整的历史行情和基础财务数据。
  • 学习量化时希望减少数据格式混乱带来的干扰。

1.4 海外与全球市场接口

Yahoo Finance / yfinance

Yahoo Finance 是全球知名的免费金融数据源之一。在 Python 中通常使用yfinance库下载数据。它主要服务于全球市场,尤其适合美股和发达国家市场。

优势

  • 全球市场覆盖较广,适合获取美股、欧洲股市、外汇、加密货币和全球主要指数数据。
  • 使用简单,无需注册,直接传入股票代码即可获取历史行情和部分基本面数据。
  • 调整后价格处理较方便,能自动处理拆股、分红等除权除息数据,适合做美股历史回测。

劣势

  • 国内网络访问可能不稳定,可能遇到延迟或无法连接的问题。
  • A 股支持较弱。虽然可以通过后缀代码获取部分 A 股数据,例如000001.SZ,但可能出现缺失、更新不及时或复权处理不符合国内习惯的问题。
  • 基本面数据深度有限,详细财务报表和长历史数据不如专业收费数据库。

适合场景

  • 美股历史行情分析。
  • 全球指数、外汇、加密货币的快速研究。
  • 海外资产配置或跨市场对比。

1.5 投研级数据接口

如果要做严肃的策略回测,尤其需要无幸存者偏差、处理停牌、复权、退市股票和高质量财务数据,就应该考虑专业量化平台的数据接口。

JQData(聚宽)

JQData 是聚宽量化投研平台推出的本地金融数据接口,通常以 Python SDK 的形式使用。

优势

  • 专业级数据清洗。包含历史退市股票,有助于规避回测中的幸存者偏差。
  • 数据维度丰富。除了 K 线,还包括分钟级数据、逐笔高频数据、申万行业分类、详细财务报表和各类因子数据。
  • 通常提供一段时间免费试用,对学术研究也可能有优惠支持。

劣势

  • 试用期后属于付费服务,对个人零成本使用者有一定资金门槛。

适合场景

  • 策略回测。
  • 因子研究。
  • 对数据准确性和历史完整性要求较高的项目。
rqdatac(米筐)

rqdatac 是米筐科技(Ricequant)提供的机构级金融数据接口。

优势

  • 稳定性和准确度很高,常用于专业投资机构、券商和高校研究。
  • 数据结构严谨,适合严肃投研。
  • 对期货、期权等衍生品数据支持较专业。

劣势

  • 商业化程度较高,免费使用门槛相对高。
  • 主要面向企业、机构或高校学术合作。

适合场景

  • 机构级投研。
  • 衍生品研究。
  • 对数据质量、稳定性和服务支持要求很高的项目。

1.6 数据接口使用注意事项

  • 不要默认免费数据一定准确。使用前应检查字段含义、缺失值、复权方式和时间范围。
  • 爬虫型接口适合学习和原型验证,但不适合高频、大规模、强稳定性生产任务。
  • 做回测时要特别关注幸存者偏差、前复权/后复权、停牌、退市和交易日历。
  • 批量下载数据时要控制请求频率,避免触发源站限制。
  • 如果研究结论很重要,最好使用多个数据源交叉验证。

2. 股价真的是随机游走吗

这个实验让 50 只“虚拟股票”同时从 100 元出发,各自独立随机游走 250 个交易日,约等于 1 年。

2.1 实验观察

  • 每条价格路径都完全不可预测。
  • 单只股票的走势像随机走路,路径不重复,也很难提前判断方向。
  • 大量路径的终点价格呈现统计规律,通常接近正态分布。
  • 波动幅度会随着时间增长而扩大,并且常常与时间平方根成正比。

2.2 这个实验告诉我们什么

这正是巴舍利耶在 1900 年揭示的核心洞察:

  • 单只股票的走势无法稳定预测。
  • 大量股票或大量路径的统计规律更稳定。
  • 量化金融的核心逻辑不是预测单一结果,而是利用统计规律。

也可以这样理解:

单条路径是随机的,但大量路径的分布是有规律的。

2.3 对量化金融的启发

量化研究通常不追求“精准预测明天涨跌”,而是研究:

  • 某类信号在大量样本中是否有统计优势。
  • 这种优势是否能覆盖交易成本。
  • 这种优势在不同市场阶段是否稳定。
  • 策略长期重复执行后,收益和风险是否可接受。

3. 凯利公式是什么

凯利公式(Kelly Criterion)是一个用于资金管理和头寸管理的经典公式。它由物理学家约翰·凯利(John L. Kelly Jr.)于 1956 年提出,最初用于通信理论,后来被广泛应用于博弈、赛马和金融投资。

凯利公式回答的问题是:

当一个机会的胜率和赔率已知,并且它具有正期望收益时,每次应该投入多少资金,才能让长期资金增长速度最大,同时尽量避免破产?

3.1 基础公式

最基础的凯利公式如下:

f∗=b⋅p−qb f^* = \frac{b \cdot p - q}{b}f=bbpq

其中:

  • f∗f^*f:应该投入的资金占总资金的比例,也就是最优下注比例。
  • bbb:净赔率,即赢钱时赚取的净利润与输钱时损失本金的比例。例如投 1 元,赢了净赚 2 元,则b=2b = 2b=2
  • ppp:赢的概率,也就是胜率。
  • qqq:输的概率,并且q=1−pq = 1 - pq=1p

这个公式也可以写成:

f∗=p−qb f^* = p - \frac{q}{b}f=pbq

3.2 一个直观例子

假设有一个不均匀硬币:

  • 抛出正面的概率是 60%,即p=0.6p = 0.6p=0.6
  • 抛出反面的概率是 40%,即q=0.4q = 0.4q=0.4
  • 猜对时,押 1 元净赚 1 元,因此b=1b = 1b=1

代入凯利公式:

f∗=1×0.6−0.41=0.2 f^* = \frac{1 \times 0.6 - 0.4}{1} = 0.2f=11×0.60.4=0.2

这意味着,最优策略是每次投入当前总资金的 20%。

如果投入比例过高,例如每次押 50% 或全仓,连续几次亏损就会导致资金快速缩水。
如果投入比例过低,例如每次只押 1%,虽然更安全,但长期增长速度会偏慢。

3.3 金融投资中的形式

在股票、期货或外汇等金融市场中,凯利公式常被写成连续时间形式:

f∗=μ−rσ2 f^* = \frac{\mu - r}{\sigma^2}f=σ2μr

其中:

  • μ\muμ:资产的预期收益率。
  • rrr:无风险利率。
  • σ2\sigma^2σ2:资产收益率的方差,代表波动和风险。

这个公式表达了一个很直观的思想:

  • 预期收益越高,应该配置的仓位越重。
  • 波动和风险越大,应该配置的仓位越轻。

3.4 凯利公式的优势

  • 最大化长期收益。在概率和赔率已知的前提下,凯利公式可以最大化长期几何平均增长率。
  • 理论上能避免破产。只要每次投入的是当前资金的一定比例,并且比例小于 100%,资金不会一次性归零。
  • 强调仓位管理。它提醒我们,赚钱不只取决于方向判断,也取决于每次下注的大小。

3.5 凯利公式的局限

  • 概率和赔率很难准确估计。金融市场中的胜率和赔率只能用历史数据估算,未来可能变化。
  • 高估优势会非常危险。如果把胜率估得过高,凯利公式会给出过大的仓位,可能造成严重亏损。
  • 回撤可能很大。完全凯利策略的资金曲线波动很剧烈,很多人无法承受。
  • 现实交易不能无限细分。股票有最小交易单位,也有手续费、滑点和流动性约束。

3.6 分数凯利

由于完全凯利风险较高,实际投资中更常使用分数凯利(Fractional Kelly)。

常见做法是半凯利:

实际仓位=0.5×f∗ 实际仓位 = 0.5 \times f^*实际仓位=0.5×f

分数凯利的好处是:

  • 长期增长速度会略低于完全凯利。
  • 回撤幅度和波动会明显降低。
  • 更符合真实投资者的心理承受能力。

3.7 索普的启发

索普在 1961 年用实际投注验证过一个重要道理:只有概率优势和仓位管理结合起来,长期盈利才可能稳定出现。

类型概率优势仓位管理长期结果
玩家 A使用凯利公式随机波动,长期不一定盈利
玩家 B有 2% 优势使用凯利公式稳定盈利,复利增长
玩家 C有 2% 优势过度下注大起大落,甚至可能亏光

量化金融的底层逻辑可以概括为:

  1. 找到概率优势,这是策略研究的目标。
  2. 科学管理仓位,这是风险控制的目标。
  3. 长期重复执行,这是纪律和系统化交易的目标。

概率优势 × 仓位管理 × 长期纪律 = 量化盈利的完整公式。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询