前言 PREFACE

随着计算机软硬件的高速发展,从前基于纸面的低效率的证券、期货交易逐渐发展成为电子化交易,如今人们在计算机或者手机上就能方便地进行交易。与此同时,一种利用高性能计算机的自动化交易技术也随之发展,它就是量化交易。量化交易最初在20世纪初产生于国外,由法国数学家Louis Bachelier发表的博士论文《投机理论》开始,逐渐发展到20世纪30年代两位哥伦比亚大学教授Benjamin Graham和David Dodd出版了著名的《证券分析》,再到20世纪50年代,美国经济学家Harry Markowitz提出了现代投资组合理论,为投资组合优化奠定了数学基础,这些前人的工作都为此后量化投资交易的发展奠定了基础。

进入21世纪后,国内的量化投资也逐步开始发展,并且随着国内互联网金融行业的快速发展,许多优秀的量化平台与开源框架相继涌现,为普通投资者研究量化交易大大降低了门槛。

量化交易是指以数学模型替代人为的主观判断并借助计算机技术制定策略进行交易,极大地减少了投资者情绪波动的影响,避免在市场极度狂热或悲观的情况下做出非理性的投资决策,因此普通投资者想要进行量化投资交易需要具备多方面的知识,例如数学、金融、计算机知识缺一不可,同时不同学科知识之间的相互交叉应用也是必不可少的,这也造成量化交易相关从业门槛较高。

本书面向所有想要学习量化交易相关知识的读者,无论是零基础或是有一定基础的学生或职场人都适用。由于本书以量化交易为主题,不会介绍过多的编程基础内容与金融知识,因此读者需要具有一定的Python编程基础,最好具有简单的金融相关知识。本书以国内优秀的程序化交易框架vn.py为依托对量化交易的基础知识与编程方法进行介绍,目前vn.py的最新版已更新至3.x版,其相对于前面的版本做了模块化的封装,对于模块功能有一个更加清晰的划分。本书采用的vn.py版本为3.3.0,相应的Python版本为3.10。

本书的前两章主要为零基础的读者设计,第1章引导读者在Windows操作系统下以不同的方式配置vn.py所需的编程环境,分别提供了为编程读者准备的VeighNa Studio安装方案和为有一定编程基础的原生Python环境安装方案;第2章为读者介绍一些常用的Python编程工具包,这些工具不仅在之后的章节中会用到,在读者平时进行Python编程的过程中也十分有帮助,有相关使用经验的读者可以选读该章;第3章为vn.py零基础的读者设计,对vn.py文件中的设计理念与常用模块进行了介绍,例如vn.py的整体架构,如何使用vn.py进行本地回测,如何使用vn.py执行实盘交易,等等,为后面章节交易策略的编写和实盘交易做准备,同时也为需要开发自用量化交易系统的读者提供思路;第4章的内容更加偏重理论性,从零开始介绍量化交易中的一些重要概念,包括交易策略的概念、仓位/资金管理与风险控制等内容,这些是一个完整的交易策略不可缺少的组成部分;第5章介绍的是基于启发式规则的交易策略,每个交易策略从设计理念到计算方式再到代码实现均有涉及,并以vn.py的回测功能为载体执行策略并进行参数优化;第6章则以数学模型为分析基础进行量化交易策略的开发,读者会发现由经典的时序分析模型ARMA到基于计算机视觉的方法都可以用于量化交易,希望本章能启发读者在设计量化交易策略时运用不同领域的知识与方法,不必局限应用场景;第7章介绍集成不同的交易策略的方法,分别以基于分类与基于回归的方法介绍策略的集成方法,使交易策略更加稳健;第8章则在实盘行情与模拟下单账号的前提下使用vn.py执行交易策略,本章介绍的内容是最终将交易策略应用于真实资金的必需步骤。

本书内容连贯,每个章节的内容都会用到前面章节介绍过的知识,希望能最大限度地保证读者学习的连贯性,同时本书将晦涩难懂的数学公式减到最少,仅保留说明交易策略信号计算方法的必要公式,尽力用平实的语言与图示帮助读者更好地理解内容。相信读者读完本书后会对量化交易有一个更清晰的理解,希望本书能成为每位读者进入量化交易领域的金钥匙。

资源下载提示

素材(源码)等资源:扫描付费二维码下载。

视频等资源:扫描付费二维码,可以在线学习。

投资涉及风险。本书所有代码与示例仅限于教育用途,并不代表任何投资建议。本书不代表将来的交易会产生与示例同样的回报或亏损。

投资者在做出交易决策之前必须评估风险,确认自身可以承受风险方可投资。

欧阳鹏程

2023年8月