
量化投资需要哪些金融科目
量化投资的核心是用数学模型和计算机程序捕捉市场机会。股票和期货市场提供了大量可量化的数据,从价格序列到成交量、持仓量、基差等。完全不懂金融的人直接学习编程和回测框架,容易陷入“过度拟合”陷阱,因为不知道哪些变量有意义。金融科目告诉你什么因素驱动价格、什么关系稳定、什么风险必须规避。
投资学与资产定价
投资学是量化投资的起点。它解释收益与风险的关系,比如资本资产定价模型(CAPM)说明个股预期收益由市场风险暴露决定。多因子模型扩展了这一逻辑,规模、价值、动量、质量等因子在股票横截面上有稳定溢价。学习投资学需要理解有效市场假说及其挑战,明白为什么量化策略能获取超额收益。股票量化中,常见策略如价值选股、动量选股、低波动选股,都直接来自投资学中的因子理论。
期货市场引入杠杆、保证金、展期收益等概念。投资学中的持有成本模型解释期货价格与现货价格的关系。股指期货、国债期货、商品期货的定价逻辑不同。商品期货受仓储成本、便利收益影响,金融期货主要受无风险利率和分红影响。量化期货策略如跨期套利、期现套利,依赖对这些定价关系的精确计算。

衍生品与期货定价
衍生品科目是量化投资在期货领域的基石。远期、期货、期权、互换的定价公式需要掌握。布莱克-斯科尔斯模型给出欧式期权解析解,但量化交易中更常用二叉树、蒙特卡洛模拟处理美式期权和奇异期权。希腊字母(Delta、Gamma、Vega、Theta、Rho)衡量期权价格对各因素的敏感度,是期权做市和风险对冲的核心工具。
期货量化中,基差交易、跨品种套利、波动率交易都需要衍生品知识。跨品种套利如螺纹钢与铁矿石的利润套利,需要理解产业链上下游关系。波动率交易如利用期货与期权构建合成头寸,需要知道隐含波动率与历史波动率的差异。量化程序可以通过统计套利捕捉这些价差回归。
风险管理与投资组合理论
风险管理科目教量化投资者如何控制回撤。马科维茨均值-方差优化给出最优资产配置,但实际中协方差矩阵估计误差大,需要收缩估计或风险平价方法。在险价值(VaR)和期望损失(ES)度量极端风险。期货杠杆放大收益也放大亏损,保证金追缴可能导致强制平仓。量化系统必须内置止损和仓位限制。
凯利公式用于确定最优下注比例,但量化中常用半凯利或固定比例。股票组合的风险模型如Barra模型分解风格因子和行业因子,控制行业暴露和风格暴露。期货组合的风险包括基差风险、展期风险、流动性风险。压力测试和情景分析模拟黑天鹅事件对组合的冲击。
行为金融与市场微观结构
行为金融解释市场异象,如动量效应、反转效应、盈余公告后漂移。这些异象是量化策略的利润来源。投资者过度反应和反应不足导致价格偏离基本面,量化模型可以捕捉修正过程。股票中的小盘股效应、财报季效应,期货中的日内反转、隔夜跳空,都有行为金融的解释。
市场微观结构科目研究订单流、买卖价差、市场冲击。高频量化交易依赖限价订单簿动态。股票和期货的tick数据、逐笔成交数据需要微观结构知识来清洗和特征提取。指令流不平衡、大单追踪、订单簿斜率等指标可预测短期价格方向。
量化交易中金融科目的实际应用
学习这些科目不是为了背诵公式,而是为了构建可回测的规则。股票多因子模型需要投资学中的因子定义和风险管理中的中性化处理。期货套利需要衍生品定价和微观结构中的执行成本估计。
股票因子策略示例
假设使用动量因子和波动率因子构建股票组合。金融科目告诉你:动量因子在1-12个月窗口有效,波动率因子与预期收益负相关。量化实现时,对股票池进行排序,做多高动量低波动股票,做空低动量高波动股票。回测需要处理幸存者偏差、前视偏差、交易成本。
import pandas as pd
import numpy as np
# 假设df包含股票代码、日期、收益率、动量、波动率
def momentum_volatility_strategy(df, top_pct=0.1):
df['momentum_rank'] = df.groupby('date')['momentum'].rank(pct=True)
df['volatility_rank'] = df.groupby('date')['volatility'].rank(pct=True)
df['score'] = df['momentum_rank'] - df['volatility_rank']
df['position'] = 0
df.loc[df['score'] >= df.groupby('date')['score'].quantile(1-top_pct), 'position'] = 1
df.loc[df['score'] <= df.groupby('date')['score'].quantile(top_pct), 'position'] = -1
return df
期货跨期套利示例
期货跨期套利利用近月与远月合约价差。金融科目中的持有成本理论给出无套利区间。量化程序监控价差,当价差超过阈值时开仓。
import pandas as pd
def calendar_spread_strategy(front_price, back_price, entry_z=2, exit_z=0.5):
spread = front_price - back_price
mean = spread.rolling(60).mean()
std = spread.rolling(60).std()
zscore = (spread - mean) / std
position = 0
if zscore > entry_z:
position = -1 # 做空价差
elif zscore < -entry_z:
position = 1 # 做多价差
elif abs(zscore) < exit_z:
position = 0
return position
学习路径建议
从投资学和风险管理入手,理解收益来源和风险控制。接着学习衍生品和期货定价,掌握套利和对冲工具。行为金融和市场微观结构提升策略的细节处理能力。每学一个科目,用股票或期货历史数据做简单回测。金融科目提供逻辑,编程和统计提供实现。两者结合才能在量化投资中稳定盈利。