文章目录

  • 1. 量化交易原则
    • 1.1 研究宽客原因
    • 1.2 何为宽客
    • 1.3 量化交易系统的典型结构
  • 2. 阿尔法模型
    • 2.1 阿尔法模型:宽客如何盈利
    • 2.2 理论驱动型阿尔法模型
      • 2.2.1 基于价格数据的交易策略
        • 2.2.1.1 趋势跟随策略
        • 2.2.1.2 均值回复策略
        • 2.2.1.3 技术情绪型策略
      • 2.2.2 依托基本面数据的策略
        • 2.2.2.1 价值型/ 收益型策略
        • 2.2.2.2 成长型策略
        • 2.2.2.3 品质型策略
    • 2.3 数据驱动型阿尔法模型
    • 2.4 实施策略
      • 2.4.1 预测目标
      • 2.4.2 投资期限
      • 2.4.3 投注结构
      • 2.4.4 投资范围
      • 2.4.5 模型设定
      • 2.4.6 运行频率
      • 2.4.7 策略的多样性
    • 2.5 混合型阿尔法模型
      • 2.5.1 线性模型
      • 2.5.2 非线性模型
      • 2.5.3 机器学习模型
  • 3. 风险模型
    • 3.1 控制风险规模
    • 3.2 限制风险种类
      • 3.2.1 理论驱动型风险模型
      • 3.2.2 经验型风险模型
      • 3.2.3 如何选择风险模型
  • 4. 交易成本模型
    • 4.1 定义交易成本
      • 4.1.1 佣金和费用
      • 4.1.2 滑点
      • 4.1.3 市场冲击成本
    • 4.2 交易成本模型的种类
  • 5. 投资组合构建模型
    • 5.1 基于规则的投资组合构建模型
      • 5.1.1 相等头寸加权
      • 5.1.2 相等风险加权
      • 5.1.3 阿尔法驱动型加权
    • 5.2 投资组合最优化
      • 5.2.1 优化工具的输入变量
      • 5.2.2 优化技术
        • 5.2.2.1 无约束条件的优化方法
        • 5.2.2.2 带约束条件的优化方法
        • 5.2.2.3 布莱克-李特曼优化方法
        • 5.2.2.4 格里诺德-卡恩方法:优化要素投资组合
        • 5.2.2.5 重新取样效率
        • 5.2.2.6 基于数据挖掘的最优化方法
  • 6. 执行模型
    • 6.1 订单执行算法
      • 6.1.1 进取订单和被动订单
      • 6.1.2 其他订单类型
      • 6.1.3 大订单和小订单
      • 6.1.4 何处下单
    • 6.2 交易基础设施
  • 7. 数据
    • 7.1 数据类型
    • 7.2 数据来源
    • 7.3 数据清洗
    • 7.4 数据存储
  • 8. 研究
    • 8.1 检验
  • 附录. 常见指标或专有名词

1. 量化交易原则

量化投资在国内未来预期

  在大数据背景下,量化投资可以 借助于计算机技术和数学模型,同时跟踪并处理具有海量样本和高维变量的金融数据,利用计算机系统快速执行交易。在股票市场,经常需要面对上千只股票的特征信息,包括宏观经济变量、市场结构变量、股票估值因子、股票成长因子、股票盈利因子、市场情绪等众多变量的数据信息,量化投资能够从海量样本中捕捉到更多更好的投资机会。
  量化投资能够 规避投资者的心理偏差,克服人类在投资决策中的弱点,避免人的主观臆断及贪婪、恐惧、侥幸心理等情绪的影响,实现传统投资无法实现的收益。

1.1 研究宽客原因

  理解量化交易策略的关键在于,理解宽客科学地分析问题的视角。

  1️⃣ 宽客会深入思考那些非量化投资者认为理所当然的策略的许多方面。

  对于宽客和主观判断型交易者而言,通过对策略细致缜密的思考,能够弄清楚问题的本质,进而执行投资策略,这是非常重要的。在整个交易过程中,这都被认为是投资和交易成功的主要组成部分。

  2️⃣ 风险的正确度量和错误度量

  不能因为创造和使用量化风险模型的人的失败而归咎于量化模型本身。[如突发自然灾害],只要交易者没有被诱惑而采取错误的行动,通过理解和度量风险还是会有所收获的。

  3️⃣ 遵守纪律

  从宽客那里学到的最显而易见的一条经验就是严格遵守纪律。一旦设计出交易策略并通过严格的检验验证了该策略可以获利并具有可行性,宽客都会让模型自动运行而不会进行非必要的任意干预。

  很多成功的交易者都很认同这么一句古老的交易格言:"亏损时要止损,盈利时要让利润奔跑。”但是,主观判断型投资者通常很难及时意识到发生了亏损,相反却会很快意识到盈利。这种已经被关注的行为偏差称为 处置效应(disposition effect)。但是计算机不会发生这种偏差。因此,遵守前面交易准则的交易者很容易将其交易策略程序化,使其每次运行都能遵守行为准则。

1.2 何为宽客

宽客(quant)通常会基于高深的理论构造追求超额利润,并系统地加以实施。宽客之所以被称为宽客,就在于他们会刻苦钻研交易策略的产生和实施过程。至于交易策略本身,宽客和主观判断型交易者并没有什么差别。

  为了全面理解量化交易的本质,仔细研究系统性方法的适用范围是大有裨益的。所谓其适用范围,即什么情形下宽客不得不放弃系统性方法而采用主观判断型交易策略。宽客对其策略进行人工干预的最常见情形是,出现了影响市场行为的消息,而已有策略无法自动进行调整,为削弱其影响宽客不得不进行人工干涉。

  • 如果 建仓的点位选择 及 头寸的规模大小 都是系统自动生成的,则是量化交易;如果两者中有一个是需要人工干预的,就不是量化交易。

1.3 量化交易系统的典型结构

量化交易策略的基本结构

  上图只是反映了量化交易者的一部分工作,仅考虑了交易系统的生产部分,忽略了两个重要的组成部分;数据研究。量化交易者通过输入数据,对信息进行加工,做出交易决策,进而建立输入/ 输出模型。

黑箱示意图

  交易成本模型可以帮助确定交易的换手率,风险模型可以帮助我们避开错误的头寸敞口,投资组合模型可以在交易成本、风险管理、盈利等相互冲突的目标之间进行平衡,并将目标投资组合传输至执行模型,对投资组合模型执行策略。这些都是基于数据并经过研究才能完成。

2. 阿尔法模型

2.1 阿尔法模型:宽客如何盈利

  阿尔法是希腊字母 a 的音译,常用于量化表述投资者的盈利能力,或投资者得到的与市场波动无关的回报。在通常的定义中,阿尔法 是指扣除市场基准回报之后的投资回报率,或仅仅是由投资策略所带来的价值。由于市场因素带来的回报率称为 贝塔

  • 例如,某基金的 回报率是12%,而同时期的市场 基准回报率 是10%,则该基金的阿尔法值就是2% (这里假设了基金投资组合的贝塔恰好为1)。采用这种阿尔法计算方法的缺陷在于,无法判断收益是由交易策略还是单纯的好运带来的。

 显然,任何交易者都倾向于把超过基准回报率的利润归功于 交易策略。阿尔法模型就是,为了增加盈利,在投资过程中所使用的一系列技巧或策略。

  阿尔法的一种非常规定义: 在交易中关于买卖时机把握和持有头寸选择的技巧。

2.2 理论驱动型阿尔法模型

  绝大多数理论驱动型交易策略可以较为容易地划分为六类:趋势型(trend)、回复型(reversion)、技术情绪型(technical sentiment)、价值型/收益型(value/yield)、成长型(growth)和品质型(quality)。

  趋势型 和 均值回复型 交易策略都依赖于价格数据。 技术情绪型 策略较为少见,可看作基于价格的第三类型策略。而剩余的 价值型/收益型 、 成长型 和 品质型 策略都基于基本面数据。

理论驱动型阿尔法模型的分类图

2.2.1 基于价格数据的交易策略

  基于 价格数据 的阿尔法模型中的价格数据,一般是指与各种金融产品价格相关的数据,或者交易所产生的其他数据信息(如交易量等)。

  试图预测价格并从中获利的宽客,通常都是在分析以下两种现象之一:一是已有的趋势是否会延续,二是目前的趋势是否会反转。前者称为 趋势跟随策略 (trend following)或 动量策略 (momentum),后者称为 反趋势策略 (counter-trend)或 均值回复策略 (mean reversion)。第三类是技术情绪型策略。

2.2.1.1 趋势跟随策略

  趋势法存在的经济学基本原理是市场均衡理论。假定在一定时间内市场通常是朝着同一方向变化,据此对市场趋势做出判断就可以作为制定交易策略的依据。
  对趋势的另一解释,称为 博傻理论(greater fools theory),博傻理论认为,人们因为相信趋势才会去追涨杀跌,这种行为反过来又促进了趋势的形成。关键在于将持有的产品卖给更“傻”的下家而避免自身成为最后的持有者。

  趋势跟随策略的最典型例子出现在期货交易行业,称为期货管理者或者商品交易顾问(CTA)。


  上图显示了始于2007年第4季度的一次美国股市下跌趋势。以交易为目的,定义趋势的一种方法是 移动平均线交叉指标 (moving average crossover indicator),通过对比较 短期间较长期间 的某个指标来判断趋势。

  • 例如通过短期(60天)价格均线和长期(200天)价格均线的交叉点来判断趋势。当短期均线位于长期均线之下时,认为市场处于 下跌趋势;反之则认为市场处于上涨趋势。按照这个策略,趋势跟随者在2007年年底应该做空标准普尔500指数,因为这时60日均线开始转入200日均线下方,并且在2008年的大部分时间这种状况一直在持续。

