halo 的技术博客

返回

在量化投资的世界里,盈利的来源可以归结为两个核心概念:阿尔法(α)贝塔(β)。理解这两个希腊字母,就理解了量化交易的盈利本质。

什么是贝塔(β)?——市场给予的收益#

贝塔代表系统性风险暴露,通俗地说,就是”跟着市场赚钱”。

贝塔的本质#

假设你买入沪深300指数基金:

  • 市场涨5%,你赚5%
  • 市场跌5%,你亏5%
  • 你的收益 = 市场收益 × 1.0

这就是纯粹的贝塔收益。你承担市场风险,获得市场平均回报。

贝塔的策略实现#

指数增强策略是典型的贝塔+轻度阿尔法策略:

# 指数增强策略示例(简化版)
def index_enhancement_strategy():
    # 持仓:80% 指数ETF + 20% 精选个股
    portfolio = {
        '510300.ETF': 0.80,  # 沪深300 ETF
        'selected_stocks': 0.20  # 超配低估个股
    }
    
    # 目标:跑赢指数 5-10%
    target_excess_return = 0.05  # 5% 超额收益
python

优势

  • 风险可控(跟踪误差有限)
  • 容量大(适合大资金)
  • 成本较低(换手率低)

劣势

  • 收益受市场波动影响大
  • 熊市中难以盈利

什么是阿尔法(α)?——超越市场的智慧#

阿尔法代表超额收益,即”不靠市场,靠策略赚钱”。

阿尔法的本质#

假设今年沪深300跌了10%,但你的策略赚了5%:

  • 市场收益 = -10%
  • 你的收益 = +5%
  • 阿尔法 = 15%(你跑赢市场15%)

阿尔法来源于:

  1. 信息优势(更快的数据、更深的调研)
  2. 模型优势(更好的算法、更有效的因子)
  3. 执行优势(更低的交易成本、更快的成交)

阿尔法的策略类型#

1. 多因子选股(Alpha Model)#

2. 统计套利(Statistical Arbitrage)#

配对交易是经典的统计套利策略:

3. 机器学习预测(ML Alpha)#

如何获取贝塔收益?#

工具与平台#

工具/平台用途适用场景
聚宽 (JoinQuant)指数增强回测因子研究、策略验证
优矿 (Uqer)风险模型组合优化、风险归因
Tushare指数数据获取沪深300、中证500等
Backtrader自定义回测复杂指数增强策略

实战步骤#

  1. 选择基准指数(如沪深300)
  2. 构建组合(指数ETF + 优化个股)
  3. 控制跟踪误差(信息比率 IR > 0.5)
  4. 定期再平衡(月度/季度)

如何获取阿尔法收益?#

阿尔法的三大来源#

1. 因子溢价(Factor Premium)#

价值因子:低PE、低PB的股票长期跑赢

# 价值因子策略
value_stocks = get_stocks_by_percentile('pe_ratio', 0, 20)  # 最低的20%
portfolio = equal_weight(value_stocks)
python

动量因子:过去涨的继续涨

# 动量因子策略
momentum_stocks = get_stocks_by_return(period='12M', top=20)  # 过去一年涨幅前20%
portfolio = equal_weight(momentum_stocks)
python

2. 事件驱动(Event Driven)#

财报事件:业绩超预期后的价格漂移

# 财报超预期策略
for stock in all_stocks:
    earnings_surprise = actual_eps - consensus_eps
    if earnings_surprise > 0.1:  # 超预期10%
        buy(stock, weight=0.05)
python

高管增持:内部人买入是强信号

# 跟踪高管增减持
for insider_trade in get_insider_trades():
    if insider_trade.type == 'BUY' and insider_trade.amount > 1e6:
        buy(insider_trade.stock, weight=0.03)
python

3. 市场微观结构(Market Microstructure)#

反转效应:短期超跌反弹

# 反转策略
oversold_stocks = get_stocks_by_rsi(period=14, threshold=30)  # RSI < 30
portfolio = equal_weight(oversold_stocks)
python

