0%

【量化交易从入门到精通】精通难速成

一个策略,真正独家的、值得去保护的秘密,是你想出来的对这些策略使用的新技巧和改变,而不是最简单的策略本身。


更新历史

  • 2021.11.19:开始阅读
  • 2021.11.20:完成读后感及阅读

读后感

从管理自己的小资金开始,先学会如何赚钱。先得去市场里多泡泡,再考虑从跟上市场到超越市场。

阅读笔记

一 量化交易的基础知识

  • 统计套利系统一般适用于交易一些非常简单的金融产品,包括股票、期货、外汇
  • 进行量化交易的目的不是博取即时的利润
  • 需要解决的问题
    • 如何找到正确的交易策略
    • 如何在花时间回测一个策略之前,区分策略的好坏
    • 如何严格地检验交易策略

二 如何找到好的量化交易策略

  • 一个策略,真正独家的、值得去保护的秘密,是你想出来的对这些策略使用的新技巧和改变,而不是最简单的策略本身
  • 难点并不是缺乏想法,而是如何形成你选择策略的风格,从而让产生的策略和你的个人特质与个人目标相符合。并且需要学会,在进行回测之前,就对策略是不是有效有大致的判断

量化交易策略的比较与评估

  • 这个策略的表现和业绩基准相比表现如何,策略回报的稳定性如何
    • 信息比率 = 平均超额回报率 / 超额回报率的标准差
    • 超额回报率 = 投资组合回报率 - 业绩基准回报率
    • 夏普比率是信息比率的一个特例,适用于我们交易资金中性策略的时候,因为我们使用的业绩基准都是无风险回报率
  • 任何一个夏普比率低于 1 的策略,都不适合单独使用。如果你的策略可以每个月都赢利,那么年化夏普比率一般要大于 2;如果要每天都赢利,夏普比率要大于 3
  • 最大回撤与最大回撤持续时间的定义
  • 交易的频率越高,交易成本对于策略赢利能力的影响就越大
  • 策略使用的数据存在幸存者偏差问题吗?数据库需要包含那些因为破产、退市、收购合并等原因消失的股票
  • 策略在不同年份的历史表现如何
  • 策略是否受到数据过拟合的影响。越简单的模型,往往越能够经得起时间的考验
  • 能用的机器学习模型的特征:
    • 基于合理的计量经济学或者理论推断,而不是随机发现的特征
    • 使用较少的参数来拟合历史数据
    • 只涉及线性回归,而不是拟合一些复杂的非线性模型
    • 概念上都很简单
    • 所有的优化活动都仅仅来自于历史数据的移动窗口,而不使用未来的数据。而优化的效果,则通过未来的,不可见的数据来展示
  • 这样的策略有没有可能被机构资金管理者发现?应该选择那些机构投资者不太会用到的策略

三 量化交易策略的历史回测

  • 需要关注的数据问题
    • 数据是否经过股票拆分和分红调整 -> 尽量使用调整后的
    • 数据是否免于幸存者偏差
    • 你的策略是否使用最高价和最低价 -> 如果使用,就不如那些基于开盘价或收盘价的结果可靠
  • 量化交易策略表现的衡量指标
    • 夏普比率
      • 在价值中性投资组合的收益中,不需要减去市场的无风险利率,因为这样的策略并不占用资金
      • 对于只做多股票的日内交易策略,因为不持有隔夜头寸,也不需要减去无风险利率,因为并不需要为持仓支付成本
      • 只有在你的策略会产生融资成本的时候,计算夏普比率才需要从策略收益中减去无风险利率
      • 年化夏普比率 = sqrt(Nt) x 基于频率 t 计算的夏普比率
    • 最大回撤
  • 常见的历史回测错误
    • 幸存者偏差(前面提到过)
    • 未来数据偏差:进行交易决策时,使用了交易发生时刻之后的信息
      • 如何避免:每个交易时点,只使用滞后的历史数据来计算交易信号
    • 数据过拟合偏差
      • 如何避免:一个简单的原则是使用的参数不应当超过 5 个(注:一个经验值,现在不一定适用)
      • 样本数量:数据点要达到可变参数个数的 252 倍(注:一个经验值,现在不一定适用)
      • 样本外测试:也就是模拟交易
      • 敏感性分析:如果稍微改变参数,模型就变差很多,那么很可能过拟合
  • 在回测中计入交易成本:不加入交易成本,任何回测结果都是不准确的(手续费、流动性成本、机会成本、市场冲击和滑点)
  • 量化交易策略的改进:通过一些常见的方法对策略进行小的改动,来最优化策略表现

四 量化交易的硬件准备

UPS 是一个可以考虑的点,毕竟 NAS 是很要的,核心系统都是需要这个的。