2.2.1.2 均值回复策略

  均值回复策略的基本理论认为,价格围绕其价值中枢而上下波动,判断出这个中枢以及波动的方向便足以捕捉到交易机会。

  • 由于流动性,市场上有时会出现买卖之间的短期不均衡,从而出现 超买超卖现象。假设一只股票进入了某著名指数(如标准普尔500指数)的名单,跟踪该指数的基金便会大举买入该股票,但短期内愿意以以前的价格卖出该股票的卖方就显得相对较少,从而股票价格迅速上涨。而随着价格的上扬,来自买方的需求会逐步消退,上涨速度也会逐渐放缓,到一定价位价格便不再上涨,开始反向下跌的概率不断增大。

  均值回复现象的另一种理论认为,市场参与者并不了解其他人的观点和行为,当他们下单进行买入卖出并促使价格向新的均衡状态移动时,在某个时点可能由于超买或超卖, 价格会剧烈波动

  无论造成供需间的短期不均衡的原因何在,由于均值回复交易者都是在逆势交易,他们都给市场带来了流动性。无论执行技巧如何,均值回复交易者事实上都是在对赌市场趋势,并且得承受逆向选择的风险。


  趋势跟随策略和均值回复策略并不一定是相互冲突的。趋势通常是长期的,而短期内围绕着趋势的小范围波动也是很常见的。事实上,一些宽客会组合使用这两种策略。采用均值回复策略的交易者,必须识别出目前的价格中心或均衡点,并判断偏离均衡点多少时值得进行交易。如同趋势跟随策略一样,由很多方法可以用来确定价格的均衡点和反转点。

  趋势通常在较长的投资期限上延续,而均值回复通常适用于短期投资期限。


  采用均值回复策略的主观判断型交易者,通常被称为反转交易者 (contrarians)。基于均值回复概念的最为著名的策略要算 统计套利策略。

  • 统计套利策略宣告着交易理念的一个重大变化,相对价值预测的交易策略开始大量涌现,不再关注A公司的股票本身便宜或者昂贵,而是关注相对于公司B,公司A的股票是被高估还是低估。

趋势跟随与均值回复图

[学会如何去读懂这些图?]

2.2.1.3 技术情绪型策略

  主要通过追踪投资者情绪相关指标来判断预期回报,这些指标常见的有交易价格、交易量以及波动性指标等。[无明确经济理论支撑,研究需谨慎。]

2.2.2 依托基本面数据的策略

  包括价值型/收益型、成长型和品质型三类策略。这些策略不仅在股票分析中产生适用,也适用于其他金融产品分析,债券、货币、商品、期权以及地产,都可以进行买卖。

2.2.2.1 价值型/ 收益型策略

  度量资产价值的指标,包含基本面数据与资产价格的比率,如市盈率(P/E)等,盈利收益率(E/P比率) 和 股息收益率计算这些比率 [市盈率] 的倒数。

  价值型策略的基本理念是,收益率越高,价格越低。使用将常见比率求倒数得到的收益率的益处是,有利于分析方法的简洁性和一致性。

P/E和E/P(盈利收益率)

  价值型投资策略认为,市场倾向于高估高风险资产的风险,而低估低风险资产的风险。因此,在适当时间买入高风险资产和(或)卖出低风险资产,可以获得收益。

  在同一相对水平上,买入估值过低的证券(货币)并卖出估值过高的证券(货币),这种策略也称为 利差交易 (carry trade)。投资者通过卖出收益低的资产获取资金,用以买入高收益的资产。两种收益之间的差别称为 利差所得 (carry)。

  绝大部分使用股票价值型策略的宽客是在寻找相对价值较低的股票,而不是评估某只股票是便宜还是贵。这个策略通常称为 量化多空策略 (quant long/short,QLS)。使用QLS的交易者经常会基于价值等多种因素 判断股票的吸引力,进而对股票进行评级,买入高评级的股票而卖出低评级的股票。


  在 期货市场 上,也有各种明确以收益为表现形式的交易策略。展期收益 (roll yield)是指在未来某天到期的期货合约价格和现货价格(或在相对较短时间内到期的期货合约)之间的价差。在 现货溢价 (backwardated)市场上,现货价格高于期货价格,由于期货价格会向现货价格靠拢,所以在这种情形下期货的 展期收益大于零;在期货溢价 (contango)市场上,现货价格低于期货价格,从而展期收益为负。

2.2.2.2 成长型策略

  成长型策略试图通过对所考虑资产以往的增长水平进行分析而对未来的走势进行预测。国内生产总值(GDP)或收益预测都属于这类预测的范畴。

  判断一只股票属于成长型资产,并不意味着它的收益会怎么样。成长型策略认为,在其他条件都相同的情况下,应该买入价格正在快速上涨的产品而卖出价格涨幅较慢甚至负增长的产品。

  • 通过比较预期增长与预期价值,在对金融产品可能会经历的正增长或负增长做出预测的基础上来判断金融产品的价格是否合理。

    • 假如你预计某项资产会快速升值,但由于这种升值的可能,市场上该资产的价格已经上涨,那么成长型交易的机会便不再存在。事实上,如果市场上该资产的价格已经上涨得远远超出你的预期,卖空该资产才是个合理的选择。
    • 当然很多种成长型策略仅仅关注买入价格快速上涨的产品而不考虑价格本身的高低,或者卖出价格停滞不前甚至下降的资产,即便是在价格非常便宜或者具有高收益的情况下也要卖出。

2.2.2.3 品质型策略

  使用品质型策略的交易者认为,在其他条件相同的情形下,最好买入或持有高品质的产品而做空或减少持有低品质的资产。品质型策略的基本理念是看重资金的安全性,而成长型或价值型策略对这一点都没有予以重视。

  着眼于持有高品质金融资产的投资策略有利于保护投资者,尤其是在高风险的市场环境中。这类策略常被称为 安全投资转移策略 (flight-to-quality)。

  品质型策略的收益随时间波动很大,并且极度依赖于宏观市场环境。

  衡量资产质量(度量品质)的指标 可以分为五大类:

  • 杠杆比率 (leverage),基于对杠杆比率的度量,在其他条件无差别时,应该卖出高杠杆比率的公司的股票而买入低杠杆比率的公司的股票。

    • 量化股票多空策略的分析师们经常使用债务股本比来判定股票的买卖,这个策略的本质就是认为,在其他条件相同时,杠杆低的企业要比杠杆高的企业更加可靠。
  • 收入来源的多样性 (diversity ofrevenue source)。该指标认为,具有多种潜在增长渠道的国家或公司比渠道单一的国家或公司质量要高。对公司而言, 收入的波动率 (volatility of revenue)就属于这类指标。投资者更青睐收益稳定(低波动率)的公司的股票。

  • 管理水平 (management quality),该指标认为,应该买入(卖出)具有好(不好)的领导团队的公司的股票。

  • 欺诈风险 (fraud risk),该指标认为,应该买入(卖出)欺诈风险较低(高)的公司股票或国家外汇。

    • 量化股票多空策略中的收益质量 (earnings quality)指标便是欺诈风险的一个实例。该指标用于度量公司的真实收益(自由现金流等)与财报所公布的每股净收益间的接近程度。
  • 有关投资者对产品发行方(公司或国家)实力的 ⑤ 情绪型 策略。

2.3 数据驱动型阿尔法模型

  数据驱动型策略使用数据挖掘算法(门槛高;预测分辨的市场行为难以用理论解释),如宽客基于目前观察的市场环境,在历史数据中寻找类似的环境,来衡量市场接下来的几种走势的出现概率,基于这种可能性进行交易。

这一流程中需弄清几个问题:

  • 如何定义“目前的市场环境” ?在量化交易策略中不允许存在任何模糊的余地。
  • 寻找“相似”模式使用什么搜索算法 ?
    • 如何定义“相似” ?
    • 算法采用什么方法来给出未来各种可能情况的概率 ?
  • 如何确定历史数据的回溯时间段 ?

2.4 实施策略

  一套实施策略值得深入探讨的有很多方面,包括预测目标、投资期限、投注结构、投资范围、模型设定和运行频率等。

2.4.1 预测目标

  策略实施的第一关键要素是准确理解模型所要预测的目标。模型可用于预测方向、幅度、运动的持续时间,进一步可以包括预测目标的概率或置信度。

  • 信号强度 (signal strength)是量化模型中一个重要(但未普及)的指标。
      信号强度以期望收益或置信度进行定义。如果保持置信水平不变,期望收益越高(如相对于现价未来价格越高),信号强度越强。类似地,如果保持期望收益不变,信号的置信度越高,信号强度越强。
      极强的信号是不正常的,因此基于极强信号的预测和实际情况间的关系的置信度往往要低于弱信号情形。

2.4.2 投资期限

  较短投资期限上收益的差别通常要大于较长投资期限情形 。

  • 高频交易策略 (high-frequency strategy)是最快的,预测期限不超过当前交易日。
  • 短线交易策略 (short-term strategy),倾向于持仓一天到两周。
  • 中线策略 (medium-term strategy)预测的期限是几周到几个月。
  • 长线策略 (long-term strategy)通常是持仓几个月或更长时间。

2.4.3 投注结构

  投注结构,依赖于模型进行预测。模型既可以预测金融产品自身的信息,也可以预测其相对于其他金融产品的信息。

  在进行相对预测时,我们可以选择预测小类的(例如,配对金融产品)表现或者大类的(例如,一个门类)表现。相对而言,小类更易于理解和分析。在大类中投注,研究人员把证券进行分类,主要是为了隔离和消除类内的共同因素。例如,依据市场板块对股票进行分组,很大程度上就是为了消除整个板块波动的影响而专注于板块内部股票价格的相对变化情况。

  研究人员还必须选择如何分组,或者使用统计学方法,或者依靠直觉(例如按照基本面的产业门类)。

  在评估阿尔法型策略时,不同投注结构间的差别是很重要的,特别是对于方向性投注(单个产品)和相对投注(多产品)。相同的阿尔法模型,用在单一的金融产品上和用在彼此相关的一组金融产品上,表现不同。对于各式各样的分组方法,平衡分组方法的风险和收益都是极为重要的。

