3、量化投资基础:概念、策略、回测与评价指标

各位同学,欢迎来到量化投资的世界。说实话,我当年刚入行时,也以为量化就是写几行代码自动买卖。后来踩了不少坑才明白——量化投资的核心,是把投资逻辑变成可执行的规则,再用历史数据去验证它。

这一章,我们先把地基打牢。我会带你搞清楚四个关键问题:量化投资到底是什么?有哪些常见的策略类型?怎么搭建回测框架?以及,如何评价一个策略的好坏?

3.1 量化投资概念:从直觉到规则

量化投资,说白了就是用数学模型和计算机技术来做投资决策。它不是玄学,而是把「我觉得这只股票会涨」变成「当市盈率低于15倍且ROE大于20%时买入」这样的硬规则。

我个人习惯把量化投资拆成三个要素:

  • 数据:价格、成交量、财务指标、舆情数据等
  • 模型:统计模型、机器学习模型、规则引擎等
  • 执行:自动化交易、风险控制、资金管理

我在项目中遇到过不少新手,一上来就搞复杂的深度学习模型。结果呢?过拟合严重,实盘一跑就亏。我的建议是:从简单的规则开始,先跑通流程,再逐步优化。

核心观点:量化投资的本质是「用规则替代直觉,用回测替代猜测」。

3.2 策略类型:你适合哪一种?

量化策略五花八门,但万变不离其宗。我按自己的经验,把它们分成四大类:

策略类型 核心逻辑 典型例子 适合人群
趋势跟踪 追涨杀跌,相信趋势会延续 双均线策略、海龟交易法则 喜欢顺势而为的投资者
均值回归 价格偏离均值后会回归 布林带策略、配对交易 喜欢低买高卖的投资者
因子策略 用特定因子筛选股票 价值因子、动量因子、质量因子 偏好基本面分析的投资者
统计套利 利用价格关系的统计偏差 协整配对、跨期套利 数学功底较强的投资者

你想想看,我们这门课要做的碳中和主题轮动策略,本质上属于因子策略的变种。我们会用碳排放强度、新能源营收占比等因子来筛选股票,再根据动量或估值进行轮动。

我的经验:刚开始做量化,别贪多。把一个策略吃透,比同时跑十个半吊子策略强得多。我曾经同时维护过8个策略,结果每个都顾不过来,最后全部亏损收场。

3.3 回测框架介绍:让历史告诉你答案

回测,就是用历史数据模拟策略的表现。一个好的回测框架,应该包含以下模块:

  • 数据模块:获取、清洗、对齐数据
  • 策略模块:定义买卖规则
  • 执行模块:模拟交易过程(考虑滑点、手续费)
  • 评价模块:计算绩效指标

我个人比较喜欢用 backtrader 这个框架,它灵活且社区活跃。下面是一个最简单的回测示例:

import backtrader as bt

class MyStrategy(bt.Strategy):
    def __init__(self):
        self.sma = bt.indicators.SimpleMovingAverage(self.data.close, period=20)

    def next(self):
        if self.data.close[0] > self.sma[0]:
            self.buy()
        elif self.data.close[0] < self.sma[0]:
            self.sell()

cerebro = bt.Cerebro()
cerebro.addstrategy(MyStrategy)
# ... 添加数据、设置初始资金等
cerebro.run()

嗯,这里要注意:回测结果漂亮不代表实盘也能赚钱。为什么?因为回测存在幸存者偏差前视偏差过拟合等问题。我曾经做过一个策略,回测年化收益50%,实盘一跑直接亏了20%。后来发现是数据里包含了未来信息——这就是典型的前视偏差。

避坑指南:回测时一定要做「样本外测试」。把数据分成训练集和测试集,用训练集调参,用测试集验证。我见过太多人用全部数据调参,结果策略在实盘里一塌糊涂。

3.4 绩效评价指标:如何衡量策略好坏?

评价一个策略,不能只看收益率。我一般会看四个核心指标:

3.4.1 年化收益率

把总收益率换算成年化形式,方便不同策略之间比较。公式很简单:

年化收益率 = (1 + 总收益率) ^ (1 / 年数) - 1

3.4.2 最大回撤

从最高点到最低点的最大跌幅。这个指标衡量的是策略的「抗风险能力」。我个人习惯把最大回撤控制在20%以内,超过这个数,心理压力会非常大。

3.4.3 夏普比率

衡量每承担一单位风险,能获得多少超额收益。公式是:

夏普比率 = (策略年化收益率 - 无风险利率) / 策略年化波动率

一般来说,夏普比率大于1算不错,大于2算优秀。我见过最夸张的一个策略,夏普比率做到了3.5,但后来发现是数据出了问题。

3.4.4 其他指标

  • 胜率:盈利交易次数 / 总交易次数
  • 盈亏比:平均盈利 / 平均亏损
  • 卡玛比率:年化收益率 / 最大回撤

我的建议:别只看夏普比率。一个夏普比率高但最大回撤50%的策略,你敢用吗?我一般会综合看年化收益、最大回撤、夏普比率三个指标,再结合自己的风险承受能力做决定。

3.5 知识体系总览

下面这张图,是我自己整理的量化投资基础框架。你可以把它当作本章的「地图」:

量化投资基础 概念与要素 数据 + 模型 + 执行 策略类型 趋势 / 均值回归 / 因子 / 统计套利 回测框架 数据 → 策略 → 执行 → 评价 绩效评价指标 年化收益率 最大回撤 夏普比率 胜率 / 盈亏比

这张图把本章的核心内容串起来了。从概念出发,到策略类型,再到回测框架,最后用绩效指标来评价。后面的章节,我们会一步步把这个框架填满。

最后说一句:量化投资不是一蹴而就的事。我做了十年,依然在不断学习。这一章的内容,足够你打好基础了。下一章,我们会开始动手写第一个策略——用Python实现一个简单的双均线系统。


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