书籍作者:胡凯博 | ISBN:9787121426735 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:3600 |
创建日期:2023-02-10 | 发布日期:2023-02-10 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
《商品期货量化交易实战(以Python为工具)》一书首先讲解量化交易基础和Python编程入门;再讲解量化交易API;然后讲解CTA的趋势跟踪策略和回归策略,并且配合量化交易策略实战案例,重点讲解如何在发明者量化交易平台上进行策略开发和回测,让读者不但可以系统地学习量化交易和Python编程的相关知识,而且可以对CTA策略开发有更深入的理解;接着讲解量化交易回测与实盘;最后对管理风险、投资组合、交易技巧与交易理念进行系统的讲解。
胡凯博,发明者量化首席策略分析师。在股票市场和期货市场沉浮十载,资深Python量化交易策略师,熟悉Python/JavaScript/Go语言。先后供职于国内量化交易团队和私募基金公司,曾担任期货量化交易策略开发师、技术顾问等职务,作为CSDN、掘金、雪球、知乎等平台的专栏作者,已发布上百篇技术文章,目前正积极运营发明者量化软件产品。
史超,发明者量化CTO。从事商品期货程序化、量化交易研究、实践多年。资深程序化交易、量化交易领域工程师。擅长C/C++、Python、JavaScript、Golang编程语言。在“网易云课堂”发布有“区块链资产量化交易课程”系列教学视频。目前主要从事发明者量化交易平台底层系统的开发维护、系统测试等工作。
无需基础:针对完全没有编程经验、编程语言基础、交易基础的读者设计编写。
追求实用:根据实战应用,仅讲解Python基础,不涉及复杂的编程知识,简单易学。
经典剖析:涵盖了量化交易领域多种经典策略,逐个剖析讲解。
工具支持:学会使用量化交易平台中的工具,避免重复造“轮子”节约时间。
详细图解:全书范例配图说明,帮助您快速理解、记忆,使学习效率事半功倍。
前言
为什么要写这本书?
随着计算机科学的不断发展,商品期货量化交易越来越流行。计算机能够以比人类快1000倍的速度执行交易,从而降低主观交易成本、增加获利机会,使量化交易广泛应用于商品期货交易中,中国的量化交易市场规模已经超过300亿元,金融与科技的结合势在必行,在可预见的未来,我们将见证金融市场的高度自动化。
由于金融量化交易行业有较高的门槛,因此要进入这个行业,除了需要有扎实的主观交易基础,还要有计算机编程功底。目前图书市场关于量化交易的图书很多,但真正从实战交易出发,通过各种经典量化交易策略案例指导读者提高量化交易水平的图书很少。
本书以实战为主旨,系统地讲解商品期货量化交易基础知识、Python编程语法、量化交易API、完整的策略案例,让读者全面、深入、透彻地理解量化交易的各种基础知识及各种经典交易策略的使用方法,帮助读者打破万事开头难的局面,更好、更快地入门金融量化交易,提高实际策略开发水平和实战能力。
本书有何特色?1. 附带图书内的完整策略,提高学习效率
为了便于读者理解本书内容,提高学习效率,作者为本书中CTA策略的相关章节提供了完整的策略代码,这些与本书配套的源代码一起收录于云盘中,读者可以下载使用。
2. 涵盖Python编程语言基础知识
本书涵盖Python编程语言基础知识,包括Python的基础语法、Python中的变量和数据类型、Python中的数据运算、Python中的数字和字符串、Python中的列表和字典、Python中的条件语句和循环语句、Python中的日期和时间、Python中的常用内置函数、Python中的异常处理。
3. 对量化交易策略案例进行分析
本书以商品期货为标的,利用简洁、高效的Python语言,从量化交易策略原理着手分析,深入浅出地揭示量化交易的本质,引导读者从理解量化交易开始,逐步掌握行情数据的获取和管理方法、技术指标的可视化方法,并且在熟练编程的基础上,在练习过程中摸索期货量化交易的技巧,构建个性化的交易策略体系。
4. 项目案例典型,实战性强,有较高的应用价值
本书在CTA策略的相关章节提供了多个入门策略案例。这些案例来源于商品期货市场经典策略,具有很高的应用价值和参考性。这些案例按照功能模块逐步实现,便于读者融会贯通地理解本书内容。
5. 提供完善的技术支持和售后服务
本书提供了专门的技术支持邮箱:[email protected]。读者在阅读本书过程中有任何疑问都可以通过该邮箱获得帮助。
本书内容及知识体系第1章 量化交易基础
本章主要介绍量化交易的基础知识,包括量化交易的发展和特点、量化交易与主观交易的区别、量化交易流程及一个完整的交易策略包含哪些要素等。
第2章 Python编程入门
Python是一个面向对象的脚本语言,凭借极其简洁、高效的语言特性,以及在数据分析方面的巨大优势,在金融领域得到了广泛的应用。本章主要介绍Python语言的基础知识,将Python作为策略开发工具,为期货量化交易提供助力。
第3章 量化交易API
在掌握了Python语言的基础知识后,就可以利用这些知识开发量化交易策略了。但如果从零开始对接原始的行情和交易API,则会是一个庞大的IT系统工程。对初学者来说,利用免费开源的发明者量化SDK,可以快速进行量化交易策略开发。本章主要介绍量化交易API。
第4章 CTA之趋势跟踪策略
CTA策略是一种多样性的投资策略,一般是指商品期货和金融期货策略。无论是主观交易,还是量化交易,只要其交易方法相对规则化、系统化,就都可以称为CTA策略。本章会结合不同的策略理论开发CTA策略。
第5章 CTA之回归策略
回归策略是与趋势跟踪策略逻辑相反的一种交易策略,根据均值回归原理,价格始终围绕其均值上下波动,通过低买高卖赚取差价。本章会结合回归策略的多种形式开发CTA策略,包括布林带跨期套利策略、乘离率策略。
第6章 量化交易回测与实盘
一个新开发出来的交易策略,需要经过全方位检测,才能应用于实战。一个优秀的交易策略是在试错中不断改进产生的。本节主要介绍量化交易回测与实盘,包括使用Tick数据让回测更精准、回测绩效报告详解、如何规避回测中的陷阱、递进和交叉回测、量化交易实盘。
第7章 风险管理与投资组合
量化交易的关键常识是有风险,但对大部分交易者来说,风险是一个令人不愉快的话题。虽然严格控制风险意味着与暴利绝缘,但对优秀的量化交易者来说,掌握风险管理的方法是非常有必要的。本章主要介绍期货市场三大风险及正确的仓位管理方法。
第8章 交易技巧及交易理念
玩转量化交易,学会一定的操作技巧是非常有必要的。本章主要介绍常用的止盈和止损方法、量化交易与基本面数据、交易中常用的数理知识、量化交易与统计学。
适合阅读本书的读者
需要全面学习量化交易的主观交易者。
金融分析师。
金融专业学生。
喜欢交易的IT从业者。
希望提高量化交易水平的人员。
阅读本书的建议
需要对量化分析或量化交易有浓厚的兴趣,并且能够接受高强度的学习内容。
教程对学员没有专业限制,但要求学员具备自主深入学习的能力。
对于零基础的读者,建议从第1章顺次阅读。
有一定交易或编程基础的读者,可以根据实际情况有重点地选择阅读各章节。
对于量化交易策略案例,先自己思考一下实现的思路,再阅读,学习效果更好。
目录
第1章 量化交易基础
1.1 什么是量化交易
1.1.1 量化交易概述
1.1.2 量化交易的发展
1.1.3 量化交易的特点
1.1.4 量化交易有哪些入门策略
1.2 为什么选择量化交易
1.2.1 量化交易与主观交易的区别
1.2.2 量化交易比主观交易更好吗
1.2.3 量化交易一定能赚钱吗
1.2.4 量化交易的风险
1.3 量化交易需要哪些准备工作
1.3.1 安装SDK
1.3.2 策略构思
1.3.3 建立模型
1.3.4 回测调优
1.3.5 仿真交易
1.3.6 实盘交易
1.4 一个完整的策略有哪些要素
1.4.1 策略选择
1.4.2 交易什么
1.4.3 交易多少
1.4.4 何时交易
1.4.5 如何交易
1.4.6 交易心态
1.5 温故知新
第2章 Python编程入门
2.1 为什么要学习Python
2.1.1 Python的特点
2.1.2 Python的版本
2.2 Python的基础语法
2.2.1 编码
2.2.2 变量命名
2.2.3 关键字
2.2.4 注释
2.2.5 缩进
2.2.6 代码块
2.2.7 空行
2.2.8 导入模块
2.3 Python中的变量和数据类型
2.3.1 变量
2.3.2 标准数据类型
2.3.3 Number(数值)
2.3.4 String(字符串)
2.3.5 List(列表)
2.3.6 Dictionary(字典)
2.3.7 数据类型转换函数
2.4 Python中的数据运算
2.4.1 算术运算符
2.4.2 关系运算符
2.4.3 赋值运算符
2.4.4 逻辑运算符
2.4.5 运算符优先级
2.5 Python中的数字和字符串
2.5.1 内置数学函数
2.5.2 访问字符串中的字符
2.5.3 拼接字符串
2.5.4 其他常用函数
2.6 Python中的列表和字典
2.6.1 列表索引
2.6.2 列表切片
2.6.3 列表中元素的修改与删除
2.6.4 二维列表
2.6.5 列表中元素的增加
2.6.6 列表反向排序
2.6.7 创建字典
2.6.8 访问字典中的键值
2.6.9 字典中元素的增加与修改
2.6.10 字典中元素的删除
2.7 Python中的条件语句和循环语句
2.7.1 条件语句
2.7.2 循环语句
2.7.3 break语句
2.7.4 continue语句
2.8 Python中的日期和时间
2.8.1 time库
2.8.2 什么是时间戳
2.8.3 将时间戳转换为时间
2.9 Python中的常用内置函数
2.9.1 len()函数
2.9.2 range()函数
2.9.3 split()函数
2.9.4 type()函数
2.9.5 isinstance()函数
2.9.6 取整函数
2.10 Python中的异常处理
2.10.1 语法错误
2.10.2 异常错误
2.10.3 异常捕获
2.11 温故知新
第3章 量化交易API
3.1 全局常量和数据结构
3.1.1 exchange交易所对象
3.1.2 exchanges交易所对象列表
3.1.3 Order数据结构
3.1.4 Position数据结构
3.1.5 Trade数据结构
3.1.6 Ticker数据结构
3.1.7 Record数据结构
3.1.8 Depth数据结构
3.1.9 Account数据结构
3.1.10 策略参数
3.2 获取Tick、深度、历史K线数据
3.2.1 获取Tick数据函数GetTicker()
3.2.2 获取深度数据函数GetDepth()
3.2.3 获取K线数据函数GetRecords()
3.2.4 商品期货策略框架
3.3 获取和取消订单、获取当前挂单
3.3.1 订阅合约代码函数SetContractType()
3.3.2 设置期货交易方向和类型函数SetDirection()
3.3.3 Buy()函数
3.3.4 Sell()函数
3.3.5 取消订单函数CancelOrder()
3.3.6 获取所有未完成订单函数GetOrders()
3.3.7 获取订单详情函数GetOrder()
3.4 IO()函数
3.4.1 切换行情模式
3.4.2 判断与期货公司前置机服务器的连接状态
3.4.3 获取交易所中的所有合约信息
3.4.4 扩展函数IO("api", …)
3.4.5 等待消息函数IO("wait")
3.5 账户API获取账户和持仓信息
3.5.1 获取账户信息函数GetAccount()
3.5.2 获取持仓信息函数GetPosition()
3.6 常用的日志信息函数
3.6.1 打印日志信息函数Log()
3.6.2 打印收益信息函数LogProfit()
3.6.3 打印状态栏信息函数LogStatus()
3.6.4 画图函数Chart()
3.6.5 日志消除函数LogReset()
3.6.6 订单信息日志功能开关函数EnableLog()
3.7 常用的内置函数
3.7.1 休眠函数Sleep()
3.7.2 交互函数GetCommand()
3.7.3 判断回测/实盘函数IsVirtual()
3.7.4 全局字典函数_G()
3.7.5 时间戳函数_D(Timestamp, Fmt)
3.7.6 浮点数格式化函数_N(Num, Precision)
3.7.7 重试函数_C()
3.7.8 列表交叉函数_Cross()
3.8 常用的指标函数及图表绘制
3.8.1 内置的TA指标库
3.8.2 绘制图表
3.9 策略参数及策略交互
3.9.1 策略参数
3.9.2 策略交互
3.10 内置的模板类库及经典策略架构
3.10.1 模板类库
3.10.2 经典策略架构
3.11 温故知新
第4章 CTA之趋势跟踪策略
4.1 什么是CTA策略
4.1.1 CTA策略的分类
4.1.2 趋势策略
4.1.3 反转策略
4.1.4 量化CTA策略
4.2 经典的MACD策略
4.2.1 MACD简介
4.2.2 MACD的原理
4.2.3 MACD的计算方法
4.2.4 MACD的使用方法
4.2.5 MACD的有效性
4.2.6 策略逻辑
4.2.7 策略编写
4.2.8 策略回测
4.2.9 完整的策略代码
4.3 使用ADX辅助MACD策略
4.3.1 什么是ADX
4.3.2 ADX的计算方法
4.3.3 策略逻辑
4.3.4 策略编写
4.3.5 策略回测
4.3.6 完整的策略代码
4.4 自适应动态双均线策略
4.4.1 传统均线的弊端
4.4.2 考夫曼均线的原理
4.4.3 考夫曼均线的计算方法
4.4.4 策略逻辑
4.4.5 策略编写
4.4.6 策略回测
4.4.7 完整的策略代码
4.5 日内高低点突破策略
4.5.1 什么是日内交易
4.5.2 策略逻辑
4.5.3 策略编写
4.5.4 策略回测
4.5.5 完整的策略代码
4.6 增强版唐奇安通道策略
4.6.1 唐奇安通道策略简介
4.6.2 原始策略逻辑
4.6.3 改进后的策略逻辑
4.6.4 策略编写
4.6.5 策略回测
4.6.6 完整的策略代码
4.7 HANS123日内突破策略
4.7.1 策略逻辑
4.7.2 策略编写
4.7.3 策略回测
4.7.4 完整的策略代码
4.8 菲阿里四价策略
4.8.1 菲阿里简介
4.8.2 策略逻辑
4.8.3 策略编写
4.8.4 策略回测
4.8.5 完整的策略代码
4.9 AROON(阿隆指标)策略
4.9.1 阿隆指标简介
4.9.2 阿隆指标的计算方法
4.9.3 如何使用阿隆指标
4.9.4 基于阿隆指标构建交易策略
4.9.5 策略回测
4.9.6 完整的策略代码
4.10 EMV(简易波动指标)策略
4.10.1 EMV的计算公式
4.10.2 EMV的使用方法
4.10.3 策略编写
4.10.4 策略回测
4.10.5 完整的策略代码
4.11 动态阶梯突破策略
4.11.1 什么是突破策略
4.11.2 突破策略理论
4.11.3 策略逻辑
4.11.4 策略编写
4.11.5 策略回测
4.11.6 完整的策略代码
4.12 Dual Thrust日内交易策略
4.12.1 Dual Thrust简介
4.12.2 Dual Thrust日内交易策略的上、下轨
4.12.3 策略逻辑
4.12.4 策略编写
4.12.5 策略回测
4.12.6 完整的策略代码
4.13 经典恒温器策略
4.13.1 策略简介
4.13.2 市场波动指数
4.13.3 策略逻辑
4.13.4 策略编写
4.13.5 策略回测
4.13.6 完整的策略代码
4.14 R-breaker策略
4.14.1 策略原理
4.14.2 计算方法
4.14.3 策略逻辑
4.14.4 策略编写
4.14.5 策略回测
4.14.6 完整的策略代码
4.15 温故知新
第5章 CTA之回归策略
5.1 布林带跨期套利策略
5.1.1 策略原理
5.1.2 策略逻辑
5.1.3 策略编写
5.1.4 策略回测
5.2 期现套利图表
5.2.1 什么是套利
5.2.2 期现套利方法
5.2.3 期现套利的局限
5.2.4 获取数据
5.2.5 期现和基差图表
5.2.6 图表展示
5.3 乖离率(BIAS)策略
5.3.1 乖离率简介
5.3.2 乖离率的原理
5.3.3 乖离率的计算公式
5.3.4 策略逻辑
5.3.5 策略编写
5.3.6 策略回测
5.3.7 完整的策略代码
5.4 温故知新
第6章 量化交易回测与实盘
6.1 使用Tick数据让回测更精准
6.1.1 回测需要哪些数据
6.1.2 基于Bar数据的回测
6.1.3 基于Tick数据的回测
6.1.4 Tick数据回测引擎原理
6.1.5 如何选择最佳回测方式
6.2 回测绩效报告详解
6.2.1 回测配置参数
6.2.2 年化收益率
6.2.3 年化波动率
6.2.4 最大回撤率
6.2.5 夏普比率
6.3 如何规避回测中的陷阱
6.3.1 未来函数
6.3.2 偷价
6.3.3 成本冲击
6.3.4 幸存者偏差
6.3.5 过拟合
6.4 递进和交叉回测
6.4.1 样本内回测和样本外回测
6.4.2 样本递进回测
6.4.3 样本交叉回测
6.5 量化交易实盘
6.5.1 配置期货账户
6.5.2 在Windows操作系统中部署托管者
6.5.3 在Linux操作系统中部署托管者
6.5.4 一键租用托管者
6.5.5 创建策略
6.5.6 管理策略
6.5.7 创建实盘
6.5.8 管理实盘
6.6 温故知新
69
第7章 风险管理与投资组合
7.1 认识期货中的风险
7.1.1 系统性风险
7.1.2 人为主观性风险
7.1.3 策略性风险
7.1.4 资金管理的意义
7.1.5 资金管理的方法
7.2 等价鞅资金管理
7.2.1 什么是马丁格尔策略
7.2.2 正向马丁格尔策略
7.2.3 正向马丁格尔策略的测试代码
7.2.4 反向马丁格尔策略
7.2.5 反向马丁格尔策略的测试代码
7.2.6 马丁格尔策略在期货市场中的应用
7.3 反等价鞅资金管理方法
7.3.1 什么是凯利公式
7.3.2 凯利公式的计算方法
7.3.3 用数据验证凯利公式
7.3.4 凯利公式在量化交易中的应用
7.3.5 凯利公式的局限性
7.4 构建投资组合和风险控制
7.4.1 投资分散与均衡
7.4.2 投资组合分类
7.4.3 构建投资组合
7.4.4 收益与风险
7.5 温故知新
第8章 交易技巧及交易理念
8.1 常用的止盈、止损方法
8.1.1 止损的成本
8.1.2 止损的意义
8.1.3 如何止损
8.1.4 止损的本质
8.1.5 正确的止盈
8.1.6 如何止盈
8.2 量化交易与基本面数据
8.2.1 常用的基本面数据
8.2.2 基本面分析铁三角
8.2.3 获取基本面数据
8.2.4 绘制基本面数据图表
8.3 交易中常用的数理知识
8.3.1 VWAP算法
8.3.2 TWAP算法
8.3.3 布朗运动
8.3.4 维纳过程
8.3.5 伊藤引理
8.3.6 马尔可夫过程
8.4 建立概率思维,提升交易格局
8.4.1 交易来自生活
8.4.2 概率思维
8.4.3 久赌必赢
8.4.4 概率的变化
8.4.5 交易中的大数定律
8.5 温故知新
入浅入深, 干货满满
2022-03-04 21:19:14