首页>参考读物>计算机科学与技术>综合

Python金融数据分析
作者 : [新加坡] 马伟明(James Ma Weiming) 著
译者 : 张永冀 霍达 张彤 译
出版日期 : 2018-03-09
ISBN : 978-7-111-58998-3
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 239
开本 : 16
原书名 : Mastering Python for Finance
原出版社: Packt Publishing Ltd.
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书系统阐述Python在金融领域的应用,不仅涵盖核心的金融理论及相关数学概念,还详细讲解如何应用Python求解经典的资产定价模型、解决金融中的线性和非线性问题、开发数值程序和利率模型,以及如何根据有限差分法定价来描绘含有期权的隐含波动率曲线等。
本书还介绍了Hadoop在大数据分析中的应用以及Python和Excel的融通,包括使用Python执行MapReduce操作,用NoSQL存储数据,在Python中构建一个组件对象模型服务器和客户端界面与Excel融通,以及在Excel中即时计算期权价格。
此外,通过学习本书,你将了解如何连接到代理API,检索市场数据,生成交易信号并向交易所发送订单,以及平均回报和趋势跟踪等交易策略的实施。另外,本书还将介绍风险管理、头寸跟踪和回测技术,以帮助你管理交易策略的实施效果。

图书前言

Python已广泛应用于银行业、投资管理、保险业、房地产行业等金融领域,用于开发金融模型、管理风险和自动完成交易。许多大型金融机构依赖Python来搭建职位管理、资产定价、风险管理和交易系统等基础设施。
本书将介绍核心的金融理论,并给出它们的数学概念,以帮助读者更好地理解它们在实际中的应用价值。你将了解如何应用Python求解经典的资产定价模型,解决金融中的线性和非线性问题,开发数值程序和利率模型,以及如何根据有限差分法定价来描绘含有期权的隐含波动率曲线等。
随着高级计算技术的出现,我们必须要考虑如何存储和处理大量数据。而Hadoop是目前处理大数据的流行工具。因此本书将介绍Hadoop的工作原理及其与Python的集成,以获得金融数据的分析方法;以及如何利用Python实现NoSQL在存储非结构化数据中的应用。
目前许多公司开始向客户提供API,以使用他们定制的交易软件进行交易。通过学习本书,你将了解如何连接到代理API,检索市场数据,生成交易信号并向交易所发送指令,以及平均回报和趋势跟踪等交易策略的实施。另外,本书还将介绍风险管理、头寸跟踪和回溯测试技术,以帮助你管理交易策略的实施效果。
金融行业中,使用Microsoft Excel处理债券交易和后台业务是一种普遍现象。本书将介绍如何在Python中创建数字定价组件对象模型(COM)服务器,使你的电子表格能够即时计算和更新模型值。
本书的主要内容
第1章探讨了Python在金融领域的适用性,引入IPython作为可视化数据和执行科学计算的有效工具。
第2章介绍了使用Python求解线性方程组的方法,执行整数规划,以及将矩阵应用于投资组合分析的线性优化。
第3章讨论了使用Python构建金融非线性模型以及术根方法。
第4章探讨了如何使用三叉树模型、二叉树网格和有限差分法等进行期权估值。
第5章讨论了收益率曲线的引导过程,涵盖一些利用Python实现的衍生品利率的短期定价模型。
第6章讨论了波动率指数,对欧洲斯托克50指数波动率数据进行分析,并使用子指数的期权价格复制主要指数。
第7章介绍了Hadoop在大数据分析中的应用,如何使用Python执行MapReduce操作,以及如何使用NoSQL存储数据。
第8章探讨了逐步开发均值回归算法交易和趋势跟踪算法交易策略,以及交易系统风险管理等。
第9章讨论如何设计并实现一个事件驱动的回溯测试系统,帮助你把握模拟交易策略的性能。
第10章介绍了如何在Python中构建一个组件对象模型服务器和客户端界面与Excel融通,以及如何在Excel中即时计算期权价格。
学习本书的软硬件支持
学习本书需要安装如下软件:
操作系统:
● 能使用Python 27或更高版本的操作系统
● 第10章需要Windows XP或更高版本的操作系统
● 第7章需要有至少4GB RAM的64位主机操作系统
本书将使用以下Python包的Python、SciPy、pandas、IPython和Matplotlib模块:
● Continuum Analytics的Anaconda 21或更高版本:https://storecontinuumio/cshop/anaconda/
● Enthought的Canopy 15或更高版本:https://storeenthoughtcom/downloads/
其他必需的Python模块:
● Statsmodels,见http://statsmodelssourceforgenet/
● PuLP(第2章),见https://githubcom/coinor/pulp
● lxml(第6章),见http://lxmlde/
● PyMongo 27(第7章),见https://pypipythonorg/pypi/pymongo/
● IbPy(第8章),见https://githubcom/blampe/IbPy
● oandapy(第8章),见https://githubcom/oanda/oandapy
● pythonrequests(第8章),见https://pypipythonorg/pypi/requests/
● PyWin32(第10章),见http://sourceforgenet/projects/pywin32/files/
可选Python模块:
● 使用pip 60自动安装Python包,见https://pypipythonorg/pypi/pip
需要的软件:
● Mozilla Firefox,见https://wwwmozillaorg/enUS/firefox/new/
● MongoDB 26(第7章),见http://wwwmongodb.org/downloads
● VirtualBox 43(第7章),见https://wwwvirtualboxorg/wiki/Downloads
● Cloudera QuickStart VM with CDH (Cloudera Distribution Including Apache Hadoop)(第7章),见http://wwwclouderacom/content/cloudera/en/downloads/quickstart_vmshtml
● Interactive Brokers (IB) Trader Workstation (TWS)(第8章),见https://wwwinteractivebrokerscom/en/ indexphp?f=1537
● 使用Oracle Java 7运行IB TWS和OANDA fxTrade平台(第8章)
● Microsoft Office Excel 2010或更高版本,并使用宏(第10章)
本书的读者对象
本书面向开发金融应用程序的学生和程序员,提供金融服务的顾问,金融分析师以及想要利用Python在数据可视化、交互式分析和科学计算方面的优势进行财务分析的人员。对此,你需要掌握一定的Python基础知识和金融概念,在学习每一章的技术内容之前,本书会为初学者介绍相关的背景资料。