成交量异动:放量突破

# 成交量突破策略
for stock in all_stocks:
    volume_ratio = current_volume / avg_volume_20d
    if volume_ratio > 2.0 and price_change > 0.03:
        buy(stock, weight=0.02)
python

机器学习挖掘阿尔法#

随机森林选股

LSTM 时序预测

# 使用深度学习捕捉非线性模式
model = Sequential([
    LSTM(128, input_shape=(lookback, n_features), return_sequences=True),
    Dropout(0.2),
    LSTM(64),
    Dropout(0.2),
    Dense(32, activation='relu'),
    Dense(1)  # 输出:预期收益
])
python

风险管理:保护你的阿尔法#

1. 止损策略#

# 移动止损
highest_price = max(historical_prices)
stop_loss_price = highest_price * 0.90  # 回撤10%止损

if current_price < stop_loss_price:
    sell(position)
python

2. 仓位管理#

凯利公式(Kelly Criterion):

def kelly_position_size(win_rate, win_loss_ratio):
    kelly = win_rate - (1 - win_rate) / win_loss_ratio
    return kelly * 0.5  # 半凯利(更保守)
python

风险平价(Risk Parity):

# 使每个因子的风险贡献相等
def risk_parity_weights(cov_matrix):
    n = cov_matrix.shape[0]
    weights = np.ones(n) / n
    
    # 迭代优化
    for _ in range(100):
        portfolio_var = weights.T @ cov_matrix @ weights
        marginal_risk = cov_matrix @ weights / np.sqrt(portfolio_var)
        weights = 1 / marginal_risk  # 反比于边际风险
        weights /= weights.sum()
    
    return weights
python

3. 最大回撤控制#

# 动态仓位调整
max_drawdown = compute_max_drawdown(portfolio_value)
if max_drawdown < -0.15:  # 回撤超过15%
    reduce_position_to(0.5)  # 减仓至50%
python

实盘部署:从回测到交易#

1. 交易接口#

vnpy(开源量化交易平台):

2. 订单管理#

# 智能订单路由(SOR)
def smart_order_routing(order):
    # 选择最优交易所/流动性池
    venues = ['SH', 'SZ', 'HK']
    best_venue = min(venues, key=lambda v: get_spread(v))
    
    send_order(order, venue=best_venue)
python

3. 实时监控#

# 监控阿尔法衰减
alpha_decay = compute_alpha_decay(predicted_alpha, realized_alpha)
if alpha_decay > 0.3:  # 阿尔法衰减30%
    alert('Alpha decay detected! Model needs retraining.')
python

总结:量化盈利的铁三角#

量化盈利 = 贝塔 × 市场风险暴露 + 阿尔法 × 策略能力 - 交易成本
plaintext

成功量化的关键

  1. 贝塔为基础:获取市场平均收益
  2. 阿尔法为核心:持续挖掘超额收益
  3. 风控为保障:保护资本,活得更久

下一步行动

  • 学习Backtrader搭建回测框架
  • 研究Fama-French多因子模型
  • 实践配对交易和机器学习策略
  • 模拟盘验证至少3个月再上实盘

记住:阿尔法永远不会消失,只会转移。持续学习,保持迭代,才是量化交易的长久之道。


参考资料

  • Fama, E. F., & French, K. R. (1993). Common risk factors in the returns on stocks and bonds.
  • Jegadeesh, N., & Titman, S. (1993). Returns to buying winners and selling losers.
  • 聚宽学院:多因子选股模型实战
  • vnpy文档:实盘交易系统搭建

量化交易盈利原理

阿尔法与贝塔的关系:贝塔是市场给的,阿尔法是自己挣的

多因子模型

多因子模型:通过多个维度捕捉阿尔法

量化交易盈利原理:深入理解阿尔法(α)与贝塔(β)
https://blog.halo26812.eu.org/blog/2026-06-01-quant-alpha-beta
Author halo
Published at 2026年6月1日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