- 商家货号:T001280153
- ISBN:9787121370908
- 出版日期:2019-08-01
- 页码:0
- 字数:0
- 装帧:
- 开本:
- 版次:
编辑推荐 |
|||
"实用性:本书首先着眼于量化实战应用,然后探讨深层次的技巧问题。 详尽的例子:投资者反复练习,举一反三,就可以真正掌握操盘技巧,从而学以致用。 形象生动,图文并茂:采用了大量的图表、图形,展现量化交易的所有知识。 "
|
|||
内容简介 |
|||
本书首先讲解量化交易的基础知识,即量化交易的定义、历史、主要内容及与传统交易的区别、JoinQuant(聚宽)量化交易平台;然后讲解量化交易开发语言Python,即讲解Python语言的开发环境、基本语法、基本流程控制、特征数据类型、函数及应用、面向对象程序设计;接着讲解如何利用Python语言编写量化策略、如何回测、编写量化策略所需要常用函数、因子分析、量化交易策略实例;最后讲解量化选股的技巧、量化择时的技巧及算法交易。在讲解过程中即考虑读者的学习习惯,又通过具体实例剖析讲解量化实际交易过程中的热点问题、关键问题及种种难题。
|
|||
作者简介 |
|||
|
|||
目录 |
|||
目 录 第1章 量化交易概述 1 1.1 初识量化交易 2 1.1.1 什么是量化交易 2 1.1.2 量化交易与算法交易 2 1.1.3 量化交易与程序化交易 2 1.1.4 量化交易与技术分析 3 1.1.5 量化交易与人工交易 3 1.1.6 为什么要学习量化交易 4 1.2 量化交易的特点 5 1.3 量化交易的应用 6 1.3.1 投资品种选择 7 1.3.2 投资时机选择 7 1.3.3 算法交易 7 1.3.4 各种套利交易 9 1.3.5 资产配置 10 1.4 量化交易的故事 11 1.4.1 朱尔斯·雷格纳特的量化交易故事 11 1.4.2 爱德华·索普的量化交易故事 12 1.4.3 詹姆斯·西蒙斯的量化交易故事 13 1.5 量化交易的历史 14 1.5.1 国外量化交易的历史 14 1.5.2 国内量化交易的历史 15 1.6 量化交易的注意事项 15 第2章 量化交易平台 17 2.1 初识JoinQuant聚宽量化交易平台 18 2.2 量化交易平台的功能 18 2.2.1 高质量数据和强大的研究平台 18 2.2.2 很好回测体验和很好模拟交易 19 2.3 账户的注册、登录及量化交易策略的创建 19 2.3.1 量化交易平台账户的注册 19 2.3.2 量化交易平台账户的登录 20 2.3.3 量化交易策略的创建 22 2.4 量化交易策略的选股技巧 24 2.4.1 量化选股的基本设置 24 2.4.2 选股指标 27 2.5 量化交易策略的买卖条件模型 31 2.5.1 轮动模型 32 2.5.2 择时模型 33 2.6 量化交易策略的风险控制技巧 35 2.6.1 止盈、止损指标 35 2.6.2 其他指标 36 2.7 量化交易策略的其他参数设置技巧 36 2.8 编写Python代码来创建量化交易策略 38 2.9 量化交易策略的回测 39 2.10 量化交易策略的模拟交易 41 2.10.1 新建模拟交易并运行 41 2.10.2 查看模拟交易 42 2.10.3 绑定微信 45 2.11 量化交易策略的实盘交易 46 第3章 Python开发环境及编程基础 49 3.1 初识Python 50 3.1.1 Python的发展历程 50 3.1.2 Python的特点 50 3.2 Python开发环境及配置 51 3.2.1 Python的下载和安装 51 3.2.2 Python的环境变量配置 53 3.3 Python程序的编写 57 3.4 利用量化交易平台编写Python程序 61 3.4.1 初识IPython Notebook研究平台 62 3.4.2 利用IPython Notebook编写Python程序 66 3.5 Python的基本数据类型 67 3.5.1 数值类型 67 3.5.2 字符串 69 3.6 Python的变量与赋值 73 3.6.1 变量命名规则 73 3.6.2 变量的赋值 74 3.7 Python的基本运算 74 3.7.1 算术运算 75 3.7.2 赋值运算 76 3.7.3 位运算 77 3.8 Python的代码格式 78 3.8.1 代码缩进 78 3.8.2 代码注释 79 3.8.3 空行 80 3.8.4 同一行显示多条语句 80 第4章 Python流程控制与特征数据类型 81 4.1 Python的选择结构 82 4.1.1 关系运算 82 4.1.2 逻辑运算 83 4.1.3 if语句 84 4.1.4 嵌套if语句 86 4.2 Python的循环结构 87 4.2.1 while循环 87 4.2.2 while循环使用else语句 88 4.2.3 无限循环 89 4.2.4 for循环 90 4.2.5 在for循环中使用range()函数 90 4.2.6 break语句 92 4.2.7 continue语句 92 4.2.8 pass语句 93 4.3 Python的特征数据类型 94 4.3.1 列表 94 4.3.2 元组 97 4.3.3 字典 99 4.3.4 集合 100 第5章 Python函数与面向对象 104 5.1 Python内置函数 105 5.1.1 数学函数 105 5.1.2 随机数函数 106 5.1.3 三角函数 108 5.1.4 字符串函数 110 5.2 用户自定义函数 113 5.2.1 自定义函数的定义 113 5.2.2 调用自定义函数 114 5.2.3 函数的参数传递 116 5.2.4 函数的参数类型 118 5.2.5 匿名函数 123 5.3 Python的面向对象 123 5.3.1 面向对象概念 124 5.3.2 类与实例 124 5.3.3 模块的引用 127 5.3.4 包 127 5.4 变量作用域及类型 130 5.4.1 变量作用域 130 5.4.2 全局变量和局部变量 131 5.4.3 global和nonlocal关键字 132 第6章 Python量化交易策略的常用库 135 6.1 Numpy库 136 6.1.1 ndarray数组基础 136 6.1.2 Numpy的矩阵对象 148 6.2 Pandas库 149 6.2.1 一维数组Series 149 6.2.2 二维数组DataFrame 150 6.2.3 三维数组Panel 160 第7章 Python量化交易策略的常用函数与对象 163 7.1 Python量化交易策略的一般结构 164 7.1.1 初始化函数 165 7.1.2 开盘前运行函数 166 7.1.3 开盘时运行函数 166 7.1.4 收盘后运行函数 167 7.2 Python量化交易策略的设置函数 167 7.2.1 设置基准函数 168 7.2.2 设置佣金/印花税函数 168 7.2.3 设置滑点函数 169 7.2.4 设置动态复权(真实价格)模式函数 170 7.2.5 设置成交量比例函数 170 7.2.6 设置是否开启盘口撮合模式函数 171 7.2.7 设置要操作的股票池函数 171 7.3 Python量化交易策略的定时函数 171 7.3.1 定时函数的定义及分类 172 7.3.2 定时函数各项参数的意义 172 7.3.3 定时函数的注意事项 173 7.3.4 定时函数的实例 174 7.4 Python量化交易策略的下单函数 174 7.4.1 按股数下单函数 174 7.4.2 目标股数下单函数 175 7.4.3 按价值下单函数 175 7.4.4 目标价值下单函数 176 7.4.5 撤单函数 176 7.4.6 获取未完成订单函数 177 7.4.7 获取订单信息函数 177 7.4.8 获取成交信息函数 178 7.5 Python量化交易策略的日志log 178 7.5.1 设定log级别 178 7.5.2 log.info 179 7.6 Python量化交易策略的常用对象 179 7.6.1 Order对象 179 7.6.2 全局对象g 180 7.6.3 Trade对象 180 7.6.4 tick对象 180 7.6.5 Context对象 181 7.6.6 Position对象 182 7.6.7 SubPortfolio对象 183 7.6.8 Portfolio对象 184 7.6.9 SecurityUnitData对象 184 第8章 Python量化交易策略的获取数据函数运用技巧 186 8.1 history()函数的运用技巧 187 8.1.1 各项参数的意义 187 8.1.2 history()函数的应用实例 188 8.2 attribute_history ()函数的运用技巧 191 8.3 get_fundamentals ()函数的运用技巧 192 8.3.1 各项参数的意义 192 8.3.2 get_fundamentals ()函数的应用实例 193 8.4 get_fundamentals_continuously ()函数的运用技巧 198 8.5 get_current_data ()函数的运用技巧 199 8.6 get_index_stocks ()函数的运用技巧 200 8.6.1 各项参数的意义 200 8.6.2 get_index_stocks ()函数的应用实例 201 8.7 get_industry_stocks()函数的运用技巧 202 8.8 get_concept_stocks ()函数的运用技巧 203 8.9 get_all_securities()函数的运用技巧 205 8.9.1 各项参数的意义 205 8.9.2 get_all_securities()函数的应用实例 206 8.10 get_security_info ()函数的运用技巧 207 8.11 get_billboard_list ()函数的运用技巧 208 8.11.1 各项参数的意义 208 8.11.2 get_billboard_list()函数的应用实例 209 8.12 get_locked_shares ()函数的运用技巧 210 第9章 Python量化交易策略的基本面选股技巧 211 9.1 量化选股概述 212 9.2 成长类因子选股技巧 212 9.2.1 营业收入同比增长率选股技巧 212 9.2.2 营业收入环比增长率选股技巧 214 9.2.3 净利润同比增长率选股技巧 215 9.2.4 净利润环比增长率选股技巧 216 9.2.5 营业利润率选股技巧 217 9.2.6 销售净利率选股技巧 217 9.2.7 销售毛利率选股技巧 218 9.3 规模类因子选股技巧 220 9.3.1 总市值选股技巧 220 9.3.2 流通市值选股技巧 221 9.3.3 总股本选股技巧 222 9.3.4 流通股本选股技巧 222 9.4 价值类因子选股技巧 223 9.4.1 市净率选股技巧 223 9.4.2 市销率选股技巧 224 9.4.3 市现率选股技巧 225 9.4.4 动态市盈率选股技巧 226 9.4.5 静态市盈率选股技巧 227 9.5 质量类因子选股技巧 228 9.5.1 净资产收益率选股技巧 228 9.5.2 总资产净利率选股技巧 229 9.6 基本面多因子量化选股 230 第10章 Python量化交易策略的技术指标函数运用技巧 232 10.1 量化择时概述 233 10.2 趋向指标函数运用技巧 234 10.2.1 MACD指标函数 234 10.2.2 EMV指标函数 235 10.2.3 UOS指标函数 237 10.2.4 GDX指标函数 238 10.2.5 DMA指标函数 239 10.2.6 JS指标函数 240 10.2.7 MA指标函数 241 10.2.8 EXPMA指标函数 242 10.2.9 VMA指标函数 243 10.3 反趋向指标函数运用技巧 245 10.3.1 KD指标函数 245 10.3.2 MFI指标函数 246 10.3.3 RSI指标函数 247 10.3.4 OSC指标函数 248 10.3.5 WR指标函数 249 10.3.6 CCI指标函数 250 10.4 压力支撑指标函数运用技巧 251 10.4.1 BOLL指标函数 251 10.4.2 MIKE指标函数 253 10.4.3 XS指标函数 254 10.5 量价指标函数运用技巧 256 10.5.1 OBV指标函数 256 10.5.2 VOL指标函数 257 10.5.3 VR指标函数 258 10.5.4 MASS指标函数 259 第11章 Python量化交易策略的回测方法与技巧 261 11.1 量化交易策略回测的流程 262 11.2 利用Python编写MACD指标量化交易策略 262 11.2.1 量化交易策略的编辑页面 262 11.2.2 编写初始化函数 265 11.2.3 编写单位时间调用的函数 265 11.3 设置MACD指标量化交易策略的回测参数 266 11.4 MACD指标量化交易策略的回测详情 269 11.5 MACD指标量化交易策略的风险指标 272 11.5.1 Alpha(阿尔法) 272 11.5.2 Beta(贝塔) 273 11.5.3 Sharpe(夏普比率) 274 11.5.4 Sortino(索提诺比率) 275 11.5.5 Information Ratio(信息比率) 276 11.5.6 Volatility(策略波动率) 277 11.5.7 Benchmark Volatility(基准波动率) 278 11.5.8 Max Drawdown(优选回撤) 279 第12章 Python量化交易策略的机器算法运用技巧 280 12.1 随机森林在量化交易中的运用技巧 281 12.1.1 随机森林的构建 281 12.1.2 随机森林的优缺点 281 12.1.3 随机森林在量化交易中的运用实例 282 12.2 支持向量机(SVM)在量化交易中的运用技巧 284 12.2.1 什么是支持向量机(SVM) 285 12.2.2 支持向量机(SVM)的工作原理 285 12.2.3 核函数 287 12.2.4 支持向量机(SVM)的优点 288 12.2.5 支持向量机(SVM)的缺点 288 12.2.6 支持向量机(SVM)在量化交易中的运用实例 289 12.3 朴素贝叶斯在量化交易中的运用技巧 292 12.3.1 什么是朴素贝叶斯 292 12.3.2 朴素贝叶斯的算法思想 292 12.3.3 朴素贝叶斯的算法步骤 292 12.3.4 朴素贝叶斯的优缺点 293 12.3.5 朴素贝叶斯在量化交易中的运用实例 293 12.4 神经网络在量化交易中的运用技巧 296 12.4.1 什么是人工神经网络 296 12.4.2 大脑中的神经元细胞和神经元细胞网络 297 12.4.3 人工神经网络的基本特征 298 12.4.4 人工神经网络的特点 299 12.4.5 人工神经网络的算法 299 12.4.6 人工神经网络在量化交易中的运用实例 301 第13章 Python量化交易策略的因子分析运用技巧 305 13.1 因子的类型及因子分析的作用 306 13.2 因子分析的Python代码 306 13.2.1 因子分析中的三个变量 306 13.2.2 因子分析中可以使用的基础因子 307 13.2.3 calc的参数及返回值 308 13.3 因子的新建及常见分析 308 13.3.1 因子的新建 308 13.3.2 因子的收益分析 311 13.3.3 因子的IC分析 314 13.3.4 因子的换手分析 315 13.4 因子在研究和回测中的使用 317 13.5 基本面因子运用实例 319 第14章 Python量化交易策略实战案例 323 14.1 MA均线量化交易策略实战案例 324 14.1.1 编写初始化函数 324 14.1.2 编写单位时间调用的函数 326 14.1.3 MA均线量化交易策略的回测 327 14.2 多均线量化交易策略实战案例 327 14.2.1 编写初始化函数 328 14.2.2 编写交易程序函数 328 14.2.3 多均线量化交易策略的回测 330 14.3 MACD指标量化交易策略实战案例 330 14.3.1 编写初始化函数 331 14.3.2 编写单位时间调用的函数 331 14.3.3 MACD指标量化交易策略的回测 332 14.4 KD指标量化交易策略实战案例 333 14.4.1 编写初始化函数 333 14.4.2 编写开盘前运行函数 334 14.4.3 编写开盘时运行函数 334 14.4.4 编写收盘后运行函数 335 14.4.5 KD指标量化交易策略的回测 335 14.5 BOLL指标量化交易策略实战案例 336 14.5.1 编写初始化函数 336 14.5.2 编写开盘前运行函数 337 14.5.3 编写开盘时运行函数 337 14.5.4 编写收盘后运行函数 338 14.5.5 BOLL指标量化交易策略的回测 339 14.6 多股票持仓量化交易策略实战案例 339 14.6.1 编写初始化函数 340 14.6.2 编写单位时间调用的函数 340 14.6.3 多股票持仓量化交易策略的回测 341 14.7 医药股轮动量化交易策略实战案例 342 14.7.1 编写初始化函数 342 14.7.2 编写选股函数 342 14.7.3 编写交易函数 343 14.7.4 医药股轮动量化交易策略的回测 343 14.8 小市值股票量化交易策略实战案例 344 14.8.1 编写初始化函数 344 14.8.2 编写选股函数 345 14.8.3 编写过滤停牌股票函数 345 14.8.4 编写交易函数 346 14.8.5 小市值股票量化交易策略的回测 346 14.9 机器算法多因子量化交易策略实战案例 347 14.9.1 编写初始化函数 347 14.9.2 编写自定义的交易函数 348 14.9.3 机器算法多因子量化交易策略的回测 353
|
|||
精彩书评 | |||
|
|||
书摘 |
|||
"自序 为什么要写这本书?这可能与我的经历和接触到的一些事情有关。 2014年算是微服务元年,我接触微服务晚一些,大概是在2015年。因为以前从事过架构工作,对SOA也有一定的研究,所以刚接触微服务时,同很多架构师一样,第一反应就是——这不就是SOA的一个变种吗?无非就是把服务的颗粒度放小而已。后来在具体了解和应用微服务技术的过程中,才知道其实两者还是有非常大的区别的。 虽然接触微服务晚一些,但是在实际工作中,我却无意间利用微服务原理解决了一些实际问题。2012年,我工作的单位有一个多服务的产品系统,这个产品系统是一个实时7×24小时系统,对于稳定性、可靠性、实时性和可追溯性的要求非常高,而且在某段特定的时间内还会出现类似“”的业务场景。可是该产品系统内多种服务混杂,业务逻辑代码和技术代码互相渗透,这导致调试、测试、实施都非常困难,尤其是一旦出现了Bug,非常难以定位,以及新增一个需求,比“登天”还难。于是我把这些业务按照组件化模式进行了拆分,当时主要是从技术层面上解决问题,首先把消息服务器、业务服务器、接口服务器、应用系统分开,实现了几个服务器的物理隔离,应用之间通过消息机制进行交互,从理论上杜绝了各个程序代码的交叉渗透,实际上这可以看作抽象地拆分服务的行为。通过这种处理,各个服务应用各司其职,而且当时这项技术还被授予了一项发明专利(授权编号为CN103731479B)。除此之外,在具体的工作中还存在着一个业务场景,当时单位的产品要外接其他厂商的多种接口业务,而外部多变的接口协议与内部稳定、可靠的逻辑实现之间存在矛盾。为了解决这对矛盾,我设计了一个网关,其主要作用是隔离外部与内部接口,松耦合内部与外部关系,通过插件机制进行扩展,网关的功能是实现协议的转换以适配操作行为、代理路由、异步缓存等,这项技术也被授予了一项发明专利(授权编号为CN103944814B),其实这就是微服务的API网关内容。 微服务刚出现时资料非常少。后来微服务发展起来了,各种名词和概念也“横空出世”,一方面让人感到眼花缭乱,另一方面也使很多用户手足无措,不知从何入手。截至目前,市面上已经有很多微服务相关的书籍,都非常不错。其中大部分书籍都是从一个方向或者一个技术点去描述微服务的,从某个方向或某个技术点来说,它们都非常有价值。可是我们不仅应该了解微服务的这些内容,还应该从整体上了解和把握微服务,知其然更要知其所以然。这正是我写这本书的初衷。 本书主要是从整体系统的角度介绍微服务体系结构的,对于每个组成部分的具体实现,没有进行深入的说明和解释,因为每个具体模块的资料和书籍都很多,这些也不是本书重点讨论的内容。另外,本书中也针对某个具体关注点进行了一些深层次的描述和说明,但这主要是为了更好地诠释整体的概念和结构。 通过阅读大量的资料,我学习了很多知识,结合自己20多年的工作经验,经过多轮的反思和总结,最终形成了本书。从事IT工作多年,我经历了一个又一个技术时代,从一个平台看到了另一个平台。在这个过程中很多同行都脱离了这支队伍,而我还在努力坚持着。 在此,我要感谢家人对我的理解和支持,感谢我的妻子多年来对家庭的付出,同时也要感谢我的两个女儿在我撰写书稿的时候没有影响我,以及感谢我的父母,我把这里的一切都献给他们。我还要感谢本书的编辑们,没有她们耐心的指导和完善本书内容,这本书也许只是一个读书笔记。最后,我要感谢那些在我编写本书的过程中帮助过我的所有人,他们都是默默无闻的后台工作者。 任 钢 2018年12月于广东深圳 "
|
商品评价
100%好评
共有0人参与评分评价商品