上架指导

计算机/数据分析

封底文字

Python最初用于科学计算,它的灵活性和稳定性使其广泛应用于数学计算和软件开发,后来迅速在金融领域取得一席之地。
本书将介绍股票、期权、利率衍生品等金融工具定价方法,如何根据市场指数进行大数据分析,以及如何使用NoSQL存储tick数据,从而解决建模、交易策略优化和风险管理等金融领域的复杂问题。

通过阅读本书,你将学到:
使用IPython Notebook实现交互计算。
求解金融模型的线性方程,进行最小二乘回归分析。
使用求根法和求解器求得非线性模型的最优解。
使用不同类型的数值程序为期权定价。
利率及衍生工具的建模分析。
使用NoSQL进行大数据管理,借助Hadoop进行分析。
用Python构建高频算法交易平台。
构造事件驱动的回溯测试模型,衡量策略执行效果。

作者简介

[新加坡] 马伟明(James Ma Weiming) 著:
James Ma Weiming 毕业于伊利诺理工大学斯图尔特商学院,获得金融学硕士学位。他编写了大量高频、低延时的开放源代码程序和工具。
在获得新加坡南洋理工大学计算机工程学士学位和南洋理工学院信息技术专业毕业证书后,James开始在新加坡工作。他从事过外汇和固定收益产品交易,还为一家基金销售平台开发移动应用程序。

图书目录

