新書推薦:
《
元朝理财记 从成吉思汗的崛起到元朝的衰亡
》
售價:HK$
98.6
《
欧洲史:一本书历览欧洲数千年兴衰起伏,理解欧洲文明何以铸就今日世界
》
售價:HK$
333.8
《
趣学CCNA——路由与交换(第2版)
》
售價:HK$
100.6
《
世界航空地理(世界国别与区域地理研究丛书)
》
售價:HK$
244.2
《
学术的中心:英法德美
》
售價:HK$
87.4
《
为什么要读人类学
》
售價:HK$
77.3
《
井邑无衣冠 : 地方视野下的唐代精英与社会
》
售價:HK$
95.2
《
星地融合移动通信系统与关键技术从5G NTN到6G的卫星互联网发展
》
售價:HK$
212.6
|
編輯推薦: |
★简明性 在完整论述量化系统与策略理论的同时,结合技术发展的热点,通过引入有限的复杂公式阐述量化交易策略的思想与方法,大量交易策略示例代码与详细的注释旨在降低读者的学习复杂度,帮助读者快速理解与上手。
★连贯性 章节间的内容连贯性强,由浅入深地介绍不同知识结构体系,适合于不同基础的读者阅读学习,构建的知识体系具有前后关联与衔接性。
★ 实用性 介绍的编程与金融基础知识可以灵活地应用于其他领域,鼓励读者使用本书介绍的知识构建自用的量化交易系统。
|
內容簡介: |
本书就Python基础知识和交易策略的基本原理为切入点,由浅入深介绍了如何从零基础使用vn.py搭建自己交易系统。本书从原理着手到代码实践,内容由最基本的Python基础知识与Python中金融分析的常用包,逐步由浅入深介绍常用的指标并将使用vn.py进行实现。 本书共分为8章,第1章与第2章介绍vn.py的环境搭建与Python常用的工具包,为后面使用vn.py实现交易策略做准备;第3章与第4章介绍vn.py框架和量化交易的基础知识;第5章到第7章从易到难介绍不同的交易策略并配合大量的实例讲解,进一步巩固vn.py代码的使用,第8章讲解如何在实盘中运行交易策略。 本书面向零基础的新手和有一定计算机与金融知识基础的读者,以通俗易懂的语言和示例阐述量化交易的实现原理,适于对于量化交易有兴趣的读者。带有详细注释的代码将帮助读者进一步理解vn.py的框架和交易策略。
|
關於作者: |
欧阳鹏程,西安交通大学工学硕士,曾代表西安交通大学参加第一届浦发百度智慧金融极客挑战赛,获全国三等奖,研究方向为人工智能在视觉方向的应用与数据增强。曾于三六零安全科技股份有限公司与华为技术有限公司诺亚方舟实验室实习,现从事量化研究与开发相关工作。已出版图书《TensorFlow计算机视觉原理与实战》。
|
目錄:
|
本书源码
第1章 简介 1
1.1 量化交易的概念 1
1.1.1 趋势性交易 2
1.1.2 市场中性交易 3
1.1.3 高频交易 4
1.2 量化交易的历史 5
1.3 量化交易的工具 6
1.3.1 基于Web端的工具 6
1.3.2 本地离线的工具 9
1.4 vn.py的优势 10
1.5 vn.py的安装与环境配置 11
1.5.1 VeighNa Studio安装 11
1.5.2 手动安装 14
1.6 小结 22
第2章 常用的Python数据包 23
2.1 NumPy的使用 23
2.1.1 NumPy中的数据类型 23
2.1.2 NumPy中数组的使用 23
2.2 Matplotlib的使用 30
2.2.1 Matplotlib中的相关概念 30
2.2.2 使用Matplotlib绘图 30
2.3 Pandas的使用 41
2.3.1 Pandas中的数据结构 41
2.3.2 使用Pandas读取数据 42
2.3.3 使用Pandas处理数据 44
2.4 SciPy的使用 47
2.4.1 使用SciPy写入mat文件 47
2.4.2 使用SciPy读取mat文件 48
2.5 scikit-learn的使用 48
2.5.1 使用scikit-learn进行回归 49
2.5.2 使用scikit-learn进行分类 52
2.6 Pillow的使用 57
2.6.1 使用Pillow读取并显示图像 57
2.6.2 使用Pillow处理图像 58
2.7 OpenCV的使用 69
2.7.1 使用OpenCV读取与显示图像 70
2.7.2 使用OpenCV处理图像 71
2.8 collections的使用 76
2.8.1 namedtuple 76
2.8.2 Counter 77
2.8.3 OrderedDict 77
2.8.4 defaultdict 78
2.9 typing的使用 78
2.9.1 标准数据类型标识 79
2.9.2 collections中的数据类型标识 81
2.9.3 其他常用标识 82
2.10 argparse的使用 83
2.10.1 argparse的使用框架 83
2.10.2 使用argparse解析命令行参数 84
2.11 JSON的使用 86
2.11.1 使用JSON写入数据 86
2.11.2 使用JSON读取数据 87
2.12 TA-Lib的使用 88
2.12.1 技术指标 88
2.12.2 模式识别 90
2.13 Tushare的使用 91
2.14 Orange的使用 93
2.14.1 Orange中的示例 94
2.14.2 创建自己的工作流 97
2.15 Optunity的使用 99
2.16 Optuna的使用 100
2.17 小结 101
第3章 vn.py基础 102
3.1 vn.py的整体架构 102
3.1.1 底层接口 102
3.1.2 中层引擎 103
3.1.3 上层应用 106
3.2 vn.py文件中的交易接口 106
3.2.1 CTP接口 106
3.2.2 UFT接口 115
3.3 vn.py文件中的数据库 116
3.4 vn.py文件中的回测模块 125
3.5 vn.py文件中的自动交易模块 128
3.6 vn.py文件中的实盘行情记录模块 129
3.7 vn.py文件中的历史数据管理模块 130
3.8 vn.py文件中的实时K线图表模块 132
3.9 vn.py文件中的投资组合管理模块 132
3.10 vn.py文件中的事前风控管理模块 133
3.11 vn.py文件中的本地仿真交易模块 134
3.12 vn.py文件中的算法委托执行交易模块 135
3.13 vn.py文件中的多合约组合策略模块 137
3.14 vn.py文件中的多合约价差组合套利模块 137
3.15 小结 138
第4章 量化交易的基础知识 139
4.1 交易策略 139
4.2 仓位与资金管理 139
4.2.1 固定仓位/资金管理策略 140
4.2.2 漏斗形管理策略 141
4.2.3 金字塔形策略 142
4.2.4 马丁策略 143
4.2.5 反马丁策略 144
4.2.6 凯利公式 144
4.3 事前风控 145
4.4 事中风控 145
4.5 事后风控 145
4.6 小结 146
第5章 基于指标的交易策略 147
5.1 交易策略框架 147
5.2 双均线交易策略 150
5.3 KDJ交易策略 158
5.4 MACD交易策略 164
5.5 BIAS交易策略 169
5.6 布林带交易策略 174
5.7 ATR交易策略 179
5.8 ADX交易策略 183
5.9 Dual Thrust交易策略 188
5.10 AR交易策略 193
5.11 EMD交易策略 197
5.12 均线排列交易策略 203
5.13 R-Breaker交易策略 208
5.14 超级趋势交易策略 212
5.15 布林海盗交易策略 217
5.16 Hans123交易策略 221
5.17 海龟交易策略 227
5.18 海龟汤交易策略 233
5.19 网格交易策略 237
5.20 CMO交易策略 241
5.21 小结 245
第6章 基于模型的交易策略 246
6.1 基于ARMA模型的交易策略 246
6.2 基于ARIMA模型的交易策略 254
6.3 基于SARIMA模型的交易策略 261
6.4 基于SVM的交易策略 267
6.5 基于计算机视觉的交易策略 271
6.6 小结 286
第7章 交易策略的集成 287
7.1 策略集成的方法 287
7.2 基于分类模型集成交易策略 288
7.3 基于回归模型集成交易策略 299
7.4 小结 304
第8章 实盘交易 305
8.1 实盘交易与回测的区别 305
8.2 准备工作 306
8.3 运行策略 310
8.3.1 基于tick数据的实盘策略 310
8.3.2 基于分钟K线数据的实盘策略 317
8.4 小结 323
IV
V
|
內容試閱:
|
随着计算机软硬件的高速发展,从前基于纸面的低效率的证券、期货交易逐渐发展成为电子化交易,如今人们在计算机或者手机上就能方便地进行交易。与此同时,一种利用高性能计算机的自动化交易技术也随之发展,它就是量化交易。量化交易最初在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月
II
III
|
|