2.4.4 投资范围

  宽客对投资范围做出的选择有地理范围(geography),资产种类 (asset class),产品类别 (instrument class)。

  投资范围的选择很大程度上取决于宽客的个人偏好。第一,宽客倾向于流动性好的产品,因为其交易成本是可以预计的。第二,宽客一般需要大量的优质数据。通常这种数据在具有高流动性的比较成熟的市场上更易获取。第三,宽客更喜欢那些易于使用体系化的模型 进行预测的金融产品。

2.4.5 模型设定

  每一种阿尔法策略也可以有多种定义方式。使用数学语言精确地给出策略的具体表达,是宽客工作中很重要的一部分内容。这是值得从事量化交易的投资者认真研究的领域,因为对宽客而言,这是体现差异性和潜在比较优势的根源所在。

  模型设定很重要的一个方面是 模型参数设定。

  参数设定问题中,有一类问题涉及模型调整的频率。为了使用更近期的数据,通常需要对模型进行调整。这一过程称为 重拟合(refitting),因为需要在目前的交易中,重复进行策略开发过程中完全一样的一部分工作,以更新模型使其更加适用于目前的市场环境。

  • 重拟合也可能导致出现 过拟合 的风险。过度拟合也是个很危险的问题,会导致一些虚假的、短暂的关系被错认为是有效的、具有持续性的。

2.4.6 运行频率

  运行频率 (run frequency)即模型寻找新的交易机会的频率。

提高模型运行频率 通常会带来更多的交易机会,这也意味着要付给经纪商更多的佣金,交易成本也就更高。此外,模型运行频率高,投资组合是基于并不包含有用信息的噪声数据进行决策的可能性会更大。这反过来意味着交易成本的增加并没有带来交易策略的阿尔法收益显著增加,从而降低了策略的总体盈利水平。

运行频率低的模型会导致数量小但规模较大的交易发生。这样的交易会对整个市场造成较大的影响,从这一层面看这样的交易代价很高。

  运行频率的高低取决于策略的很多其他因素,特别是预测的投资期限、输入变量的类型等。绝大部分宽客运行他们的模型不少于一周一次,很多甚至是整天连续运行。策略运行频率越低,留有的余地越大,但短期策略倾向于以连续实时的方式运行。

2.4.7 策略的多样性

  成功的宽客都具有以下特征:令人难以置信地注重细节,不知疲倦地提出恰当的问题并找到最佳解决方案。

  如果考虑策略的类型、投资期限、投注结构、投资范围、模型设定、条件变量和运行频率的不同,价值型策略有很多种类。

  • 这里所列的前4种实施细节以及上文所描述的最简单分类,这里有两种预测目标(方向和振幅),四种投资期限(高频、短线、中线和长线)、两种投注结构(绝对型和相对型),四种资产类型(股票、债券、货币和商品),这样就可以得到64种不同的价值型模型(2×4×2×4=64种组合)。这不包括定义价值的方法,如何利用其他变量上定义价值以及寻找到价值的频率等方面。

理论驱动型阿尔法模型的框架图

2.5 混合型阿尔法模型

  进行混合预测的3种最常用量化方法分别是线性模型非线性模型机器学习模型。第4种基于每一种阿尔法模型构建一个投资组合,之后构建一系列的投资组合。

  对阿尔法模型进行混合的目的是找到模型的一个组合,使其对未来有最佳的预测效果。如果其他条件都相同,阿尔法模型的任意有效组合都会比单个阿尔法模型的效果要好。

2.5.1 线性模型

  在线性模型中,是否包含某一变量 和 是否包含另一变量 是 相互独立的,并且假设变量间具有可加性,而不受其他进入模型或者从模型中剔除的变量的影响。

  使用线性模型的第一步工作就是给每个阿尔法模型分配权重。这通常是通过多元回归分析(multiple regression)方法来实现,通过该方法可以找到阿尔法模型的一个组合,该组合可以最大限度地解释所交易金融产品的历史交易行为。

2.5.2 非线性模型

  非线性模型假设:用于预测目的的变量之间是不独立的或变量间的关系是随时间变化的。条件模型(conditional models)和旋转模型(rotation models)是两类主要的非线性模型。

  条件模型 赋予某一阿尔法模型的权重,取决于该模型对其他模型的解释能力。条件模型假设E/P收益模型有利于改进预测效果,但只有在价格趋势法和收益型模型的结果相一致时才有效。

  • 换句话说,只有当高收益股票的价格趋势是上行时才有可能买入,低收益股票的价格趋势是下行时才可能会卖出。在一致性条件满足时,收益模型才会改进预测结果。但如果价格趋势法和E/P收益模型的结果不一致,收益模型会被完全忽略掉。

  另一种用以 分配权重 的条件模型 的例子是,使用外部变量来分配权重。

  • 同时使用均值回复统计套利策略和方向性趋势策略的交易公司在波动率高、相关性低时应该给统计套利策略很高的权重。反之,当波动率低、相关性高时,应该给趋势策略更高的权重。在其他时段,两种策略可能给予相同的权重。

  旋转模型根据阿尔法模型的表现追随相应的趋势,而不是跟随市场本身的趋势。这一点和线性模型是类似的,但这里模型的权重是基于各种信号的权重进行更新计算,且随时间波动的。随着时间的推进,越来越多近期的数据被用来计算权重,以期模型的权重与当前的市场形势更加相关。这种方法通常会对近期预测表现好的模型以更高的权重。

2.5.3 机器学习模型

  宽客也会使用机器学习模型来决定各种阿尔法模型的最优权重。在决定最优参数时,与预测市场行为本身相比,机器学习方法在混合阿尔法模型中的使用更为常见,效果也更好。这些方法使用算法来计算出能对历史数据具有最强解释能力的最优混合,并假设在历史数据上表现良好的混合模型在未来的表现也会较好。

3. 风险模型

  如果说阿尔法模型是乐观派,风险模型就像悲观派。风险模型存在的主要目的就是控制敞口规模并处理不希望出现的敞口 [对风险有暴露的地方]。

  通常,我们所能做的仅限于限制敞口规模或完全将其剔除。在投资过程中,风险管理的作用就是决定对于不同的敞口进行操作时应当非常谨慎,并为投资策略模型提供输入。

3.1 控制风险规模

  有多种控制规模的量化交易模型,它们的不同之处主要体现在以下三个方面:

  1. 控制规模的方式;
  2. 度量风险的方式;
  3. 怎么才算控制了规模。

1️⃣ 控制规模
  控制规模的方法有两大类:硬性约束和惩罚来加以限制。硬性约束就是设定风险线;惩罚是使用惩罚函数来限制。

2️⃣ 度量风险
  第一种是通过纵向方式来度量不确定性,计算不同时期各个产品收益的标准差来度量风险。在金融业中,这个概念通常称为 波动率 。波动率越高,说明目前的市场风险越大。

  度量风险的第二种方式是,在给定产品范围内对各种金融产品表现的相似水平进行测量,通常是计算在给定时间所有相关金融产品的 横截面标准差(cross-sectional standard deviation)。标准差越大,说明所包含在内的金融产品的表现种类越多样化。这意味着市场处于低风险中,因为进行投资组合时可以选择多样化 的产品投注。

  • 宽客称(标准差)这个概念为离散 (dispersion)。离散也可以使用给定范围内金融产品的相关系数或协方差来度量。同样地,产品之间的相似度越高,市场风险越大。

3️⃣ 限制值的适用范围
  规模限制模型可以用来管理各种敞口,可以对一个产品的仓位加以限制也可以对一类产品的仓位加以限制。此外,可以对不同种类的风险敞口的规模加以限制。

风险模型的另一个要素是管理投资组合整体的 杠杆率 [资产负债表(财务状况表)中总资产与权益资本的比率]。

  • 一个在理论上更加合理的策略,应该是在 策略赢的概率大时提高杠杆,在获胜概率小的时候降低杠杆,尽管这在实务中很难实施。当然,关键在于知道输赢的概率。一些宽客通过允许杠杆随着阿尔法模型的预测能力和预测结果发生变化来解决这一问题。

3.2 限制风险种类

  量化风险模型主要通过两种方式来清除不希望出现的敞口:理论途径经验途径

  • 如果宽客设计的相对阿尔法策略是为了预测股票收益,他不认为自己有能力预测该股票所处板块的收益情况。在这种情形下,宽客可以设计策略的投注结构,预测股票相对其所在板块的收益,这意味着他不会在板块的方向性波动上投注,而只是关心哪些股票表现优于所处板块,哪些股票的表现劣于所处板块。这样反过来就可以帮助宽客规避板块风险,这明显是种阿尔法模型中的风险管理方法。如此看来,通过详细设定阿尔法模型而在其中包含风险模型的所有必备元素,在理论上是可行的,这样就只需要预测策略借以盈利的敞口的状况,并设计投注结构以避开不可预测因素带来的敞口。

3.2.1 理论驱动型风险模型

  基于理论的系统风险是指那些宽客可以进行合理的经济学解读的风险因素。理论驱动型风险建模使用大量预先设定的系统性风险因素,使得宽客可以度量和校准所给定投资组合的敞口。

  • 在定义风险时使用的术语系统 和描述量化策略时所使用的 系统是完全不同的概念。系统性风险是指那些不可以通过分散加以消除的风险。对一只股票而言,整个股市便是系统性风险,因为在不同的股票间进行的多样化操作策略并不能消除整个市场表现带来的风险敞口。

3.2.2 经验型风险模型

  经验型风险模型和理论驱动型风险模型都是基于同样的假设:系统风险可以被度量并加以减缓。但是经验主义的方法根据历史数据来判断这些风险是什么以及投资组合如何暴露其中。利用如主成分分析(PCA)之类的统计方法,宽客可以从历史数据中识别出系统风险,尽管没有名称却可以和已知的风险因子有很好的对应关系。