前言
第1章Python在金融中的应用
11Python适合我吗
111免费+开源
112高级、强大、灵活的编程语言
113丰富的标准库
12面向对象编程与函数式编程
121面向对象式方法
122函数式方法
123我该使用哪种方法
13我该使用哪个版本的Python
14IPython简介
141安装IPython
142使用pip
143IPython Notebook
144Notebook单元格
145IPython Notebook简单的练习
146Notebook与金融
15总结
第2章金融中的线性问题
21资本资产定价模型与证券市场线
22套利定价模型
23因子模型的多元线性回归
24线性最优化
241安装PuLP
242一个简单的线性优化问题
243线性规划的结果
244整数规划
25使用矩阵解线性方程组
26LU分解
27Cholesky分解
28QR分解
29总结
第3章非线性与金融
31非线性建模
32非线性模型举例
321隐含波动率模型
322马尔可夫机制转换模型
323门限自回归模型
324平滑转换模型
33非线性模型求根算法概述
34增量法
35二分法
36牛顿迭代法
37割线法
38求根法的结合使用
39利用SciPy求解
391SciPy求根标量函数
392通用非线性求解器
310总结
第4章利用数值方法为衍生品定价
41什么是期权
42二叉树期权定价模型
421欧式期权定价
422编写StockOption类
423编写BinomialEuropeanOption类
424利用BinomialTreeOption类给美式期权定价
425CoxRossRubinstein模型
426LeisenReimer模型
43希腊值
44三叉树期权定价模型
45期权定价中的Lattice方法
451二叉树网格
452编写BinomialCRROption类
453三叉树网格
46有限差分法
461显式方法
462隐式方法
463CrankNicolson方法
464奇异障碍期权定价
465美式期权定价的有限差分
47隐含波动率模型
48总结
第5章利率及其衍生工具
51固定收益证券
52收益率曲线
53无息债券
54自助法构建收益率曲线
55远期利率
56计算到期收益率
57计算债券定价
58久期
59凸度
510短期利率模型
5101Vasicek模型
5102CoxIngersollRoss模型
5103Rendleman and Bartter模型
5104Brennan and Schwartz模型
511债券期权
5111可赎回债券
5112可回售债券
5113可转换债券
5114优先股
512可赎回债券定价
5121Vasicek模型定价无息债券
5122提前行权定价
5123有限差分策略迭代法
5124可赎回债券定价的其他影响因素
513总结
第6章利用Python分析欧洲斯托克 50指数波动率
61波动率指数衍生品
611STOXX与欧洲期货交易所
612EURO STOXX 50指数
613VSTOXX
614VIX
62获取EUROX STOXX 50指数和VSTOXX数据
63数据合并
64SX5E与V2TX的财务分析
65SX5E与V2TX的相关性
66计算VSTOXX子指数
661获取OESX数据
662计算VSTOXX子指数的公式
663VSTOXX子指数值的实现
664分析结果
67计算VSTOXX主指数
68总结
第7章大数据分析
71什么是大数据
72Hadoop
721HDFS
722YARN
723MapReduce
73大数据工具对我来说实用吗
74获取Apache Hadoop
741从Cloudera获取QuickStart VM
742获取VirtualBox
743在VirtualBox上运行Cloudera VM
75Hadoop中的字计数程序
751下载示例数据
752map程序
753reduce程序
754测试脚本
755在Hadoop上运行MapReduce
756使用Hue浏览HDFS
76Hadoop的金融实践
761从Yahoo! Finance获取IBM股票价格
762修改map程序
763使用IBM股票价格测试map程序
764运行MapReduce计算日内价格变化
765分析MapReduce结果
77NoSQL简介
771获取MongoDB
772创建数据目录并运行MongoDB
773获取PyMongo
774运行测试连接
775获取数据库
776获取集合
777插入文档
778获取单个文档
779删除文档
7710批量插入文档
7711统计集合文档
7712查找文档
7713文档排序
7714结论
78总结
第8章算法交易
81什么是算法交易
82带有公共API的交易平台列表
83有没有最好的编程语言
84系统功能
85通过Interactive Brokers和IbPy进行算法交易
851获取Interactive Brokers的Trader WorkStation
852获取IbPy——IB API包装器
853指令路由机制
86构建均值回归算法交易系统
861设置主程序
862处理事件
863实现均值回归算法
864跟踪头寸
87使用OANDA API进行外汇交易
871什么是REST
872设置OANDA账户
873OANDA API使用方法
874获取oandapy——OAND AREST API包装器
875获取并解析汇率数据
876发送指令
88构建趋势跟踪外汇交易平台
881设置主程序
882处理事件
883实现趋势跟踪算法
884跟踪头寸
89风险价值模型
810总结
第9章回溯测试
91回溯测试概述
911回溯测试的缺陷
912事件驱动回溯测试系统
92设计并实施回溯测试系统
921TickData类
922MarketData类
923MarketDataSource类
924Order类
925Position类
926Strategy类
927MeanReverting Strategy类
928Backtester类
929运行回溯测试系统
9210改进回溯测试系统
93回溯测试模型的10个注意事项
931模型的资源限制
932模型评价标准
933估计回溯测试参数的质量
934应对模型风险
935样本数据回测
936解决回溯测试的常见缺陷
937常识错误
938理解模型环境
939数据准确性
9310数据挖掘
94回溯测试中的算法选择
941k均值聚类算法
942KNN机器学习算法
943分类回归树分析
9442k析因设计
945遗传算法
95总结
第10章Python与Excel的融通
101COM概述
102Excel与金融
103构建COM服务器
1031先决条件
1032获取pythoncom模块
1033构建BlackScholes模型COM服务器
1034注册和注销COM服务器
1035构建CoxRossRubinstein模型COM服务器
1036构建三叉网格模型COM服务器
104在Excel中构建COM客户端
1041设置VBA代码
1042设置单元格
105COM的其他功能
106总结

教学资源推荐
作者: (美)S.Brian Morriss
作者: 彭波 主编
作者: 主编 黄静 参编 方桦 李玫 黄秋颖 周鹏
参考读物推荐
作者: (英)彼得·菲斯克(Peter Fisk) 著
作者: 朱学敏 著