五 量化交易的执行系统

  • 如何降低交易成本
    • 少交易低价股票
    • 避免使用过大的订单规模,不应该大于当日成交量的 1%
    • 将一个大订单拆分为多个小订单,但有可能产生滑点
  • 模拟交易的好处
    • 发现软件、交易策略和交易执行程序中的程序错误
    • 发现未来数据偏差和数据过拟合偏差
    • 发现交易运营相关问题,并为日常交易流程做计划
    • 更合理地估算交易成本
    • 对交易的盈利和亏损的波动、资金使用程度、投资组合规模,以及交易频率产生大致的感觉

六 量化交易的资金管理和风险管理

  • 使用最优化资金分配和最优杠杆比率,可以在风险管理和最大化盈利之间找到正确的平衡,这里的关键工具叫做凯利公式(Kelly Formula)
  • 使用比凯利公式推荐的杠杆水平更低的杠杆,永远是更安全的选择
  • 凯利公式会建议你在遭受交易损失之后,缩减你的投资组合规模

量化交易者的心理建设

  • 第一类常见的心理偏误如下(前两个会导致一些交易者持有一个亏损的头寸过久
    • 禀赋效应(endowment effect)
    • 现状偏误(status quo bias)
    • 损失厌恶(loss aversion)
  • 另一个常见偏误是代表偏差(Representativeness Bias),人们往往会对近期的经验给予太多关注,而忽视长期的平均情况
  • 心理弱点:恐惧和贪婪

杠杆后的复合高斯分布收益 $g(f)=r+fm-s^2f^2/2$,其中 f 是杠杆率,r 是无风险利率,m 是简单算数、非复合单期超额收益,s 是该非复合收益的标准差。

为了找到可以最大化 g 的最优杠杆率 f,我们对上面公式 f 求导,并设置导数为 0:$dg/df=m-s^2f=0$,也就是 $f=m/s^2$。

七 量化交易的进阶讨论

均值回归策略和动量策略

  • 交易策略可以获利的前提条件是,其交易的证券的价格不是存在均值回归现象就是存在动量现象。除此之外,其他的价格波动都是随机游走,是无法有效交易的
  • 如果交易员在同样的策略的竞争越来越激烈,市场会更快到达均衡,之后就无法获利了

市场状态切换策略

  • 最常见的变化,就是通胀状态和通缩状态、高波动率状态和低波动率状态,以及均值回归状态和趋势状态。
  • 波动率状态是最符合传统计量经济学工具检验条件的,比如 GARCH,但是对于股票交易员来说没有什么帮助
  • 马尔科夫市场状态变化模型的理论框十分优雅,但是对真实的交易需求没有什么用处。主要是因为模型的假设过强:在任何时间,不同市场状态间的转换有固定的概率。
  • 更有用的是拐点模型(Turning Points Models),可以通过数据挖掘的方法来寻找市场拐点

平稳和协整

  • 当说一个时间序列是“平稳”的时候,指的是随着序列向前,其值不会向其初值之外的值偏离的越来越远,即零阶单整的
  • 可惜,大部分股票价格的时间序列都不是平稳的,而是呈现几何随机游走模式
  • 但是通常会发现一对股票,如果你买入一个、卖出另外一个,这对股票的总持仓价值是平稳的,这就叫做协整 -> 配对交易

因子模型

  • 因子模型(Factor Models)也叫做套利定价理论(Arbitrage Pricing Theory, APT),该模型尝试捕捉股票收益的不同驱动因素,比如收益增长率、利率、公司市值等。这些驱动因素就叫做因子。
  • 公式为 $R=Xb+u$,其中 X 是一个 $N^X N$ 的因子暴露矩阵(也叫做因子负载),b 是一个因子收益的 N 维向量,u 是一个特征收益的 N 维向量

离场策略

  • 一般离场的条件会根据以下的一种规则制定:
    • 固定持仓周期
    • 目标价格或者盈利目标
    • 最新进场信号
    • 止损价

季节性交易策略

  • 目前因为大家都知道这个操作,现在已经不灵了

高频交易策略

  • 在高频交易世界中,回测只是一个很小的部分。高频交易策略的执行成本,会占据实际收益和损失中非常大的一部分
  • 高频交易策略依赖于“大数定律”,从而可以获得较高的夏普比率
  • 高频交易策略通常由于它们很高的夏普比率,可以产生最高的长期复合资金增长率
  • 高频交易策略非常难以回测,并且在交易执行中非常依赖技术

持有一个高杠杆投资组合好,还是持有一个高 beta 值投资组合好

  • 持有一个高杠杆的低 beta 值股票组合好

八 个人量化交易者赢利的基本逻辑

  • 有大量简单并且可以赢利的策略可以在低容量时赢利(最大资金量低),但却完全不适合大资金量的对冲基金
  • 多数赢利的但是容量较低的策略,实际上是在充当做市商:当市场需要流动性的时候,向市场提供流动性,并在流动性需求消失的时候,快速获取利润。
  • 只要金融市场对于即刻流动性还有需求,量化交易就总有赢利空间