3.2.3 如何选择风险模型

  理论驱动型风险模型更受宽客青睐,因为其中囊括的风险因素都有明确的意义。

  无论宽客使用理论型还是经验型风险模型或者二者的混合,目标都是一样的:宽客需要识别出要面临哪些系统性敞口,度量投资组合中各种敞口的大小,然后对哪些风险是可承受的做出判断。类似于其他量化风险管理办法,这类方法的优势在于,它们要求宽客具有承担风险的主观意识,而不是拼凑些看起来很好的交易仓位,并且或多或少地忽略这些交易可能出现的偶发风险。

4. 交易成本模型

  量化交易有两个原因:第一,可以增加盈利的概率或量(比如阿尔法模型);第二,可以降低亏损的概率或量(例如风险模型)。但这两个原因都会收到一条警告:投资组合收益或风险的一点改进,可能并不足以支付交易成本。换言之,计算交易收益应该充分考虑交易成本。

  在构建投资组合模型过程中,交易成本模型告知进行交易的成本状况。它并非是为了极小化交易成本,正如阿尔法模型并不是创造收益而是进行预测并将这些预测传递给投资组合构建模型。成本最小化可以分为两个阶段。第一步,构建投资组合模型,使用交易成本模型提供的输入变量,去计算进行目标投资组合的成本;第二步,将目标投资组合传输到执行算法阶段,以尽可能低的成本去执行投资组合的交易。

4.1 定义交易成本

  交易成本主要由三部分构成:佣金和费用(commissions and fees)、滑点(slippage)以及市场冲击成本(market impact)。

4.1.1 佣金和费用

  佣金和费用是交易成本的第一种类型,是支付给经纪商、交易所和监管者的费用,因为它们提供了服务,包括市场参与者的接入通道,有所保障的交易安全性以及运作的基础设施等。

  经纪商对所提供的 清算 (clearing)和 结算 (settlement)服务也会收取费用(通常也是佣金的一部分)。清算活动 包括监管报告、实时监控、税务处理和破产处理,所有这些活动都必须在结算活动前完成。结算活动 是以有价证券的交割来换取资金的交付,是交易活动的最后一步,交易双方分别践行其义务。这些活动都花费精力,因而是有偿的。

4.1.2 滑点

  佣金和费用肯定是不可避免的,但这两部分比较容易计算;而滑点市场冲击成本在度量、建模和管理上都更加棘手。

  滑点是指从交易者决定开始交易到订单进入交易所系统实际被执行这两个时间段所发生的价格变动。

  • 市场瞬息万变,而交易决策都是在某一时点做出的。在做出交易决策到执行交易这段时间内,金融产品的价格可能已经偏离预测时的价格。实际上,预测越准确,随着时间推移,金融产品的价格越有可能偏离预测价格。但是产品价格的波动并没有产生收益,因为这笔交易还没有真正发生。

滑点会给趋势跟随策略带来很多损失,因为该类策略选择的买卖时点通常是在金融产品的价格已经沿着预料的趋势波动时。而滑点给均值回复类策略带来的损失就比较少,甚至滑点可能会带来 正收益 ,因为这类策略选择的下单时点通常与现有的趋势相反。

4.1.3 市场冲击成本

  对宽客而言,这可能是最重要的成本。市场冲击所描述的基本问题是,交易者买入某项产品的行为会推高该产品的价格。而如果交易者想要卖出,当他完成交易时会造成产品价格下降。对于小规模订单而言,价格波动幅度通常介于最优买卖价之间。但大规模订单会造成巨大的波动幅度,极端情况下会高达几个百分点。因此,市场冲击是给定订单通过流动性需求对市场造成的价格变动的度量。

  市场冲击成本通常定义为订单进入市场时的价格和订单被执行价格之间的差价。

  • 市场冲击成本的基本原理是很简单的,主要是基于无处不在的供需关系基本原理。当交易者进入市场执行具有一定头寸(款项)的交易时,必须得有人愿意接盘,或者提供相应的头寸。

      交易者需求的规模越大,交易价格就会越高,因为交易者必须得到更多的供给。尽管市场冲击的原理很简单,对其进行量化却不是那么容易的。通常直到交易完成,我们才能衡量这项交易对市场造成的冲击有多大,这时候的结论已经没有太大意义。

  交易成本建模中的市场冲击,关注相对于当时市场流动性的订单规模。 流动性 有很多种定义方法,无论是根据买卖单的数量规模还是依据订单簿深度,都跟偏离最优买价或卖价的买卖单信息有关。

  • 有个交易者想要卖掉价格处于上涨趋势的一只股票。这种情形下,滑点和市场冲击都有可能是负的。换句话说,交易者可能觉得他卖出股票并没有被收取交易成本,而是别人为了买入股票付给了他交易成本。假如交易者在股价恰好为100美元时决定进场卖掉所持有的股票,而当订单真正进场时股价已经涨到了100.05美元。实际上滑点 是 -0.05美元,因为他在一个相对于他决定进场的价格而言更加有利的价格进场。

      假设价格继续上涨,买单远远超过卖单的数量,交易者的卖单排队等待交易机会,最终以100.20美元的价格成交,在产生了-0.05美元的滑点后又产生了-0.15美元的市场冲击成本。显然,不断涌来的卖单并不总能带动股票价格上涨,但这种情况发生时,不太可能将市场冲击与滑点(或其他独立于交易者订单的关于价格波动的因素)区分开来。交易者的卖单是否稍微减缓了股价的上升;如果确实如此,减缓了多少?这些都是交易者在构建交易成本模型时需要考虑的问题。

  如果交易者需要流动性,提供流动性的人就会要求 交易者 支付一定费用( 做市商,其工作职责就是确保交易者有交易意愿时可以进行交易)。近年来,很多可通过 电子交易平台进行交易的金融产品交易量大幅上涨,这意味着即使不存在做市商,市场依然能够有序运行。

  • 电子交易平台: 电子通信网络 (electroniccommun-ication networks,ECN); 暗池

4.2 交易成本模型的种类

  有4类基本的交易成本模型:常值型、线性、分段线性以及二次型交易成本模型。

  常值型模型 认为无论订单规模如何,交易成本保持不变。这个模型计算极其简单,但通常是不对的,因而不是很常用。

常值交易成本函数

  • 从图中可以看出,无论交易规模多大,都假设交易成本保持不变。明显可以看出,在绝大部分情形下该假设都不成立。这一模型得以成立的条件是,交易规模几乎保持不变并且流动性充分保持不变。

  线性模型,意味着交易成本以一个固定的比率随着交易规模的增大而增大。

线性交易成本函数

  • 可以看到,线性交易成本模型需要在规模较小的情况下高估交易成本和在规模较大的情况下低估交易成本之间进行权衡。同样地,在实线穿过虚线的地方模型是正确的,或者在交点附近的区域模型基本正确。与常值型交易成本模型类似,如果交易规模处于交点附近的区域内,线性交易成本模型是合理的。

  分段线性交易成本模型 可以用来提高计算精度,其基本理念是:在一定范围内线性估计基本是正确的,但在某些点上,二次估计的曲率会造成真实交易成本曲线斜率有较大的上升,所以从那一点开始使用新的直线进行拟合比较合适。

分段线性交易成本函数

  • 从图中可以看出,在很大的交易规模范围内,分段线性交易成本模型的准确度都远远高于前两种模型,因此作为简洁性和准确性的折中方案,该模型在宽客中 非常流行

  二次型模型计算复杂度最高,因为所使用的函数不像线性模型以及分段线性模型那么简单。二次型模型包含的元素很多,形式也比较多样,所以建模过程比较复杂。

二次型交易成本函数

  • 图中实线反映的是 期望成本 ,而点线是交易发生后观察到的真实 成本线。二者存在差异是因为实线必须在交易前给定,而虚线是交易后观察到的真实数据。由于真实交易成本是观察到的客观事实,而任何对交易成本的估计都是预测结果,预测就不可能是完美的。造成估计的交易成本和真实交易成本之间有所差别的因素包括产品波动性、随时间变化的流动性,或随时间的变化交易同一股票的交易者类型(如做市商、对冲基金、共同基金或个人投资者)。

5. 投资组合构建模型

  投资组合构建模型的目的是为了决定宽客所持有的投资组合。这个模型扮演着裁决者的角色,听取了乐观主义者(阿尔法模型)、悲观主义者(风险模型)和具有成本核算意识的会计(交易成本模型)的说辞之后,决定该进行怎样的投资组合。

  如何分配投资组合中各种产品的比例,主要需要考虑期望收益、风险和交易成本之间的平衡。过于强调交易机会会因为忽略风险而带来损失;过于强调风险会因为忽略交易机会而造成收益不足。过于强调交易成本会使系统陷入瘫痪,因为容易导致交易者因不愿意承担更新投资组合的成本而持仓时间很长。

量化投资组合构建模型 主要分为两大类。

  • 第一类是基于规则的模型。基于规则的投资组合构建模型主要依赖于宽客的直觉,可以很简单也可以很复杂。
  • 第二大类量化投资组合构建模型是基于优化的。优化程序使用算法去寻找达到宽客所定义目标的最优路径,这里的算法指的是所设计的一步步的规则,引导使用者从初始点到达终点。这里的目标一般称为目标函数 (objective function)。优化程序的目标函数典型的例子是寻找投资组合,使得承担每一份风险可能得到的收益最大化。

5.1 基于规则的投资组合构建模型

  常见的基于规则的投资组合构建模型有4类:相等头寸加权、相等风险加权、阿尔法驱动型加权和决策树加权。前两类模型最为简单,核心理念是等权重,只是在如何给出同等权重的方式上有所不同。阿尔法驱动型投资组合构建模型主要依赖阿尔法模型来进行头寸规模选择和投资组合构建。决策树方法,主要是以某种顺序使用一系列规则来决定头寸规模,可以很简单也可以很复杂。

