内容简介
本书分为基础篇和篇两大部分。基础篇通过Q&A的方式介绍了MATLAB的主要功能、基本命令、数据处理等内容,使读者对MATLAB有一个基本的了解。篇分为20章,介绍了MATLAB结合具体量化投资的相关案例,包括MATLAB处理优化问题和数据交互、绘制交易图形、构建行情软件和交易模型、基于MATLAB的BP神经网络和广义极值分布、基于MATLAB的正则表达式基础教程、FQuantToolBox股票期货数据获取&量化回测工具箱的介绍与使用等内容,通过丰富的实例和图形帮助读者理解和运用MATLAB作为量化投资的工具。本书的特色在于不仅仅满足理论学习的需要,更帮助读者边学边练,理论与实践并重。本书适合经济金融机构的研究人员和从业人员、进行量化投资的交易员、具有统计背景的科研工作者、高等院校相关专业的教师和学生及对量化投资和MATLAB感兴趣的人士阅读。
图书目录
目录
基 础 篇
第0章 N分钟学会MATLAB(60<N<180) 1
0.1 引言 1
0.2 基础知识 1
0.3 输入/输出 10
0.4 数据处理 12
0.5 数学运算 18
0.6 字符操作 25
0.7 日期时间 27
0.8 绘图相关 28
0.9 数学、金融、统计相关 34
0.10 其他 47
高 级 篇
第1章 基于MATLAB的优化问题 51
1.1 基于MATLAB的线性优化 51
1.1.1 背景介绍 51
1.1.2 线性优化MATLAB求解 52
1.1.3 含参数线性规划 56
1.2 基于MATLAB的非线性优化 57
1.2.1 背景介绍 57
1.2.2 理论模型 58
1.2.3 MATLAB实现 60
1.2.4 扩展阅读 70
1.3 优化工具箱参数设置 73
1.3.1 优化工具箱参数说明 73
1.3.2 优化工具箱参数设置方法 78
1.3.3 参数设置实例演示 80
第2章 MATLAB与Excel的数据交互 81
2.1 数据交互函数 81
2.1.1 获取文件信息xlsfinfo函数 81
2.1.2 读取数据xlsread函数 82
2.1.3 写入数据xlswrite函数 84
2.1.4 交互界面uiimport函数 85
2.2 Excel-Link宏 87
2.2.1 加载Excel-Link宏 88
2.2.2 使用Excel-Link宏 89
2.2.3 Excel 2007加载与使用宏 91
2.3 交互实例 92
2.3.1 基金相关性的计算 92
2.3.2 多个文件的读取和写入 93
2.4 数据的平滑处理 94
2.4.1 smooth函数 94
2.4.2 smoothts函数 99
2.4.3 medfilt1函数 102
2.5 数据的变换 104
2.5.1 数据的标准化变换 105
2.5.2 数据的极差规格化变换 107
第3章 MATLAB与数据库的数据交互 110
3.1 MATLAB实现 110
3.1.1 Database工具箱简介 110
3.1.2 Database工具箱函数 111
3.1.3 数据库数据读取 112
3.1.4 数据库数据写入 117
3.2 系统数据源配置 119
第4章 K线图及常用技术指标的MATLAB实现 122
4.1 K线图的MATLAB实现 123
4.1.1 MATLAB内置函数candle实现 123
4.1.2 自己编写函数实现 124
4.2 常用技术指标的MATLAB实现 128
4.2.1 简单移动平均线(SMA)和指数移动平均线(EMA) 129
4.2.2 自适应移动平均线(AMA) 133
4.2.3 指数平滑异同移动平均线(MACD) 138
4.2.4 平均差(DMA) 140
第5章 基于MATLAB的行情软件 143
5.1 基于MATLAB的行情软件使用介绍 145
5.1.1 面板介绍 145
5.1.2 功能介绍 145
5.2 基于MATLAB的行情软件建立过程 148
5.2.1 GUI版面布局设计 148
5.2.2 核心函数编写 150
5.3 扩展阅读 159
5.3.1 MATLAB通过网页抓取从雅虎网站获取股票历史数据 159
5.3.2 MATLAB通过网页抓取从新浪获取股票实时数据 163
第6章 基于MATLAB的随机模拟 167
6.1 概率分布 167
6.1.1 概率分布的定义 167
6.1.2 几种常用的概率分布 167
6.1.3 概率密度、分布和逆概率分布函数值的计算 171
6.2 随机数与蒙特卡罗模拟 174
6.2.1 随机数的生成 174
6.2.2 蒙特卡罗模拟 178
6.3 随机价格序列 180
6.3.1 收益率服从正态分布的价格序列 180
6.3.2 具有相关性的随机序列 182
6.4 带约束的随机序列 184
第7章 基于MATLAB的风险管理 188
7.1 背景介绍 188
7.1.1 VaR模型 188
7.1.2 VaR计算方法 190
7.2 MATLAB实现 191
7.2.1 数据读取 191
7.2.2 数据处理 200
7.2.3 历史模拟法程序 201
7.2.4 参数模型法程序 203
7.2.5 蒙特卡罗模拟程序 205
7.2.6 计算结果比较 208
第8章 期权定价模型的MATLAB实现 209
8.1 概述 209
8.1.1 关于布莱克、斯科尔斯和莫顿的故事 209
8.1.2 Black-Scholes定价模型 210
8.2 Black-Scholes定价模型及希腊字母研究 211
8.2.1 Black-Scholes微分方程的推导 211
8.2.2 希腊字母研究及MATLAB仿真测试 217
8.3 二叉树定价模型研究 233
8.3.1 期权定价的数值方法概述 233
8.3.2 二叉树定价模型 235
8.3.3 二叉树模型下的希腊字母计算和测试 240
8.3.4 美式期权与欧式期权的风险指标对比 243
8.4 BAW定价模型研究 247
8.4.1 美式期权定价模型方法概述 247
8.4.2 BAW定价模型 247
8.4.3 BAW定价模型仿真测试 250
第9章 基于MATLAB的支持向量机(SVM)在量化投资中的应用 253
9.1 背景介绍 253
9.1.1 SVM概述 253
9.1.2 LIBSVM工具箱 255
9.2 上证指数开盘指数预测 257
9.2.1 模型建立 257
9.2.2 MATLAB实现 258
9.3 上证指数开盘指数变化趋势和变化空间预测 264
9.3.1 信息粒化简介 264
9.3.2 模型建立 267
9.3.3 MATLAB实现 267
9.4 基于C-SVM的期货交易策略 272
9.4.1 引言 272
9.4.2 模型建立 273
9.4.3 MATLAB实现 273
9.5 扩展阅读 287
9.5.1 MATLAB自带的SVM实现函数与LIBSVM的差别 287
9.5.2 关于SVM的学习资源汇总 288
第10章 MATLAB与其他金融平台终端的通信 291
10.1 DataHouse平台MATLAB接口介绍 291
10.1.1 DataHouse平台简介 291
10.1.2 MATLAB接口介绍 293
10.2 Wind平台MATLAB接口介绍 308
10.2.1 Wind平台简介 308
10.2.2 MATLAB接口介绍 309
第11章 基于MATLAB的交易品种选择分析 313
11.1 品种的流动性 313
11.2 品种的波动性 316
11.3 小结 320
第12章 基于MATLAB的交易品种相关性分析 321
12.1 背景介绍 321
12.2 MATLAB实现 324
12.2.1 计算相关性的时间长度和时间周期的选择 325
12.2.2 不同交易品种(资产)的时间轴校正 327
12.2.3 全市场品种的相关性图形展示 327
12.3 扩展阅读 329
第13章 基于MATLAB的国内期货证券交易解决方案 333
13.1 国内期货柜台系统介绍 333
13.2 MATLAB对接CTP的各种方式 335
13.3 开发前准备 336
13.3.1 文档下载 336
13.3.2 MATLAB安装 336
13.3.3 监控工具 337
13.3.4 开发工具 338
13.4 C#版对接原理 338
13.5 XAPI版项目介绍 339
13.6 MATLAB对接期货接口介绍(XAPI项目.NET版) 340
13.6.1 导入C#库 341
13.6.2 启动行情连接 341
13.6.3 显示连接状态 345
13.6.4 订阅行情 348
13.6.5 行情连接参数 349
13.6.6 启动交易连接 349
13.6.7 交易的相关事件 349
13.6.8 下单 350
13.6.9 撤单 352
13.6.10 退出 352
13.6.11 改进 352
13.7 MATLAB对接期货接口介绍(XAPI项目COM版) 353
13.7.1 COM组件注册 353
13.7.2 COM组件运行 354
13.7.3 COM事件注册 356
13.7.4 下单 357
13.8 MATLAB对接证券接口 358
13.9 MATLAB对接个股期权接口 360
第14章 构建基于MATLAB的回测系统 361
14.1 基于MATLAB的量化回测平台框架介绍 361
14.1.1 回测平台实现细节思考 361
14.1.2 回测平台框架 363
14.2 简单均线系统的MATLAB实现 364
14.3 基于MATLAB的策略回测模板样例 369
14.3.1 模板结构 369
14.3.2 相关回测变量和指标的定义 369
14.3.3 策略描述 370
14.3.4 数据准备 373
14.3.5 回测计算 374
14.3.6 策略评价 379
14.4 其他基于MATLAB的回测平台展示 385
14.4.1 HTS1.0——基于MATLAB设计的回测平台体验版 385
14.4.2 GreenDragon期货交易算法研发平台 387
14.4.3 交易策略回测GUI [Trading strategy back tester] 388
第15章 基于MATLAB的多因子选股模型的实现 389
15.1 多因子模型介绍 389
15.1.1 背景 389
15.1.2 因子种类 389
15.1.3 因子库 390
15.1.4 全局参数 390
15.1.5 初始股票池 391
15.1.6 股票组合 392
15.1.7 情景分析 392
15.1.8 测试流程 393
15.1.9 评价体系 393
15.2 MATLAB实现 394
15.2.1 主脚本 394
15.2.2 提取数据 396
15.2.3 因子选股 398
15.2.4 回测 399
15.2.5 策略评价 403
15.3 总结 405
第16章 基于MATLAB和Wind的量化交易终端AsTradePlatform介绍与使用 406
16.1 背景介绍 406
16.2 面板介绍 406
16.3 模块介绍 408
16.3.1 前期准备 408
16.3.2 初始化 412
16.3.3 登录/登出模块 413
16.3.4 策略控制模块 419
16.3.5 标的池模块 446
16.3.6 策略监控模块 456
16.3.7 账户信息模块 465
16.3.8 手动交易 467
16.3.9 选股模型 468
16.4 总结与改进 472
第17章 基于MATLAB的BP神经网络在量化投资中的应用 473
17.1 基础概述 473
17.1.1 BP神经网络概述 473
17.1.2 基于MATLAB的BP神经网络的非线性系统建模 480
17.2 基于MATLAB的BP神经网络对股指连续收盘价进行预测 484
17.2.1 数据与指标选取 484
17.2.2 基于BP神经网络的股指连续的预测实现 484
第18章 基于MATLAB的广义极值分布在量化投资中的策略挖掘与回测 487
18.1 背景介绍 487
18.1.1 广义极值分布 487
18.1.2 GEV分布与目标价格的突破概率 490
18.2 GEV策略与回测的MATLAB实现 495
18.2.1 策略准则 495
18.2.2 GEV策略构建 500
18.2.3 HS300回测 507
18.2.4 股指期货5分钟连续主力合约回测 511
第19章 基于MATLAB的正则表达式基础教程 517
19.1 引言 517
19.2 单个字符的匹配 518
19.2.1 句点符号 518
19.2.2 方括号符号 519
19.2.3 方括号中的连接符 519
19.2.4 特殊字符 519
19.2.5 类表达式 520
19.3 字符串的匹配 521
19.3.1 多次匹配 521
19.3.2 逻辑运算符 522
19.3.3 左顾右盼——利用上下文匹配 523
19.4 标记(tokens) 523
19.4.1 什么是标记 523
19.4.2 如何使用标记 524
19.5 多行字符串与多正则表达式 525
19.5.1 多个字符串与单个正则表达式匹配 525
19.5.2 多个字符串与多个正则表达式匹配 526
19.5.3 多字符串的替换 526
19.6 应用实例 526
第20章 FQuantToolBox股票期货数据获取&量化回测工具箱的介绍与使用 528
20.1 FQuantToolBox是做什么用的 528
20.2 FQuantToolBox工具箱内容简介 529
20.3 行情数据和基本面数据获取函数 530
20.4 工具箱各版本更新说明 557
量化投资:以MATLAB为工具(第2版)—— 驾驭数据浪潮,构建智能交易系统 在瞬息万变的金融市场中,数据早已成为驱动决策的核心动力。量化投资,作为一种依赖数学模型和计算工具进行投资决策的科学化方法,正日益受到广大投资者的青睐。它剥离了主观情绪的干扰,将复杂的市场信号转化为清晰的交易策略,从而在理性与效率的轨道上稳步前行。 本书 《包邮 量化投资:以MATLAB为工具(第2版)》 致力于为您搭建一座通往量化投资世界的桥梁,您将在这里学习如何运用强大而灵活的MATLAB软件,将理论知识转化为切实可行的投资实践。我们深知,理论的浩瀚与实践的落地之间往往存在鸿沟,而MATLAB正是填补这一鸿沟的利器。通过本书,您将逐步掌握从数据获取、处理、分析,到策略开发、回测、优化的全流程,最终能够独立构建并优化属于自己的量化交易系统。 本书亮点与特色 体系化、实战化导向: 本书并非简单的理论堆砌,而是紧密结合实际投资需求,从最基础的概念讲起,逐步深入到复杂的策略构建。我们注重方法的普适性,力求让读者无论身处何种市场环境,都能找到适用的量化思路。 MATLAB深度应用: MATLAB作为一款强大的科学计算软件,在金融工程、数据分析和算法开发领域拥有无可比拟的优势。本书将深入浅出地介绍MATLAB在量化投资中的各项功能,包括但不限于: 数据处理与清洗: 学习如何导入、存储、处理和清洗海量的金融数据,包括股票价格、宏观经济指标、新闻文本等,为后续分析奠定坚实基础。 统计分析与建模: 掌握多种统计工具和模型,如时间序列分析(ARIMA、GARCH等)、回归分析、因子分析等,用于识别市场规律和风险因素。 机器学习与人工智能: 探索如何运用MATLAB强大的机器学习工具箱,构建预测模型(如神经网络、支持向量机、集成学习等),捕捉非线性关系,发现潜在的投资机会。 策略回测与优化: 学习如何利用MATLAB进行策略的回测,评估其历史表现,并通过参数优化、组合优化等方法,不断改进策略的稳健性和盈利能力。 可视化与报告生成: 掌握将复杂的分析结果以直观图表呈现的方法,以及如何生成专业的投资报告,便于沟通和决策。 前沿量化策略解析: 本书不仅涵盖了经典的量化策略,如趋势跟踪、均值回归、统计套利等,更深入探讨了当前市场备受关注的量化策略,例如: 多因子模型: 学习如何构建和应用基于多个风险因子(如市值、价值、动量、质量、波动率等)的选股模型,实现跨越周期的稳定收益。 事件驱动策略: 探索如何利用新闻、公告、财报等市场事件,通过量化方法捕捉交易机会。 宏观量化策略: 学习如何将宏观经济数据与量化模型相结合,捕捉经济周期对资产价格的影响。 另类数据应用: 介绍如何引入和分析非传统金融数据(如社交媒体情绪、卫星图像、信用卡消费数据等),发掘传统数据难以触及的alpha。 循序渐进的学习路径: 本书结构清晰,内容组织合理。从基础概念的普及,到具体代码实现的演示,再到策略的进阶应用,每个章节都承上启下,确保读者能够循序渐进地掌握量化投资的精髓。我们力求语言通俗易懂,避免过多的学术术语,让即使是初学者也能轻松入门。 丰富的案例研究与代码示例: 本书提供了大量贴近实战的案例研究,并附带完整的MATLAB代码示例。读者可以通过阅读和模仿这些代码,快速掌握核心技术,并能根据自身需求进行修改和拓展,真正做到学以致用。 适合读者群体 金融从业者: 无论是基金经理、投资分析师、交易员,还是风险管理师,本书都将为您提供升级工具和创新思路。 量化交易爱好者: 想要系统学习量化投资,并掌握利用编程工具实现交易策略的个人投资者。 金融工程、经济学、计算机科学等相关专业学生: 为您打下扎实的理论基础和实践技能,为未来职业发展奠定坚实基础。 对数据分析和算法感兴趣的各界人士: 即使您并非直接从事金融行业,本书也能为您提供一套严谨的数据分析和决策方法论,并能将其应用于其他领域。 阅读本书,您将收获: 系统性的量化投资知识体系: 从宏观到微观,从理论到实践,全面掌握量化投资的各个环节。 精湛的MATLAB编程与应用技能: 熟练运用MATLAB进行金融数据分析、策略开发与回测。 独立构建和优化量化交易系统的能力: 能够根据市场变化,自主设计、实施和迭代交易策略。 更理性、更高效的投资决策能力: 摆脱情绪化交易,用数据和模型说话。 发掘市场潜在收益的洞察力: 学习识别非传统alpha来源,捕捉更多投资机会。 在金融市场日益复杂和信息爆炸的时代,仅仅依靠直觉和经验进行投资已难以适应。量化投资为您提供了一种更科学、更严谨、更具竞争力的投资方式。本书《包邮 量化投资:以MATLAB为工具(第2版)》将是您开启量化投资之旅的最佳向导。我们相信,通过学习本书,您将能够更好地理解市场,驾驭数据浪潮,最终在投资领域取得更大的成功。
这本《包邮 量化投资:以MATLAB为工具(第2版)》的扉页上,作者用一种十分恳切的语气表达了对读者学习过程的期望,这让我感到一种温暖的连接,仿佛作者就在我身边,手把手地指导我。整本书的纸质和印刷质量都相当不错,拿在手里有分量感,阅读体验很舒适。在内容的编排上,作者似乎有意地将一些看似复杂的概念,通过循序渐进的方式呈现出来,例如在介绍一些基础的统计学概念时,他就巧妙地将其与金融市场数据的特点结合起来,让我这种对统计学不太感冒的人,也能找到学习的乐趣。 书中关于如何利用MATLAB进行数据可视化的章节,尤其让我眼前一亮。作者并没有仅仅展示MATLAB内置的绘图函数,而是深入讲解了如何通过定制化的图表来更直观地展现数据规律和策略表现,这对于我这种视觉型学习者来说,简直是福音。他还分享了一些绘制热力图、散点图矩阵以及时间序列图的技巧,这些图表能够帮助我快速地发现隐藏在数据中的模式,从而更好地理解和评估不同的投资策略。 更让我惊喜的是,书中还穿插了一些作者在实际量化交易过程中遇到的典型问题,以及他如何运用MATLAB来解决这些问题的经验分享。这些“干货”内容,是市面上其他很多书籍难以提供的。比如,关于如何处理缺失数据、如何进行异常值检测、以及如何构建高效的因子库,作者都给出了非常具体的解决方案和MATLAB代码示例。这让我在学习理论的同时,也能直接上手解决实际操作中的难题。 另外,这本书的语言风格也十分讨喜,作者善于运用生动的比喻和形象的描述,将抽象的金融概念变得生动易懂。我尤其喜欢他在解释“黑天鹅事件”时所举的例子,让我对风险有了更深刻的理解。他还时不时地在书中穿插一些关于投资心态的讨论,这对于在量化投资这条道路上,经常会遇到情绪波动的我来说,是非常及时的提醒。 总而言之,这本书不仅仅是一本关于量化投资的技术手册,更像是一位经验丰富的前辈,在悉心传授他的智慧和经验。我从这本书中获得的,不仅仅是知识,更是一种前进的动力和信心。