所属网站分类: 资源下载 > python电子书python
内容简介
《量化投资:以Python为工具》主要讲解量化投资的思想和策略,并借助Python 语言进行实战。《量化投资:以Python为工具》一共分为5 部分,第1 部分是Python 入门,第2 部分是统计学基础,第3 部分是金融理论、投资组合与量化选股,第4 部分是时间序列简介与配对交易,第5 部分是技术指标与量化投资。《量化投资:以Python为工具》首先对Python 编程语言进行介绍,经过学习,读者能够迅速掌握用Python 语言处理数据的方法,并灵活运用Python 解决实际金融问题;其次,向读者介绍量化投资的理论知识,主要讲解量化投资所需的数量基础和类型等方面;最后讲述如何在Python 语言中构建量化投资策略。编辑器
目录
第1 部分Python 入门 1 第1 章Python 简介与安装使用 2 1.1 Python 概述 2 1.2 Python 的安装 3 1.2.1 下载安装Python 执行文件 3 1.2.2 下载安装Anaconda 4 1.2.3 多种Python 版本并存 6 1.3 Python 的简单使用 7 1.4 交互对话环境IPython 8 1.4.1 IPython 的安装 8 1.4.2 IPython 的使用 9 1.4.3 IPython 功能介绍 10 第2 章Python 代码的编写与执行 14 2.1 建立Python 脚本文件 15 2.1.1 记事本 15 2.1.2 Python 默认的IDLE 环境 15 2.1.3 专门的程序编辑器 15 2.2 执行.py 文件 17 2.2.1 IDLE 环境自动执行 17 2.2.2 在控制台cmd 中执行 18 2.2.3 在Annaconda Prompt 中执行 19 2.3 Python 编程小技巧 20 2.3.1 Python 行 20 2.3.2 Python 缩进 21 第3 章Python 对象类型初探 23 3.1 Python 对象 23 3.2 变量命名规则 24 3.3 数值类型 25 3.3.1 整数 25 3.3.2 浮点数 26 3.3.3 布尔类型 26 3.3.4 复数 27 3.4 字符串 28 3.5 列表 29 3.6 可变与不可变 30 3.7 元组 32 3.8 字典 33 3.9 集合 33 第4 章Python 集成开发环境:Spyder 介绍 36 4.1 代码编辑器 37 4.2 代码执行Console 39 4.3 变量查看与编辑 40 4.4 当前工做路径与文件管理 41 4.5 帮助文档与在线帮助 42 4.6 其余功能 43 第5 章Python 运算符与使用 44 5.1 经常使用运算符 44 5.1.1 算术运算符 45 5.1.2 赋值运算符 46 5.1.3 比较运算符 47 5.1.4 逻辑运算符 48 5.1.5 身份运算符 49 5.1.6 成员运算符 51 5.1.7 运算符的优先级 52 5.2 具备运算功能的内置函数 52 第6 章Python 经常使用语句 55 6.1 赋值语句 55 6.1.1 赋值含义与简单赋值 55 6.1.2 多重赋值 57 6.1.3 多元赋值 58 6.1.4 加强赋值 58 6.2 条件语句 59 6.3 循环语句 60 6.3.1 for 循环 60 6.3.2 while 循环 61 6.3.3 嵌套循环 62 6.3.4 break、continue 等语句 62 第7 章函数 66 7.1 函数的定义与调用 66 7.2 函数的参数 68 7.3 匿名函数 71 7.4 做用域 72 第8 章面向对象75 8.1 类 75 8.2 封装 77 8.3 继承(Inheritance) 79 第9 章Python 标准库与数据操做 82 9.1 模块、包和库 82 9.1.1 模块 82 9.1.2 包 84 9.1.3 库 85 9.2 Python 标准库介绍 85 9.3 Python 内置数据类型与操做 91 9.3.1 序列类型数据操做 91 9.3.1.1 list 类型与操做 91 9.3.1.2 tuple 类型与操做 95 9.3.1.3 range 类型与操做 97 9.3.1.4 字符串操做 98 9.3.2 字典类型操做 103 9.3.3 集合操做 106 第10 章经常使用第三方库:Numpy 库与多维数组 111 10.1 NumPy 库 111 10.2 建立数组 111 10.3 数组元素索引与切片 115 10.4 数组运算 118 第11 章经常使用第三方库:Pandas 与数据处理 120 11.1 Series 类型数据 120 11.1.1 Series 对象的建立 120 11.1.2 Series 对象的元素提取与切片 122 11.1.2.1 调用方法提取元素 122 11.1.2.2 利用位置或标签提取元素与切片 123 11.1.3 时间序列 124 11.2 DataFrame 类型数据 128 11.2.1 建立DataFrame 对象 128 11.2.2 查看DataFrame 对象 130 11.2.3 DataFrame 对象的索引与切片 131 11.2.4 DataFrame 的操做 135 11.2.5 DataFrame 的运算 139 11.3 数据规整化 142 11.3.1 缺失值的处理 142 11.3.1.1 缺失值的判断 142 11.3.1.2 选出不是缺失值的数据 143 11.3.2 缺失值的填充 143 11.3.3 缺失值的选择删除 145 11.3.4 删除重复数据 146 第12 章经常使用第三方库:Matplotlib 库与数据可视化 149 12.1 Matplotlib 简介 149 12.2 修改图像属性 152 12.2.1 坐标 152 12.2.1.1 更改坐标轴范围 152 12.2.1.2 设定坐标标签与显示角度 153 12.2.2 添加文本 155 12.2.2.1 添加标题 155 12.2.2.2 中文显示问题 157 12.2.2.3 设定坐标轴标签 159 12.2.2.4 增长图形背景grid 160 12.2.2.5 增长图例 161 12.2.3 多种线条属性 162 12.2.3.1 线条的类型 162 12.2.3.2 图形的颜色 163 12.2.3.3 点的形状类型 164 12.2.3.4 线条宽度 166 12.3 常见图形的绘制 167 12.3.1 柱状图(Bar charts) 167 12.3.2 直方图 170 12.3.3 饼图 172 12.3.4 箱线图 172 12.4 Figure、Axes 对象与多图绘制 173 12.4.1 Figure、Axes 对象 174 12.4.2 多图绘制 176 12.4.2.1 多个子图绘制 176 12.4.2.2 一个图中多条曲线绘制 178 第2 部分统计学基础 180 第13 章描述性统计 181 13.1 数据类型 182 13.2 图表 182 13.2.1 频数分布表 182 13.2.2 直方图 183 13.3 数据的位置 184 13.4 数据的离散度 186 第14 章随机变量简介 190 14.1 几率与几率分布 190 14.1.1 离散型随机变量 190 14.1.2 连续型随机变量 192 14.2 指望值与方差 193 14.3 二项分布 194 14.4 正态分布 197 14.5 其余连续分布 199 14.5.1 卡方分布 199 14.5.2 t 分布 199 14.5.3 F 分布 200 14.6 变量的关系 202 14.6.1 联合几率分布 202 14.6.2 变量的独立性 203 14.6.3 变量的相关性 203 14.6.4 上证综指与深证综指的相关性分析 205 第15 章推断统计 208 15.1 参数估计 208 15.1.1 点估计 209 15.1.2 区间估计 209 15.2 案例分析 212 15.3 假设检验 213 15.3.1 两类错误 214 15.3.2 显著性水平与p 值 215 15.3.3 肯定小几率事件 215 15.4 t 检验 216 15.4.1 单样本t 检验 216 15.4.2 独立样本t 检验 217 15.4.3 配对样本t 统计量的构造 218 第16 章方差分析 221 16.1 方差分析之思想 221 16.2 方差分析之原理 222 16.2.1 离差平方和 223 16.2.2 自由度 224 16.2.3 显著性检验 225 16.3 方差分析之Python 实现 226 16.3.1 单因素方差分析 227 16.3.2 多因素方差分析 228 16.3.3 析因方差分析 228 第17 章回归分析 231 17.1 一元线性回归模型 231 17.1.1 一元线性回归模型 231 17.1.2 最小平方法 232 17.2 模型拟合度 233 17.3 古典假设条件下^_、^ _ 之统计性质 234 17.4 显著性检验 235 17.5 上证综指与深证成指的回归分析与Python 实践 236 17.5.1 Python 拟合回归函数 236 17.5.2 绘制回归诊断图 238 17.6 多元线性回归模型 240 17.7 多元线性回归案例分析 241 17.7.1 价格水平对GDP 的影响 241 17.7.2 考量自变量共线性因素的新模型 243 第3 部分金融理论、投资组合与量化选股246 第18 章资产收益率和风险 247 18.1 单期与多期简单收益率 248 18.1.1 单期简单收益率 248 18.1.2 多期简单收益率 249 18.1.3 Python 函数计算简单收益率 252 18.1.4 单期与多期简单收益率的关系 252 18.1.5 年化收益率 254 18.1.6 考虑股利分成的简单收益率 256 18.2 连续复利收益率 259 18.2.1 多期连续复利收益率 260 18.2.2 单期与多期连续复利收益率的关系 262 18.3 绘制收益图 263 18.4 资产风险的来源 264 18.4.1 市场风险 264 18.4.2 利率风险 264 18.4.3 汇率风险 265 18.4.4 流动性风险 265 18.4.5 信用风险 265 18.4.6 通货膨胀风险 266 18.4.7 营运风险 266 18.5 资产风险的测度 266 18.5.1 方差 266 18.5.2 下行风险 268 18.5.3 风险价值 269 18.5.4 指望亏空 271 18.5.5 最大回撤 271 第19 章投资组合理论及其拓展 276 19.1 投资组合的收益率与风险 276 19.2 Markowitz 均值-方差模型 280 19.3 Markowitz 模型之Python 实现 285 19.4 Black-Litterman 模型 289 第20 章资本资产订价模型(CAPM) 298 20.1 资本资产订价模型的核心思想 298 20.2 CAPM 模型的应用 299 20.3 Python 计算单资产CAPM 实例 301 20.4 CAPM 模型的评价 305 第21 章Fama-French 三因子模型 308 21.1 Fama-French 三因子模型的基本思想 308 21.2 三因子模型之Python 实现 310 21.3 三因子模型的评价 315 第4 部分时间序列简介与配对交易 317 第22 章时间序列基本概念 318 22.1 认识时间序列 318 22.2 Python 中的时间序列数据 320 22.3 选取特定日期的时间序列数据 321 22.4 时间序列数据描述性统计 323 第23 章时间序列的基本性质 326 23.1 自相关性 326 23.1.1 自协方差 327 23.1.2 自相关系数 327 23.1.3 偏自相关系数 327 23.1.4 acf( ) 函数与pacf( ) 函数 328 23.1.5 上证综指的收益率指数的自相关性判断 328 23.2 平稳性 331 23.2.1 强平稳 331 23.2.2 弱平稳 332 23.2.3 强平稳与弱平稳的区别 332 23.3 上证综指的平稳性检验 333 23.3.1 观察时间序列图 333 23.3.2 观察序列的自相关图和偏自相关图 333 23.3.3 单位根检验 336 23.4 白噪声 340 23.4.1 白噪声 340 23.4.2 白噪声检验——Ljung-Box 检验 341 23.4.3 上证综合指数的白噪声检验 343 第24 章时间序列预测 345 24.1 移动平均预测 345 24.1.1 简单移动平均 345 24.1.2 加权移动平均 346 24.1.3 指数加权移动平均 346 24.2 ARMA 模型预测 347 24.2.1 自回归模型 348 24.2.2 移动平均模型 350 24.3 自回归移动平均模型 350 24.4 ARMA 模型的建模过程 351 24.5 CPI 数据的ARMA 短时间预测 351 24.5.1 序列识别 351 24.5.2 模型识别与估计 354 24.5.3 模型诊断 356 24.5.4 运用模型进行预测 359 24.6 股票收益率的平稳时间序列建模 359 第25 章GARCH 模型 364 25.1 资产收益率的波动率与ARCH 效应 364 25.2 ARCH 模型和GARCH 模型 365 25.2.1 ARCH 模型 365 25.2.2 GARCH 模型 366 25.3 ARCH 效应检验 368 25.4 GARCH 模型构建 370 第26 章配对交易策略 372 26.1 什么是配对交易 372 26.2 配对交易的思想 373 26.3 配对交易的步骤 374 26.3.1 股票对的选择 374 26.3.2 配对交易策略的制定 383 26.4 构建PairTrading 类 387 26.5 Python 实测配对交易交易策略 391 第5 部分技术指标与量化投资399 第27 章K 线图 400 27.1 K 线图简介 400 27.2 Python 绘制上证综指K 线图 403 27.3 Python 捕捉K 线图的形态 405 27.3.1 Python 捕捉“早晨之星” 406 27.3.2 Python 语言捕捉“乌云盖顶”形态 410 第28 章动量交易策略 416 28.1 动量概念介绍 416 28.2 动量效应产生的缘由 416 28.3 价格动量的计算公式 417 28.3.1 做差法求动量值 417 28.3.2 作除法求动量值 418 28.4 编写动量函数momentum( ) 420 28.5 万科股票2015 年走势及35 日动量线 420 28.6 动量交易策略的通常思路 423 第29 章RSI 相对强弱指标 429 29.1 RSI 基本概念 429 29.2 Python 计算RSI 值 429 29.3 Python 编写rsi( ) 函数 434 29.4 RSI 天数的差别 435 29.5 RSI 指标判断股票超买和超卖状态 436 29.6 RSI 的“黄金交叉”与“死亡交叉” 437 29.7 交通银行股票RSI 指标交易实测 438 29.7.1 RSI 捕捉交通银行股票买卖点 438 29.7.2 RSI 交易策略执行及回测 440 第30 章均线系统策略 446 30.1 简单移动平均 446 30.1.1 简单移动平均数 446 30.1.2 简单移动平均函数 448 30.1.3 期数选择 449 30.2 加权移动平均 449 30.2.1 加权移动平均数 449 30.2.2 加权移动平均函数 451 30.3 指数加权移动平均 452 30.3.1 指数加权移动平均数 452 30.3.2 指数加权移动平均函数 454 30.4 建立movingAverage 模组 454 30.5 经常使用平均方法的比较 455 30.6 中国银行股价数据与均线分析 456 30.7 均线时间跨度 458 30.8 中国银行股票均线系统交易 459 30.8.1 简单移动平均线制定中国银行股票的买卖点 459 30.8.2 双均线交叉捕捉中国银行股票的买卖点 462 30.9 异同移动平均线(MACD) 464 30.9.1 MACD 的求值过程 464 30.9.2 异同均线(MACD)捕捉中国银行股票的买卖点 466 30.10 多种均线指标综合运用模拟实测 468 第31 章通道突破策略 473 31.1 通道突破简介 473 31.2 唐奇安通道 473 31.2.1 唐奇安通道刻画 473 31.2.2 Python 捕捉唐奇安通道突破 476 31.3 布林带通道 478 31.4 布林带通道与市场风险 481 31.5 通道突破交易策略的制定 484 31.5.1 通常布林带上下通道突破策略 484 31.5.2 特殊布林带通道突破策略 485 第32 章随机指标交易策略 489 32.1 什么是随机指标(KDJ) 489 32.2 随机指标的原理 489 32.3 KDJ 指标的计算公式 490 32.3.1 未成熟随机指标RSV 490 32.3.2 K、D 指__________标计算 495 32.3.3 J 指标计算 497 32.3.4 KDJ 指标简要分析 498 32.4 KDJ 指标的交易策略 499 32.5 KDJ 指标交易实测 499 32.5.1 KD 指标交易策略 499 32.5.2 KDJ 指标交易策略 503 32.5.3 K 线、D 线“金叉”与“死叉” 504 第33 章量价关系分析 509 33.1 量价关系概述 509 33.2 量价关系分析 509 33.2.1 价涨量增 510 33.2.2 价涨量平 512 33.2.3 价涨量缩 512 33.2.4 价平量增 513 33.2.5 价平量缩 514 33.2.6 价跌量增 514 33.2.7 价跌量平 515 33.2.8 价跌量缩 515 33.3 不一样价格段位的成交量 516 33.4 成交量与均线思想结合制定交易策略 518 第34 章OBV 指标交易策略 524 34.1 OBV 指标概念 524 34.2 OBV 指标计算方法 524 34.3 OBV 指标的理论依据 527 34.4 OBV 指标的交易策略制定 527 34.5 OBV 指标交易策略的Python 实测 528 34.6 OBV 指标的应用原则 530