5.1.1 相等头寸加权

  相等头寸加权模型极其普遍。使用这一模型的宽客认为,如果某一头寸好到值得拥有,就不再需要其他信息来决定其规模。 这里有个深层次的隐含假设:金融产品具有同质性,不需要根据其风险或其他指标加以区分。

  相等头寸加权模型的基本前提是,对不同的头寸加以区分(给予不同权重)可能会具有两种负面结果,最终会超过非等权重加权所带来的好处。

  非等权重方法

  • 第一个潜在问题是,它总是默认模型具有统计学意义上的能力和功效,对头寸方向、波动幅度和(或)相对于投资组合中其他预测值变动的概率进行准确的预测。相反,使用等权重方法的宽客认为,只有在方向性预测上才可以充分信任阿尔法模型,并且只要在方向性预测上有足够的置信度可以确保值得进行交易,就值得进行和其他头寸相同规模的交易。
  • 投资组合中非等权重方法的第二个潜在问题是,它一般倾向于在“最好”的几个预测头寸上进行大的投注,而在其他预测上投注很少。但是,这种权重的差异都会使策略在看似很有吸引力的头寸上承担一些例外事件的风险,而不管进行预测时使用的是何种阿尔法模型。

  阿尔法模型一般都会经过实际数据集的检验,模型的统计显著性和预测能力基本上都是依据于分布的均值或平均水平,而不是分布的尾部。相等头寸加权方法可以控制这种尾概率事件所带来的风险

  值得注意的是,相等头寸加权方法有时会受到流动性的 约束,从而头寸的权重只能在流动性允许范围内尽可能地接近同等权重。

5.1.2 相等风险加权

  相等风险加权方法根据头寸的 波动性 (或风险的其他度量指标,如下降幅度)来反向调整头寸规模。波动性越大(小)的头寸,分配的权重就越小(大)。

一个简单的相等风险加权投资组合


  相等风险加权方法也有其 缺点,无论使用何种方法对风险度量,通常都是一种回顾型度量,例如波动率。具有较高(低)波动率的产品应该被分配以较小(大)的权重。但是如果波动性低的产品突然变得波动剧烈呢?(比如金融危机,银行股价波动剧烈)

5.1.3 阿尔法驱动型加权

  阿尔法模型可以决定头寸可能具有的吸引力,这个信号是合理决定头寸规模的最佳途径。

  通过阿尔法模型来决定头寸规模。该方法的理念是,阿尔法模型可以决定头寸可能具有的吸引力,这个信号是合理决定头寸规模的最佳途径。此外,使用这一方法的绝大部分宽客并不会让最大头寸的规模趋于无穷。这时他们会使用风险模型来给出单个头寸的最大规模上限。

5.2 投资组合最优化

  投资组合优化工具主要是基于资产管理行业的经典理论——现代投资组合理论 (modern portfolio theory,MPT)的基本原理。MPT 的核心原理是,投资者一贯是风险厌恶型的,这意味着如果两种产品收益相同但风险水平不同,投资者会偏好低风险产品。

  只有存在额外收益作为补偿,投资者才愿意承担额外的风险。由此引入了风险调整收益 (risk-adjusted return)的概念。均值方差优化技术(mean variance optimization) 是基于MPT构建投资组合的一种常用方法。

  • 均值方差是传向优化器的两个输入变量,输出变量是在各个风险水平上具有最高收益的一系列投资组合。

    • 均值是指进行评估的各种资产的平均期望收益;
    • 方差 是对各种资产期望风险的度量,通过计划持有的各种资产收益的标准差来计算。
  • 传向优化器的第三个输入变量是这些资产的期望相关系数矩阵 (expected correlation matrix)。

  优化器使用这些输入量,可以输出在不同风险水平下可以达到最高可能收益的一系列投资组合,称为有效边界 (efficient frontier)。


  量化交易策略,除了使用阿尔法模型、风险模型和交易成本模型外,还需要说明这些模型中所包含的信息 以及与这些模型相关的约束条件 。

  • 例如,投资组合优化工具可能被用来解决最优投资组合问题(例如最大化风险调整收益 ),说明各种可能持有产品的期望收益,持有产品收益的波动性,持有产品相互之间的相关性以及最小化对应于风险模型中的各种风险因素的风险敞口 。

 在真实交易中,宽客也会采用其他几个额外的 输入变量,包括① 以货币表示的投资组合规模,② 期望的风险水平(通常以波动率或预期下跌来度量),③ 其他会缩小优化工具可行域的约束条件,例如股票交易中主要经纪商提供的 卖空限制列表 (hard-to-borrow list)。

  这些技术被称为优化工具的原因在于,它试图去寻找分析师所给定的目标函数 (objectivefunction)的最大值(最优值) 。

5.2.1 优化工具的输入变量

  优化工具所需要的输入变量有期望收益、期望波动率以及各种备选产品间的相关系数矩阵。

期望收益

  宽客倾向于使用阿尔法模型得到期望收益。阿尔法模型的输出变量通常都会包含期望收益和(或)预期波动方向,或其他用来指示备选产品吸引力的输出变量(如某种得分)。

期望波动率

  传统金融界和量化交易界中许多人士倾向于使用历史数据计算出的实际波动率作为优化工具的第二个输入变量,但也有些人使用对波动率的预测值。预测波动率的最常见方法是使用 随机波动模型(stochastic volatility models)。

  随机波动预测模型 的基本理念是,波动率一段时间内会在较高水平,接下来的一段时间就会处于低位(即存在可预测性的波动率周期),偶尔还会有所跳跃(某种随机和不可预测性部分)。

期望相关性

  相关系数是衡量两个产品变化的相似程度的核心度量,取值范围介于-1~1之间。相关系数为1表示完全类似,相关系数为-1则表示两种产品完全相反,或负相关。相关系数为0则表示完全不相关,表明两种产品完全不类似,但也不是反向变动的。

5.2.2 优化技术

5.2.2.1 无约束条件的优化方法

  无约束条件的优化方法经常做的事情是提出只有一种金融产品的投资组合,就是把所有的钱都投入到具有最高风险调整收益的金融产品上去。

5.2.2.2 带约束条件的优化方法

  为解决无约束条件方法中把所有钱投入到具有最高风险调整收益的金融产品这一问题,宽客们指出如何在优化过程中添加约束条件和惩罚项,从而得到更加“合理的”结果。约束包括头寸规模限制(如分配给某一头寸的占比不能超过整个投资组合的3%)或对产品组的头寸加以限制(如在任何板块的投资不能超过投资组合的20%)。

  优化方法中的另一种约束条件包含风险模型的集成。

  交易成本也可以用多种方式加以处理。宽客可以建立每只股票的市场冲击函数的经验模型,并让这些市场冲击模型作为输入变量进入优化工具。或者,宽客也可以简单建立一个市场冲击函数,以波动率、交易量、订单规模等作为输入变量,得出市场冲击模型的一般解。这是宽客常用的两种得到期望交易成本的方法,之后将其作为投资组合优化的输入变量。

  为实现优化目标,需要设计数学公式和编程技术,使用上文所提到的各种输入变量,通过迭代求解寻找使投资组合的目标函数达到最大值的均衡状态(如期望收益与期望波动率间的均衡)。

5.2.2.3 布莱克-李特曼优化方法

  布莱克-李特曼优化方法 解决了优化工具的输入变量带有测量误差的一些相关问题。他们提出了一种方法,在投资者期望中融入了置信度的概念,并把这些与历史数据结合了起来。

  布莱克-李特曼优化方法利用投资者对不同金融产品收益的预测来调整真实观测到的产品间的相关系数。

  • 例如,历史上雪佛龙公司(CVX)和埃克森美孚公司(XOM)的相关系数为0.7左右,而交易者的阿尔法模型预测埃克森美孚公司(XOM)将上涨,雪佛龙公司(CVX)会下跌。这时,尽管存在着历史经验,雪佛龙公司(CVX)在预测时间段的相关性会很低甚至为负值。

5.2.2.4 格里诺德-卡恩方法:优化要素投资组合

  绝大部分优化方法试图确定头寸规模,而这种投资组合优化技术的直接目标就是建立信号的组合。

  这种方法的主要思想是建立因素投资组合群 ,其中每个投资组合都是基于规则(实际上通常都是等权重或等风险权重)考虑单一种类的阿尔法预测而构建的。所以,可以考虑构建动量型投资组合、价值型投资组合和成长型投资组合。每一种投资组合都会使用历史数据进行模拟,就好像是根据历史数据来挑选股票。

  这个方法的一个优势在于,投资组合的数量更加易于管理,根据在阿尔法模型中所使用的单个因素的数量,通常不会超过20个。因此在进行优化时,并不是优化含有几千种金融产品的投资组合,而是优化几种要素投资组合的混合。

5.2.2.5 重新取样效率

  理查德·米肖在《有效资产管理》书中提出的重新取样效率 (resampled efficiency)相关方法解决了针对估计误差的过度敏感性问题。

  宽客在阿尔法预测、波动率预测和相关性估计中都会出现估计误差。结果表明,均值方差优化工具对这类误差极为敏感,如果期望存在很小的扰动,就会导致所推荐的投资组合发生很大的改变。

  米肖提出使用蒙特卡罗模拟 (Monte Carlo simulation)的方法对数据进行重新取样,以减小优化工具输入变量的估计误差。蒙特卡罗模拟方法会对历史数据进行多次重新组合,基于真实观测得到多个时间序列。

  对于这种重新取样技术,有一点值得注意:只有当有足够的信心认为所使用的历史样本数据能很好地代表整个分布时,这种重构历史分布的方法才真的有用。

5.2.2.6 基于数据挖掘的最优化方法

  使用机器学习方法通过在各种可能的投资组合中进行搜索,寻找表现出最好特征(通过优化工具的目标函数得以体现)的一类。

投资组合构建模型的输出

  无论采用何种投资组合构建方法,量化投资组合构建模型的输出变量就是目标投资组合:理想的头寸及各个头寸的规模。

