量化投资的哲学之学习笔记

本贴最后更新于 2007 天前,其中的信息可能已经事过景迁

知乎牛人总结的精华,记录在此。

  • 量化投资的哲学基础 0:不懂哲学的程序员不是好投资经理
  • https://zhuanlan.zhihu.com/p/37333831
  • 投资有三个境界:交易,策略和投资哲学。
    • 交易就是在什么时间买卖哪只股票。
      • 好交易能够帮你赚钱。
    • 策略就是一套交易的逻辑和规则。简单讲,就是怎么在几千只股票中选到茅台和乐视。
      • 好策略指导你做赚钱的交易。
      • 采用价值投资策略的老师,关心市盈率市净率,关心公司盈利有没有护城河;
      • 采用技术分析策略的老师,关心技术指标发出了什么信号,关心技术形态是否好看;
      • 采用机器学习策略的老师,关心算法是否高逼格,特征是否好又多。
    • 投资哲学就是在回答什么是好策略。有了自己的投资哲学,才知道自己应该采用什么策略。
      • 正确的投资哲学帮你找到好策略。
  • 知识可分为两类:
    • 逻辑体系型的
      • 需要思考,把各种概念连起来,或归纳,或演绎,最后,在大脑中形成一种逻辑网状结构。比如可计算理论,分布式系统,解释器等。
      • 基本概念和之间的联系
      • 多因子
    • 使用操作型的
      • 基本不需要思考,只需要看一下目录,要用的时候参考一下手册即可。比如 linux 的各种命令,go,python 的一些奇怪语法,elastic-search dsl 的使用。
      • 比如各种常用策略和使用场景,需要先记录下来
  • 量化投资的哲学基础 1:量化投资不是“量化”投资
  • https://zhuanlan.zhihu.com/p/29375085
  • 量化投资不是“量化”投资
  • 量化投资,字面上解释,就是用数量化的方法进行投资。关键词在“量化”。
  • 在外人看来,量化投资就是一群具有数理教育背景的人,用电脑程序分析大量的数据,建立数学模型,并根据数据进行投资。量化投资人还特别喜欢在展示业绩的时候,用到大量的风险收益指标:Sharpe Ratio 和 Max Draw Down Duration 等等。
  • 然而,我只需要以的三个投资策略为例,就能证明量化投资的本质并非“量化”:
  • 例 1:数量化的量化策略:买入过去一个月涨跌幅最小的 20 只股票并持有一个月。
  • 例 2:非数量化的量化策略:当公司发出回购公司股票的公告时,买入并持有这只股票 2 天。
  • 例 3:数量化的非量化策略:判断螺纹钢期货走出第 3 浪时,买入螺纹钢期货。
  • 通过上面三个例子,我们能够发现,量化策略似乎不必然用到数量,比如例 2。而一些用到数量的策略通常不被认为是量化投资,比如例 3。
  • 量化投资的模型做出的解释和预测是可以检验的。
  • 科学哲学是关于科学的基础,方法和含义哲学分支。这门学问的核心问题包括科学的标准,科学理论的可靠性和科学的终极目的。
  • 量化投资同样依赖这些哲学原则:
    • 本体论:世界不依赖心智。量化投资不影响市场。历史测试就是假设你在历史上交易并统计交易结果。如果量化投资会影响市场,那么历史测试就是不准确的。这也就是量化投资容易受到资金规模限制的原因。因为资金规模一大,就不可避免的影响市场,导致历史测试和实际交易存在差异。
    • 本体论:不存在超自然的世界。当然不是神在操纵市场。
    • 本体论:世界按照规律运行。市场按照规律运行。如果假设市场的运行都是巧合。那么经过历史测试的模型将不能外推到未来。
    • 本体论:原因优先于结果。显而易见,量化投资模型假设模型的条件先发生,市场的波动后发生。否则,市场运行优先于条件,那么再依据条件去交易就迟了。
    • 本体论:无不能生有。市场的运行都是有原因的。不会凭空出现某个市场现象或者影响市场的因素。这个市场现象和影响因素也不会凭空消失。否则,历史测试又不能外推到未来了。
    • 本体论:精神不能直接作用于物质。量化投资者的想法不会直接影响市场。这个是显而易见的。
    • 认识论:可观察之物可知。可以通过观察市场获得知识。
    • 认识论:不可观察之物可知。通过历史测试的模型可以,不是必然可以,外推到未来。
    • 方法论:奥卡姆剃刀。量化模型追求简洁。如无必要,勿增实体。
    • 方法论:可错论。量化模型是可以是错误的。因此量化模型才是可以比较,修正和否定的。
  • 量化投资的哲学基础 2:笛卡尔说,股票多因子模型是个好框架
  • https://zhuanlan.zhihu.com/p/30132661
  • 提出问题
  • 首先定义交易的对象。如果对象是螺纹钢,通常这是一个 CTA 策略。如果对象是黄金和白银期货的价差,那么这是一个套利策略。如果是对象是股票和股指期货的价差,那么这是一个 Alpha 策略。如果是上证 50ETF 的波动率,那么这个一个期权策略。
  • 其次定义交易的时间。典型的高频策略的持仓时间很短,甚至短于一秒。典型的日内 CTA 策略和股票 T+0 策略的持仓时间在几分钟到几个小时。典型的股票 Alpha 策略的持仓时间为几周到一个月。
  • 怎样去构建模型?怎样去寻找模型输入?怎样去构建模型输入?应该采取什么样的研究顺序?应该注意哪些事项?这些问题才是难点。
  • 提出解决框架
  • 笛卡尔和《谈谈方法论》
  • 获得知识的方法四条箴言广为流传:
    • 绝不接受任何我没有确认为真的事物。
    • 把每一个难题拆分为尽量多的部分,直到可能充分解决难题为止。
    • 执行思考时,从最简单和最容易了解的对象开始,然后一点点上升到更复杂的知识,即便不是按照对象的时间先后顺序。
    • 列举要完整,检验要普遍,直到我确信没有遗漏。
  • 股票多因子模型-其实目前的评级模型也是多因子模型
  • 量化投资的哲学基础 3:休谟说,量化投资模型都是过度优化
  • https://zhuanlan.zhihu.com/p/30543252
  • 知识从哪里来?最传统的方法就是演绎(Deduction)和归纳(Induction)
  • 演绎推理,从陈述(前提)到逻辑上确定的结论的推理过程。
  • 套利策略是最典型的通过演绎得到的量化策略:关于衍生品的期现套利和跨期套利、从 Put Call Parity 推导出来的看涨期权和看跌期权套利、ETF 套利和分级基金套利等等。
  • 这类策略的特点有几点:1. 策略都是教科书式的,因为众所周知。2. 策略的收益在建仓时就已经锁定了,也就是演绎推理的“确定”的结论。3. 因此,这类策略的获利能力取决于市场犯了多少的错误。随着市场更加理性,套利策略逐渐演变成 IT 的军备竞赛,策略收益很难持续。
  • 归纳是从特例到总体的不受限制的概括推理。归纳推理中,前提并不保证结论。
  • 在量化投资领域,绝大多数的模型都是通过归纳得出的。
  • 技术分析相关的因子完全依赖于归纳,而基本面分析中归纳也是最关键步骤。
  • FF 模型发现小市值股票的预期收益率高于大市值的股票,低估值的股票的预期收益率高于高估值的股票,这两个因素无法用市场因子来解释。因此股票价格受到市场,市值和估值三个因素的影响。FF 模型没有为后续因子的发现给出任何限定。FF 模型纯粹是“归纳”出的模型。
  • 对演绎的依赖最小和对归纳依赖最大的 FF 模型无论在学术界还是业界都获得了成功,成为量化投资和股票多因子模型最重要的源头。
  • 归纳方法存在一个致命问题:过度优化
  • 休谟问题。哪怕数据足够充分,哪怕模型很好地适应了全部数据,归纳出的知识是无法保证可以外推的。
  • 量化投资的哲学基础 4:科学哲学家告诉你怎样避免过度优化
  • https://zhuanlan.zhihu.com/p/30940020
  • 在量化投资领域中,任何人都想追求高收益,低风险和大资金容量的策略。但是任何一个策略只可能满足其中两条:高频策略通常资金容量小;Alpha 策略通常收益率低;CTA 策略通常风险大。在给定的资金容量下,一个“聪明”的策略可能可以在一个“愚蠢”的市场中获得较高的风险收益比。但是,总会有力量能够把一个策略的风险收益比拉回平均水平。交易的“圣杯”是不存在的。
  • 孔德的思想启示我们,放弃追求过高的风险收益比,就能够帮助我们避免过度优化。
  • 波普尔的思想启示我们,多多开发策略,淘汰掉不赚钱的,使用还能赚钱的,然后继续多多开发策略。
  • 那么 Abduction 直接引出了下一个问题,既然多个猜想都能解释现象,那么什么样的解释是最有可能的?或者说,什么样的理论最有可能是正确的?
  • 一个好理论通常满足以下四个条件:
    • 有内在机制支撑的理论是更好理论。
    • 在很多领域都有效的理论是更好的理论。
    • 能够定量解释的理论比定性解释的理论更好。技术指标是典型的定性分析理论。通常给出多空两个状态,或者多、空和空仓三个状态。而多因子 alpha 模型是典型的定量分析理论,能够计算出来每只股票的 alpha 值。尽管很难有因子 20 个 buckets 的状态下仍然保持线性关系,但是仍然比技术指标的 3 个状态进步很多了。
    • 一个简单的理论比复杂的理论更好。以多元线性回归为基础的多因子模型其实就是一个非常简单的模型。举几个例子,首先,线性回归模型假设自变量和因变量之间是线性关系。线性关系是拟合问题中最简单的模型的,稍微复杂一点的模型有抛物线和三角函数等。其次,一个传统的多因子模型会通过多种办法将成百上千的因子缩减到几个因子,即假设几个因子可以解释因变量。最后,线性回归模型假设因子之间没有相关性。否则,一旦要考虑因子间的相关性,模型的复杂度就会朝着几何倍数发展。
  • 量化投资的哲学基础 5:根据 Abduction 理论挑选机器学习模型
  • https://zhuanlan.zhihu.com/p/37867708
  • 本文会比较以下三个最最简单的算法:KNN,ID3,OLS。
  • 选用以上三个算法,主要是因为简单的算法更方便读者看清楚本质。
  • KNN, K Nearest Neighbors, K 近邻法是最简单的机器学习算法。
  • 决策树是和 KNN 并列的最简单的机器学习算法。ID3 又是决策树中最简单的一种。
  • OLS,最小二乘法,是被研究地最透彻的统计方法。OLS 是最传统的统计方法,通常被视作机器学习算法的对立面。
  • 我推荐一个相对完美的算法——GBDT(Gradient Boosting Decision Tree)。
  • 一个极简的 GBDT 的算法的思路如下:首先选出对标签最有解释力的特征,做回归,然后求得残差。然而选出对残差最有解释力的特征,做回归,然后求得残差。然后继续迭代。具体算法,读者可以自行百度。

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖 • 2 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 638 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 21 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    534 引用 • 671 回帖
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 635 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖 • 56 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 32 关注
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    45 引用 • 113 回帖 • 321 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖 • 2 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    16 引用 • 68 回帖
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    139 引用 • 441 回帖
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 591 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 285 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    189 引用 • 1056 回帖
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用 • 3 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    57 引用 • 22 回帖
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    330 引用 • 614 回帖
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 506 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    148 引用 • 257 回帖 • 1 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    180 引用 • 400 回帖
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖 • 1 关注
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 429 关注
  • CodeMirror
    1 引用 • 2 回帖 • 109 关注