6. 执行模型

  执行一个交易有两种基本途径:电子途径或人为中介(如经纪商)。绝大部分宽客选择使用电子交易,因为交易量通常会很大,期望人为操作完成不太现实也没有必要。电子化交易通过直接市场准入(direct market access,DMA)得以实现,交易者可以通过经纪公司的基础设施和交易接口在电子市场(如ECN平台)直接进行交易。

  获得执行算法有3种途径:创建算法、使用经纪商的算法、从第三方软件厂商处获得。

6.1 订单执行算法

  执行算法的主要目的以及绝大部分执行方法的主要功能就是新建和消除头寸时最小化交易成本。
  订单执行算法的主要目的是,以尽可能低的价格,尽可能完整地完成想要交易的订单 。

  如何度量执行算法的效率

  • 第一个概念是中间市场价格 (mid-market),反映的是对某一产品最佳买入价和最佳卖出价的均值(根据定义是指这两个指标的平均数)。这是判断交易价格是否公平最为标准的方法。
  • 第二个术语是交易量加权平均价格 (volume-weighted average price,VWAP)。VWAP 是最为标准的基准指标,用以衡量(一个或几个交易日中)进行多笔交易时执行算法的质量。
    • VWAP可以反映出如何对一天中的交易量定价 。因为VWAP是当天成功交易的加权平均价格,所以该指标是衡量算法效率的合理参考指标。

  订单执行算法主要从以下几个方面进行考虑:是否要采用进取订单或被动订单;采用何种类型的订单;如何决定最佳订单规模以及将订单发送到何处。

6.1.1 进取订单和被动订单

  执行算法必须做出的第一个决策是选择进取订单或被动订单。进取或被动代表了交易者希望进行交易的急切程度。

  • 进取订单(大多数市场订单是进取型的,)投放进入市场,一般无附加条件。当执行订单时(在合理范围内,只要订单簿上存在买入或卖出订单,就可以和对应方交易),进取订单可以被拆分也可以整体成交,价格则是执行订单时最优惠的市场价格。

  • 被动订单(一种限价订单,不是所有的)允许交易者控制其意愿进行交易的最坏价格,但交易者必须承担这样的后果:他提交的订单可能根本不会被执行或只有一部分会被执行。

  对某种证券,所有限定价格的买卖申报指令(均为被动订单)的集合称为 限价指令簿 (limit order book)。在电子化市场上,进入交易市场的每一张订单都会给出先后顺序。

  在一些市场上,并不按照时间优先原则,而是价格相同的所有订单具有相同的优先级,但它们会根据进取订单的量按比例进行分配。这些市场要特别注意防范规模虚大和交易过量等问题。

  • 规模虚大是交易者为了应对按比例分配而采取的一种应对措施。由于进取订单是根据限价指令簿上处于相同价格的各个限价指令的规模按比例进行分配的,一些交易者加大其限价订单的规模,这样会得到进取订单更大的份额。但这样也存在着这么一种风险:订单规模过大导致成交头寸超过交易者希望成交的被动订单的规模。
  • 如果交易者设定订单规模过小,就必须建立和取消很多个订单,这被称为交易过量。假设有交易者想买入100单位的某金融产品,当卖出100单位该产品的进取订单进入市场时,如果在限价指令簿上还有其他订单要买入900单位该产品,那么这个交易者就只能成交买入10单位。在交易者等待他的订单完全成交时,他可能需要等待市场出现大量的卖单才可能完成100单位订单的完全撮合,具体数量取决于具有相同报价的其他订单的规模。这意味着交易者要忍受逆向选择的严重风险。

  订单执行算法的第一个特征是订单的进取程度,可以通过频谱(spectrum)的概念加以理解。市价订单处于频谱最为进取的一端,最为被动的一端是设定价格远离当前市价的限价订单。订单的进取程度通常取决于所选用交易策略的类型,也依赖于信号强度以及系统关于信号的置信水平,有时也会考虑到订单簿信息,如合理价格等。

6.1.2 其他订单类型

  暗订单(hidden orders)是指以牺牲与相同价位的明订单的优先权为代价,让市场其他参与者看不到自身订单信息的交易方式。暗订单的主要目的是,向其他市场参与者隐藏交易者的交易意图同时仍可以进行交易。

  冰山算法 (iceberging)是暗订单的算法交易策略中其中一种。冰山算法是通过将一个大单拆分成很多小订单,绝大部分小订单以暗订单的形式出现在指令簿上。这样,其他交易者看不到这个订单的大部分交易,就好像只能看到冰山处于海平面以上的部分一样。需要指出的是,只有部分交易所允许暗订单交易。

  收盘市价订单 (market-on-close orders)是通知经纪商在交易日的收盘竞价阶段发布的市价订单。

  停止限价订单 (stop-limit orders)要求经纪人必须严格按照订单价格成交或在更好价格水平上成交,否则就要等到订单价格或更好价格重新出现时再执行。

  立即全部执行或者撤销订单 (fill-or-kill order)是指所下达的订单立即全部成交否则自动撤销。

  全部成交或不交易订单 (all-or-none order)和立即全部执行或者撤销订单类似,但没有撤销机制,所以如果一个订单无法马上全部成交,仍存在于指令簿上而不撤销。

  取消前有效订单 (good-till-canceled)在交易日结束时不自动取消,在几天甚至几周内持续有效,直到交易者明确取消为止。

  有一种订单值得特别留意。由于全国市场系统(Regulation National Market System,NMS)规则的漏洞,美国股票市场上存在着 扫架订单(intermarket sweep orders,ISO)。NMS规则中禁止所谓的 封闭市场。当某产品的最佳买入价和卖出价相等而两个订单无法完成撮合时,我们称这样的市场状态是封闭的。

6.1.3 大订单和小订单

  无论是市价订单还是限价订单,宽客都必须迅速决定订单的交易量。从关于交易成本模型的讨论中我们可以知道,与小订单相比,大订单的交易成本会不成比例地快速上涨,因为随着流动性需求的增加,流动性的供给价格会越来越高。因此,在交易大订单时自动执行订单常用的方法是进行拆分,如将一个100000股的订单拆成1000个100股的小订单,在某个时间窗内分别进行交易。当然,在一段时间内分散出单,交易者会面临价格波动的风险(立即执行订单的价格和分散出单时的价格可能会有很大变化)以及市场冲击带来的额外成本。

  • 拆分后的订单规模取决于根据交易成本模型估计出的所关注的金融产品各种规模订单的交易成本。每个订单规模的大小取决于对订单进取程度的判断。

6.1.4 何处下单

  在一些市场上,对同一种金融产品有不同的流动性分池。 智能下单方法 (smart order routing)包括在当前形势下最好选择哪个流动性分池去下单。

  市场结构上近来出现的一个新动向是,所谓的 暗池在订单执行中的作用日益增强。交易平台可以分为明交易平台 和 暗交易平台 。

  • 在 明交易平台上,市场参与者可以从限价指令簿看到买单的价格及规模等信息;
  • 暗交易平台不提供这些信息。暗池最为显著的特征在于,它为大订单的执行提供了便利,因为暗池交易中的订单不会公布(而被其他市场参与者看到)。

6.2 交易基础设施

  提供给交易者用来连接到交易所的服务,最为常见的类型是直接市场入口(DMA),通过经纪商的服务器使待交易订单分配到不同的流动性分池中去。

  使用高频策略的分析师,使用 主机托管 (colocation)的连接方式。经纪商通过DMA平台向交易者提供市场接口,但这个过程存在一定程度的延迟。对延迟效应敏感的量化策略可以选择主机托管方式来改进连接速度。主要是为了尽可能地缩短订单(以光速进行)传输的距离(从交易者的服务器到交易所)。

7. 数据

  虚假精确 (false precision),面对一个带有很多位小数的精确数字时,我们并不可以完全信赖这一数字。需要考虑交易类型是具有时效性的,因而时间因素显得很重要。

7.1 数据类型

  数据基本上可以分为两大类:价格数据 (price data)和 基本面数据 (fundamental data)。

  • 价格数据并不仅仅是和金融产品价格相关的数据 ,也包括从交易行为中得到或提取的其他信息 。股票的交易量、每笔交易的时间及规模等都属于价格信息。实际上,整个指令簿 都可以认为是价格数据,因为指令簿上包含有一个交易日中给定金融产品所有买入价和卖出价(以及量)的连续记录。此外,我们还可以将各种指标水平相关的数据 (如标准普尔500指数每日记录的波动百分比)归为价格数据的范畴,即使计算的数值并不是关于可交易的金融产品的。

  • 基本面数据 包含的范围很宽泛,因而难以进行有效分类。从某种意义上讲,基本面数据是指除了价格数据之外的所有数据。但是,所有类型数据的共同特征是,这些数据有助于决定金融产品未来的价格或者至少描述金融产品目前的状况。最常见的基本面数据种类有财务健康状况(financial health)、财务表现(financial performance)、财务价值(financial worth)和情绪(sentiment)等。

  大部分 价格数据 倾向于关注短期效应 ,讨论的都是每日数据甚至日间连续数据。而在 基本面数据 中,我们看到的数据通常是周度、月度或季度数据 。从这一不同的时间周期马上能够看出,一般来说使用价格数据(基本面数据)的相关交易策略通常是短期(长期)策略。这是因为,一般来说价格数据比基本面数据更新的频率更高,但这也不是绝对的。

7.2 数据来源

  宽客直接从纽交所(NYSE)得到在纽交所交易的股票的价格数据。这种做法的一个好处是,宽客可以最大限度地控制数据的清洗和存储,并且在速度上也具有很大的优势,但这么做也具有很高的成本。

  主要的数据源及数据种类包括以下几种,

  • 交易所 :价格、交易量、时间戳、持仓量、空头持仓量、订单簿数据。
  • 监管机构 :各个公司的财务报表、个股的大股东持股情况以及内部买卖活动。
  • 政府 :宏观经济数据,如失业率、通货膨胀及GDP数据。
  • 公司 :财务报告及其他公告(如红利的变化等)。
  • 新闻机构 :新闻报道。
  • 数据专营供应商(或数据加工者) :可能有用的一些生产数据。如经纪公司经常发布关于上市公司的报告,一些公司追踪并发布基金的现金流数据。

  有一些公司可以提供统一格式的数据库,用以整合来自不同数据供应商和不同类型的数据。这种公司被称为 第三方数据供应商 (tertiary data vendors),通过整合数据使宽客更容易使用数据而获利。这种公司与很多数据源以及二手数据供应商建立联系,建立并维护证券主管系统,甚至做一些数据清洗(一个我们马上会详细讨论的主题)的工作。

  • 证券主管 :关于同一个有价证券有着不同的数据集时,宽客必须找到一个途径,保证这些数据能够和其内部数据库中这家公司的记录统一起来。用于帮助实现这一目的的工具通常称为证券主管 (security master),因为控制文件将数据供应商识别股票的多种方式统一映射到宽客在其自己的交易系统中所使用的特定识别方法。

7.3 数据清洗

  第一类常见的数据问题是缺失值。

  • 很多宽客在其数据库和交易系统中对零和空值加以区分。

    • 常用的处理缺失值的一个方法是,使用最近的一个已知价格数据,直到一个新的价格数据可用为止。
    • 第二种方法是在缺失值出现的位置进行插补,补上一个合理的数据。这个方法对于历史数据有用,对实时数据并不奏效;但对实时数据也有很多方法可以使用(取两个时间点均值)。

  第二类常见的数据问题是错误观测值。

  • 目前解决这一问题最为常用的是被称为异常值过滤 (spike filter)的方法。异常值过滤方法寻找价格数据中那些幅度特别大、突然的变动,并对这些变动进行平滑或直接删除。

  • 异常值过滤方法可能会将该点的价格作为坏点(bad prints)[是指那些根本不会出现的数值或者至少不会以数据源所预示的方式出现的数据。]对待,但这却是真实存在的一个点。为了减少这一问题的影响,一些宽客使用异常值过滤方法来提醒,辅以系统监管人员进一步查看该数值,检测这一问题。

    • 另一种常用的有效方法是使用来自不同数据源的数据进行交叉核实。

  一个常见的数据错误类型和公司的行为有关,例如配股和分红等。这一问题的解决主要依赖对公司行
为的独立追踪以及之前提到的异常值过滤方法的人工监管。

  有时数据中会含有错误的时间戳。这一问题通常出现在日间数据或实时数据中,但其他数据中也存在这个问题。

  • 如果量化交易公司对数据进行实时存储,可以通过对接收到数据的时间戳和存储数据时的内部时间进行比对,以确保时间戳的正确性,这可能是解决这一问题最行之有效的办法。这一方法只适用于实时抓取和存储数据的量化交易系统。
  • 对于那些购买数据的宽客而言,他们只能通过对来自不同数据源的数据进行交叉检验来解决这一问题。

  一个不太明显的数据问题,被称为 前视偏差(look-ahead bias), 前视偏差(是指在某些事情真实发生之前便错误地假设已经知道了相关信息,还有另一种形象的表述“昨天之前就知道了昨天的新闻”。该问题是由数据的不同步性造成的。

  • 为解决数据中的前视偏差问题,宽客可以记录下更新后的数据发布的日期,并且在模型验证时只在合理的时间段才使用这些数据。此外,宽客也可以在他们所关注的数据上加人工滞后项,这样模型对该指标的敏感度得以延误,足以克服前视偏差。

7.4 数据存储

平面文件

  第一种数据库是没有相对关系结构的平面文件 (flat file),这种两维的数据库和普通的表格很类似。这种平面文件数据库不会因为需要加载太多内容而变慢,由于简洁而广受欢迎。这种简单的文件结构很容易进行搜索,通常是顺序搜索(如从第一行到最后一行)。

  • 为解决顺序搜索花费相当长时间,很多宽客使用指针平面文件 (indexed flat files),增加了额外一步但使得大文件的搜索变得容易。指针为电脑建立了一张虚拟的表格(cheat sheet),提供了一种比顺序搜索更加智能化的算法对大数据集进行搜索。

关系数据库

  第二类数据存储系统是关系数据库 ,关系数据库允许数据集中出现更加复杂的关系。

  • 例如,假设我们不仅想追踪股票自身的数据,还需要其所在产业、所在生产部门、所在国指数以及所处的股市的一些数据。这是宽客需要做的常规事项。使用平面文件系统时,我们不得不为每一组数据建立一个独立的表结构,且股票记录的更新繁琐。

  在关系数据库中,我们只需要创建一个包含每只股票属性 (如所在行业、所在板块、所属市场和所在范围)的表即可。在这张表的基础上,我们很容易对股票及其属性的相关信息进行管理。数据库根据已建立的关系可以对其他部分进行管理。

  尽管关系数据库具有强大的搜索能力,但搜索过程也可能会很缓慢而冗长,因为搜索时需要扫描很多表单、元表单和数据表之间的关系。

数据立方体

  有一类很重要的关系数据库被称为数据立方体 (data cube),数据立方体强调关系数据库的一致性,把所有金融产品所有属性的取值都放到一个三维数据表中。

  • 对某个日期而言,所有产品都列在这张表的一个坐标轴上。第二个轴则存储所有产品给定属性(如当日收盘价)的取值。第三个轴则存储其他属性的取值(如当日每股收益)。

  该方法将某些关系强行连接了起来;进一步通过保留每天每种产品的所有属性,对于给定的产品和属性则不需要去搜索最新的数据点。

  这种方法也有自身的缺陷,对关系进行强行连接会导致灵活性的缺乏,所以如果关系的性质或数据查询方式发生变化时,会出现很大问题。

8. 研究

  研究是量化交易的核心。研究的目的是审查周密思考的投资策略。

  表现优秀的宽客共有的一个特征是,进行研究时遵循 科学的方法(scientific method),

  研究思想的4个共有来源是:对市场的观察结果、学术文献、研究员或者投资组合经理在量化公司之间的迁移以及来自主观判断型交易者活动的教训。

8.1 检验

  检验过程的第一个步骤是基于样本内数据寻找最优参数训练(train)模型。

“良好的”模型的组成部分

  1️⃣ 累积盈利图

  累积盈利图是检验过程最有力的输出量,从累积盈利图可以看出,策略能否盈利、平稳性如何以及存在着何种下行风险,适用于哪些情况。

  • 下图可以看出,这个策略在测试阶段时持续盈利,但回报流是呈波浪起伏的,而且很长一段时间内不够活跃(一些情况下持续几年),有时大幅亏损,有时获得巨额盈利。

标准普尔500指数策略的回测累积盈利图

  2️⃣ 平均收益率

  平均收益率表明策略在过去实际运行情况如何(即盈利情况如何)。如果策略在测试阶段效果不佳,那么实际情况下策略就不可能奏效。

  3️⃣ 收益率随时间的变异性

  收益率随时间的变异性描述的是平均收益率的不确定性,该指标有助于研究员判断是否应该持有某交易策略。通常情况下,收益率变异性越小,策略越优。

  块度 (lumpiness),指的是显著高于平均收益的时间段内的收益占策略总收益的比例。这是另一种测量收益一致性的方法。

  4️⃣ 波峰波谷间的最大降幅

  波峰波谷间的最大降幅测量的是盈利曲线中从任意一个累计波峰开始的最大回测。

  • 如果策略盈利10%,然后亏损15%,再然后盈利15%,那么这个阶段策略的整体收益率大约是7.5%。然而,波峰和波谷的降幅达到15%。另一种陈述方法为:投资者为了获得7.5%的盈利,必须承担15%的风险。策略的回测越低,策略越优。

  如果反复操作成千上万次,理论上讲从一个真实历史数据可以得到许多可能的结果。这种方法被称为 重复采样 (resampling),这样可以提升历史样本的效率。基于这些成千上万的历史重复采样数据,可以计算出每一种情况的最大下行,对策略的潜在下行风险估计更稳健。

  5️⃣ 预测力

  统计量 R2R^2R2 (R-squared)表示预测模型解释被预测量的变异程度,换句话说,就是被预测量被信号解释的变异程度。其值在0~1,值为1意味着模型解释了被预测量变异100%的信息。

  当我们谈到“被预测量”时,当然是指向进行交易的股票、期货合约或者其他金融产品。我们试图预测期货价格/收益率/一些金融产品的趋势,使其R2R^2R2 为1是不可能的,除非方法是错误的。事实上,在这个行业,R2R^2R2 为0.05就是极好的了。

  宽客经常使用别的方法衡量预测力。这个方法是在检验中按照 十分位数(或者研究喜欢的其他分位数)的方法对金融产品的潜在预测的收益率进行分组。通常情况下,具有可靠预测力的模型能够显示最坏的收益情形出现在最坏的预测收益情形中。实际上,改善的预期收益的每一个分组表现优于前一个。如果被预测的金融产品的收益不能随着预测而改进,则暗示着这个策略只是偶然地发生作用。

  6️⃣ 胜率或盈利时间占比

  胜率这个百分比是一致性的另一种度量方法。这个指标告诉研究者系统盈利是来自小比例的偶然表现极其优秀的交易,还是来自很多交易,每笔交易可能都贡献微小的利润。

  类似地,可以使用盈利周期与总周期数的比值简单度量(这通常是用胜率或者盈利天数百分比进
行度量)。对于两种度量方法,人们对具有更强一致性的策略具有更多的信心。

  7️⃣ 回报相对于风险的不同比率

  许多统计量被用来度量 调整风险收益 (risk-adjusted return),通常都是设法度量获得一些收益的“成本”(以风险的角度)。

  • 夏普比率 是通过计算某周期内高于无风险利率的平均收益率与收益率的波动率之间的比值可得。夏普比率越高,策略越好。

    • 夏普值 通常去掉比率(ratio)为2的策略是指每承担1个单位的风险,将会获得2个单位的高于无风险利率的收益率(如果能得到这个结果,这是一个相当好的夏普比率)。
  • 和夏普比率相近的比率是 信息比率 (information ratio),不同之处在公式中去除了无风险利率。

    • 标准普尔500指数策略的信息比率仅为0.57,意味着投资者每承担1%的风险,可以获得0.57%的收益(此外,这个结果是在扣除交易成本和实施策略的其他费用的成本之前)。
  • 斯特林比率 (Sterling ratio,平均收益率与低于平均收益率的波动率),

  • Calmar 比率(Calmar ratio,平均收益率与波峰波谷间最大回测的比值),

  • Omega 比率(Omega ratio,正收益率之和与负收益之和的比值)也是广泛应用于调整风险收益的度量指标。

  • 1982~2000年的标准普尔500指数策略显示斯特林比率为0.87,Calmar 比率为0.31,Omega 比率为1.26。在这些比率中,最让人失望的是较低的Calmar 比率,这个结果意味着承担1%的回测风险,能够产生0.31%的收益。

  8️⃣ 与其他策略的关系

  许多宽客会同时使用几个策略。这样,宽客有效地管理策略组合,这与其他类型的投资组合一样,分散风险。宽客需要频繁地测量新策略如何适应于其他已经使用的策略,确保新策略能够增加价值。

  9️⃣ 时间延迟

  在检验策略时,一个有趣的问题是,策略及时获得信息的敏感性如何,预测效果会在市场中持续多长时间。许多宽客寻求理解,如果他们必须在接受交易信号后才开始交易,这个交易有一些延迟,那么策略的收益将会如何。

  1️⃣ 0️⃣ 特定参数的敏感性

  通过改变参数,可能得到不同的结果。但是基于参数的微小变化对结果所造成影响的理解,有助于了解策略的质量。

样本外检验

  样本外检验 (out-of-sample testing)是检验流程中的第二部分,是告知研究员去除样本内检验中那些 虚拟表格 (cheat sheet)的帮助后,策略在实际中是否起作用。

  • 到目前为止,模型的参数已经通过样本内检验数据集而固定,问题是基于已被选择的参数,模型是否能在全新的样本外数据集中真正起到作用。

  许多宽客使用的另一个统计量是样本外检验的 R2R^2R2 与样本内检验的 R2R^2R2 的比值。这个比率是度量模型鲁棒性的另一种方法。如果样本外检验的 R2R^2R2 与样本内检验的 R2R^2R2 相当接近(即,如果比率大于等于0.5),则被认为是一个好的模型。如果比值显著小,研究者必须对模型的成功应用持怀疑态度。

  对于样本外检验有许多种方法。最简单的方法是使用除去样本内检验数据的剩下部分进行检验。一些研究员使用 滚动样本外数据的方法 (rolling out-of-sample technique),在这种方法中,最古老的数据点将会被丢弃,最新的数据点被用来拟合(样本内)和检验(样本外)模型。这个过程重复进行,直至全部可行的数据样本被完全使用。滚动样本外数据的方法被认为不断随着时间的改变而有助于更新模型,模型不是依靠可能先前运行了很多年的单一数据集。然而,这个方法依赖于环境,缺点在于模型不断地吸收最近一段时间的信息,这可能减少其鲁棒性。

检验中的假设条件

  检验流程中的另一组成部分是假设条件,这些有关交易策略的假设条件在历史上已被检验。

  一般而言,过高估计交易成本会使得宽客持有头寸时间长于可能的最佳值。然而低估交易成本将使得宽客太频繁地更换投资组合,产生额外的交易成本。如果我们在这方面不得不犯错的话,过高估计比过低估计更有意义,但能够近似正确估计成本仍是更受欢迎的事情。


附录. 常见指标或专有名词

  • 廉价 ,可能意味着 市盈率(P/E)。
  • 基本面数据与资产价格的比率,如 市盈率(P/E);市盈率的倒数(E/P比率)称为 盈利收益率 (earnings yield)。
  • 股息收益率 (dividend yield)作为度量价值的另一种[盈利收益率为一种]常用指标。
  • 暗池是经纪商或独立公司设立的允许交易者以匿名方式直接进行交易的场所。
  • 暗池交易 (dark pools),主要是在某银行的客户内部,通过匹配引擎去撮合同一时间同一金融资产的买方和卖方。暗池交易产生的部分原因就是出于对大单交易产生的市场冲击的担忧。
  • 卖空限制 (hard-to-borrow),卖空限制列表是那些通常被经纪商限制做空的股票,因为经纪商不能机械地借出股票。如果没有真实的股票被解除,这笔交易将被认为是 裸卖空(naked short sale),这在美国是不合法的行为。

参考链接 - 打开量化投资的黑箱 (原书第2版) - [美] 里什·纳兰(Rishi K. Narang)
推荐书籍 格雷厄姆和多德《证券分析》

打开量化投资黑箱-v2-黑箱结构相关推荐

  1. alpha模型:打开量化投资的黑箱;附创业板布林带策略代码:年化15%。

    原创文章第108篇,专注"个人成长与财富自由.世界运作的逻辑, AI量化投资". 关于量化投资,我们写了不少文章.从数据准备,预处理,因子特征工程,因子分析,规则策略,模型,回测, ...

  2. 《打开量化投资的黑箱》 阅读笔记

    第一部分 量化交易的世界 第一章 关注量化交易的原因 算法执行(algorithmic execution)指的是,在电子化市场中,投资者买卖行为是通过计算机软件实现的. 一个经典的策略叫做统计套利, ...

  3. 【方法论述】量化投资——神话、黑箱与真谛

    编者语:文艺复兴基金的创始人西蒙斯(Jim Simons)是数学教授,他领导的量化对冲基金长期超越市场,是世界上最成功的对冲基金之一.旗下的"大奖章基金"(Medallion Fu ...

  4. 读书笔记_打开量化投资的黑箱11

    第四部分 高速及高频交易 第13章 高速及高频交易概要     根据艾特集团(Aite Group)研究,高频交易目前占据的市场比例略高于50%,期货市场上的比例大致相同,货币市场比例大概是40%. ...

  5. 读书笔记_打开量化投资的黑箱09

    第三部分  量化交易策略的投资指引 第10章  量化交易策略的固有风险 两种类型的敞口:     一种是可以带来长期回报(阿尔法和贝塔)的敞口,这种暴露人们易于接受;     另一种是不能带来长期回报 ...

  6. 读书笔记_打开量化投资的黑箱01

    大约4年前(2015年左右),看过一些量化的入门书籍,那时是完全小白的,一窍不通的(当然,现在也不算牛,只能算比当时有进步吧).前阵子开发策略,开发的有点小心累,之前自以为很好的策略or思路,实践下来 ...

  7. 读书笔记_打开量化投资的黑箱10

    第11章  对量化交易的批评:确保如实记录 /185 交易是一门艺术,而非科学     市场主要由人们对所接收信息的反应而驱动.不是所有的信息都可以系统地被理解. 由于低估风险,宽客引发了更多的市场动 ...

  8. 读书笔记_打开量化投资的黑箱06

    第7章  执行模型 执行交易两种途径: 电子途径:通过直接市场准入(direct market access,DMA)得以实现,通过经纪公司的基础设施和交易接口在电子市场(如ECN平台)直接进行交易, ...

  9. 读书笔记_打开量化投资的黑箱04

    第5章  交易成本模型 #交易成本的定义 理念:交易是有成本的,除非有足够的理由,否则便不应该进行交易. 交易原因:第一,可以增加盈利的概率或量(比如阿尔法模型)         第二,可以降低亏损的 ...

  10. 读书笔记_打开量化投资的黑箱07

    第8章  数据 输入垃圾,输出垃圾:如果使用的输入变量质量不好,得到的结果也不会好. 数据的重要性     通常来说,模型的很多细节都是由所使用的输入变量的特征决定的.     准确信息输入正确模型的 ...

最新文章

  1. 电动三轮司机被撞身亡担主责 警方书面回应家属质疑
  2. 【计算理论】计算复杂性 ( 多项式等价 | P 类 | 丘奇-图灵论题延伸 )
  3. Shell 显示带颜色字体
  4. 卸载注册表_系统小技巧:软件卸载不了?这里办法多
  5. GDCM:处理JAI-JPEGLS错误的测试程序
  6. 牧马人鼠标g13鼠标宏_达尔优第五代牧马人EM915游戏鼠标评测
  7. 计算机网络2020秋--第四次测验
  8. MVC使用jQuery从视图向控制器传递Model的2种方法
  9. 用代码来模拟铁路售票系统,实现通过四个售票点发售某日某次列车的100张车票,一个售票点用一个线程表示
  10. JAVA项目管理ppt_【干货】超实用项目管理ppt项目管理ppt
  11. 数字图像处理--噪声
  12. Apeaksoft iOS Toolkit for Mac(iOS设备数据恢复软件)
  13. 港口门机风速信息GPRS采集系统
  14. 树莓派c语言编程点亮灯,树莓派点灯程序
  15. 人工神经网络的工作原理,神经网络的基本原理
  16. pytorch 图像分割DeepLabv3+ 训练自己的数据
  17. 校园IPTV数字电视教学直播系统在淮安生态文旅区实验小学的应用
  18. 有道词典提示您的网络暂时不可用或受限,请检查您的网络设置
  19. 天津二级计算机考试地点,2016年9月天津计算机一级二级三级四级考点地址电话...
  20. MYSQL - 计算行数

热门文章

  1. Visual Studio使用ILDasm反汇编工具查看托管模块
  2. 人大金仓数据库 Windows安装教程 -kingbase8R6
  3. ct扫描方式有哪些_日联科技x-ray:工业CT是怎么进行X射线的断层扫描的
  4. 小鹏G3/G3i/P7/P5维修手册电路图用户手册维修诊断拆装技术资料
  5. 【STM32F407F429H7的DSP教程】第34章 滤波器基础知识
  6. yolov5火焰检测
  7. 如何使用雅虎相册在陶宝网增加宝贝描述图片(转)
  8. 时间序列计量经济学模型
  9. 储油罐的变位识别与罐容表标定
  10. 关于采用消息钩子机制的透明加密的简单破解