Python金融大数据分析pdf下载

Python金融大数据分析百度网盘pdf下载

作者:
简介:Python金融大数据分析
出版社:人民邮电出版社
出版时间:2015-12-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

编辑推荐

  金融行业已经以惊人的速度采用Python,一些大的投资银行和对冲基金使用Python来构建核心的交易和风险管理系统。本书可以帮助开发人员和量化分析人员入门Python,并指导他们掌握Python在计量金融学上的重要应用。
  本书通过大量的实用示例并以一个大型的真实案例研究为基础,讲解如何为基于蒙特卡洛模拟的衍生品和风险分析开发一个成熟的框架。本书大部分内容使用了交互式的IPython Notebooks,并包含了如下主题。
  基础知识:Python数据结构,NumPy数组处理、用pandas进行时间序列分析,用matplotlib可视化,用PyTables进行高性能I/O操作,日期/时间信息处理和精选的实践。
  金融主题:使用了NumPy、SciPy和SymPy的数学技术,例如回归和优化;用于蒙特卡洛模拟、风险价值、风险信用价值计算的推断统计学;用于正态性检验、均方差投资组合优化、主成分分析(PCA)和贝叶斯回归的统计学。
  特殊主题:用于金融算法的高性能Python,如向量化和并行化;Python与Excel的集成;以及构建基于Web技术的金融应用程序。


  特别说明:购买此电子书,暂无附赠光盘,敬请谅解。

  
内容简介
  Python凭借其简单、易读、可扩展性以及拥有巨大而活跃的科学计算社区,在需要分析、处理大量数据的金融行业得到了广泛而迅速的应用,并且成为该行业开发核心应用的编程语言。《Python金融大数据分析》提供了使用Python进行数据分析,以及开发相关应用程序的技巧和工具。
  《Python金融大数据分析》总计分为3部分,共19章,第1部分介绍了Python在金融学中的应用,其内容涵盖了Python用于金融行业的原因、Python的基础架构和工具,以及Python在计量金融学中的一些具体入门实例;第2部分介绍了金融分析和应用程序开发中重要的Python库、技术和方法,其内容涵盖了Python的数据类型和结构、用matplotlib进行数据可视化、金融时间序列数据处理、高性能输入/输出操作、高性能的Python技术和库、金融学中需要的多种数学工具、随机数生成和随机过程模拟、Python统计学应用、Python和Excel的集成、Python面向对象编程和GUI的开发、Python与Web技术的集成,以及基于Web应用和Web服务的开发;第3部分关注的是蒙特卡洛模拟期权与衍生品定价实际应用的开发工作,其内容涵盖了估值框架的介绍、金融模型的模拟、衍生品的估值、投资组合的估值、波动率期权等知识。
  《Python金融大数据分析》适合对使用Python进行大数据分析、处理感兴趣的金融行业开发人员阅读。
作者简介
  Yves Hilpsch,是Python Quants(德国)股份有限公司的创始人和任事股东,也是Python Quants(纽约)有限责任公司的共同创办人。该集团提供基于Python的金融和衍生品分析软件(参见//pythonquants.com,//quant-platfrom.com和//dx-analytics.com),以及和Python及金融相关的咨询、开发和培训服务。
  Yves还是Derivatives Analytics with Python(Wiley Finance,2015)的作者。作为获得数理金融学博士学位的商业管理专业研究生,他在萨尔州大学讲授计算金融学中的数值化方法课程。
目录
版权信息
业界评论
前言
致谢
第1部分 Python与金融
第1章 为什么将Python用于金融
1.1 Python 是什么
1.2 金融中的科技
1.3 用于金融的Python
1.4 结语
1.5 延伸阅读
第2章 基础架构和工具
2.1 Python部署
2.2 结语
2.3 延伸阅读
第3章 入门示例
3.1 隐含波动率
3.2 蒙特卡洛模拟
3.3 结语
3.4 延伸阅读
第2部分 金融分析和开发
第4章 数据类型和结构
4.1 基本数据类型
4.2 基本数据结构
4.3 NumPy数据结构
4.4 代码向量化
4.5 内存布局
4.6 结语
4.7 延伸阅读
第5章 数据可视化
5.1 二维绘图
5.2 金融学图表
5.3 3D绘图
5.4 结语
5.5 延伸阅读
第6章 金融时间序列
6.1 pandas基础
6.2 金融数据
6.3 回归分析
6.4 高频数据
6.5 结语
6.6 延伸阅读
第7章 输入/输出操作
7.1 Python基本I/O
7.2 Pandas的I/O
7.3 PyTables的快速I/O
7.4 结语
7.5 延伸阅读
第8章 高性能的Python
8.1 Python范型与性能
8.2 内存布局与性能
8.3 并行计算
8.4 多处理
8.5 动态编译
8.6 用Cython进行静态编译
8.7 在GPU上生成随机数
8.8 结语
8.9 延伸阅读
第9章 数学工具
9.1 逼近法
9.2 凸优化
9.3 积分
9.4 符号计算
9.5 结语
9.6 延伸阅读
第10章 推断统计学
10.1 随机数
10.2 模拟
10.3 估值
10.4 风险测度
10.5 结语
10.6 延伸阅读
第11章 统计学
11.1 正态性检验
11.2 投资组合优化
11.3 主成分分析
11.4 贝叶斯回归
11.5 结语
11.6 延伸阅读
第12章 Excel集成
12.1 基本电子表格交互
12.2 用Python编写Excel脚本
12.3 xlwings
12.4 结语
12.5 延伸阅读
第13章 面向对象和图形用户界面
13.1 面向对象
13.2 图形用户界面
13.3 结语
13.4 延伸阅读
第14章 Web集成
14.1 Web基础知识
14.2 Web图表绘制
14.3 快速Web应用
14.4 Web服务
14.5 结语
14.6 延伸阅读
第3部分 衍生品分析库
第15章 估值框架
15.1 资产定价基本定理
15.2 风险中立折现
15.3 市场环境
15.4 结语
15.5 延伸阅读
第16章 金融模型的模拟
16.1 随机数生成
16.2 泛型模拟类
16.3 几何布朗运动
16.4 跳跃扩散
16.5 平方根扩散
16.6 结语
16.7 延伸阅读
第17章 衍生品估值
17.1 泛型估值类
17.2 欧式行权
17.3 估值类
17.4 美式行权
17.5 结语
17.6 延伸阅读
第18章 投资组合估值
18.1 衍生品头寸
18.2 衍生品投资组合
18.3 结语
18.4 延伸阅读
第19章 波动率期权
19.1 VSTOXX数据
19.2 模型检验
19.3 基于VSTOXX的美式期权
19.4 结语
19.5 延伸阅读
前言
  前言
  不久以前,在金融行业,Python作为一种编程语言和平台技术还被视为异端。相比之下,2014年有许多大型金融机构——如美国银行、美林证券的“石英”项目或者摩根大通的“雅典娜”项目——战略性地使用了Python和其他既定的技术,构建、改进和维护其核心IT系统。众多大大小小的对冲基金也大量使用Python的功能,进行高效的金融应用程序开发和金融分析工作。
  同样,当今许多金融工程硕士课程(或者授予类似学位的课程)也使用Python作为核心语言之一,教授计量金融理论与可执行计算机代码之间的转换方法。针对金融专业人士的教育项目和培训也越来越多地在课程中加入Python。有些课程将它作为主要实现语言。
  Python最近取得这样的成功,而且在未来似乎还会继续下去,这有许多原因。其中包括它的语法、Python开发人员可用的科学生态系统和数据分析库、易于和几乎所有其他技术集成,以及其开源地位(更多这方面的深入探讨请参见第1章)。
  因此,有许多好的书籍,从不同角度和焦点传授Python。本书是最先介绍和传授Python金融应用的书籍之一,特别是将Python用于计量金融学和金融分析。书中采用的方法很实用,实现和说明先于理论细节,通常将焦点更多地放在大局上,而非某些类或者函数晦涩难懂的参数化选项。
  本书的大部分是在基于浏览器的强大交互式环境IPython Notebook(在第2章中有更详细的介绍)中编写的,因此有可能为读者提供本书中几乎所有例子的可执行、交互式版本。
  希望立即开始使用完备的交互式Python(以及R和Julia)金融分析环境的读者,应该前往//oreilly.quant-platform.com,尝试Python Quant平台(结合本书提供的IPython Notebook文件)。你还应该关注基于Python的金融分析库DX analytics(//dx-analytics.com)。我的另一本书《Derivatives Analytics with Python》(Wiley Finance)更详细地介绍高级衍生品分析的理论和数值方法,书中也提供了丰富而易用的Python代码。进一步的材料,特别是有关Python计量金融学应用的幻灯片及视频,可以在我的私人网站上找到(//hilpisch.com)。
  如果你想参加Python 计量金融学应用社区的活动,在世界上的金融中心有各种各样的机会。例如,我自己在伦敦(//www.meetup.com/Python-for-Quant_finance-London/)和纽约(//www.meetup.com/Python-for-Quant_finance-NYC/)组织以此为焦点的讨论组。每年还有多次For Python Quants会议和研讨(//forpythonquants.com和//pythonquants.com)。
  对于Python确立金融行业中重要技术地位这一事实,我确实感到很兴奋。我敢肯定,它在未来将会起到更重要的作用,例如在衍生品和风险分析或者高性能计算领域中。我希望本书能够帮助专业人士、研究人员和学生在面对这一迷人领域中的挑战时,最大限度地利用Python。
  本书的惯例
  提示
  提示这个图标用来强调一个提示、建议或一般说明。
  警告
  警告这个图标用来表示一个警告或注意事项。
  代码示例的使用
  补充材料(特别是 IPython Notebooks 和 Python 脚本/模块)可以从//oreilly.quant-platform.com下载。
  本书的目的是为了帮助读者完成工作。一般而言,你可以在你的程序和文档中使用本书中的代码,而且也没有必要取得我们的许可。但是,如果你要复制的是核心代码,则需要和我们打个招呼。例如,你可以在无需获取我们许可的情况下,在程序中使用本书中的多个代码块。但是,销售或分发O'Reilly 图书中的代码光盘则需要取得我们的许可。通过引用本书中的示例代码来回答问题时,不需要事先获得我们的许可。但是,如果你的产品文档中融合了本书中的大量示例代码,则需要取得我们的许可。
  在引用本书中的代码示例时,如果能列出本书的属性信息是最好不过。一个属性信息通常包括书名、作者、出版社和 ISBN。例如:“Python for Financeby Yves Hilpisch(O'Reilly).Copyright 2015Yves Hilpisch,978-1-491-94528-5.”
  在使用书中的代码时,如果不确定是否属于正常使用,或是否超出了我们的许可,请通过permissions@oreilly.com与我们联系。
  联系方式
  如果你想就本书发表评论或有任何疑问,敬请联系出版社:
  美国:
  O'Reilly Media Inc.
  1005 Gravenstein Highway North
  Sebastopol,CA 95472
  中国:
  北京市西城区西直门南大街2号成铭大厦C座807室(100035)
  奥莱利技术咨询(北京)有限公司
  我们还为本书建立了一个网页,其中包含了勘误表、示例和其他额外的信息。你可以通过如下地址访问该网页:
  //bit.ly/python-finance
  关于本书的技术性问题或建议,请发邮件到:
  bookquestions@oreilly.com
  欢迎登录我们的网站(//www.oreilly.com),查看更多我们的书籍、课程、会议和最新动态等信息。
  Facebook://facebook.com/oreilly
  Twitter://twitter.com/oreillymedia
  YouTube://www.youtube.com/oreillymedia
  Safari® 在线图书
  Safari在线图书是一个按需订阅的数字图书馆。它有不少于7500本技术和创意相关的书籍和视频供你参考和搜索。
  通过订阅,你可以在线阅读任何页面或任何视频,甚至可以从手机或移动设备上在线阅读。你可以在书籍出版前访问到它们,并给读者发送反馈。其他功能还包括:复制和粘贴代码、组织收藏夹、下载和标记章节、做笔记、打印等。
  O'Reilly Media 已经将本书英文版上传到Safari在线图书服务。在//my.safaribooksonline.com上免费注册,你就可以访问本书所有章节以及类似主题的书籍。
精彩书摘
  本部分介绍Python的金融学应用,包括3章。
  第1章简短地讨论Python的总体情况,证明Python确实适合于处理金融行业和财务(数据)分析中遇到的技术难题。
  第2章介绍Python基础架构和工具,目的是简洁地概述用Python开始交互式分析和应用程序开发所需要了解的最重要知识;相关的附录A纵览一些精选的Python开发最佳方法。
  第3章立即进入3个具体的金融实例:说明如何用Python计算期权的隐含波动率、如何用Python和数组库Numpy模拟金融模型,以及如何实现基于趋势投资策略的事后检验。本章为读者提供使用Python进行金融分析的感性认识——在这一阶段,细节并不重要,在第2部分会对所有细节进行解释。
  第1章 为什么将Python用于金融
  银行本质上是技术公司。
  ——Hugo Banziger
  1.1 Python 是什么
  Python 是一种高级的多用途编程语言,广泛用于各种非技术和技术领域。在 Python 网站上,你可以找到如下行动纲领(https://www.python.org/doc/essays/blurb):
  Python是一种具备动态语义、面向对象的解释型高级编程语言。它的高级内建数据结构和动态类型及动态绑定相结合,使其在快速应用开发上极具吸引力,也适合于作为脚本或者“粘合剂”语言,将现有组件连接起来。Python 简单、易学的语法强调可读性,因此可以降低程序维护成本。Python 支持模块和软件包,鼓励模块化和代码重用。Python 解释程序和大量标准库可以源代码或者二进制形式免费取得,用于所有主要平台,并且可以随意分发。
  上述纲领很好地描述了 Python 成为当今主要编程语言之一的原因。当前,在学校、Web 公司、大型企业和金融机构以及任何科学领域,都有初学者和熟练的专业开发人员在使用 Python。
  Python有如下特征。
  开放源码
  Python和大部分可用的支持库及工具都是开源的,通常使用相当灵活和开放的许可证。
  解释型
  Cpython参考实现是该语言的一个解释程序,在运行时将Python代码翻译为可执行字节代码。
  多重范型
  Python支持不同的编程和实现范型,例如面向对象和命令式、函数式或者过程式编程。
  多用途
  Python可以用于快速、交互式代码开发,也可以用于构建大型应用程序;它可以用于低级系统操作,也可以承担高级分析任务。
  跨平台
  Python可用于大部分重要的操作系统,如Windows、Linux和Mac OS;它用于构建桌面应用和Web应用;可以在最大的群集和最强大的服务器上使用,也可以在树莓派(//www.raspberrypi.org)这样的小设备上运行。
  动态类型
  Python中的类型通常在运行时推知,而不像大部分编译语言那样静态声明。
  缩进感知
  和大部分其他编程语言不同,Python使用缩进标记代码块,代替圆括号、方括号或者分号。
  垃圾收集
  Python具有自动垃圾收集机制,避免程序员管理内存。
  关于Python语法及其意义,Python增强提案20——即所谓的“Python之禅”——提供了重要的指导方针。每个交互shell都可以用命令import this访问它:
  1.1.1 Python简史
  Python对于某些人来说可能还是个新事物,但是它已经出现了很长时间。实际上,早在20世纪80年代,荷兰人Guido van Rossum就开始了开发工作。他现在仍然活跃于Python开发中,被Python社区授予“仁慈独裁者”的称号(//en.wikipedia.org/wiki/History_of_Python)。下面是Python开发的里程碑:
  1991年发行的Python 0.9.0(第一个发行版本);
  1994年发行的Python 1.0;
  2000年发行的Python 2.0;
  2008年发行的Python 2.6;
  2010年发行的Python 2.7;
  2008年发行的Python 3.0;
  2010年发行的Python 3.3;
  2014年发行的Python 3.4。
  值得注意的是,有两个可用的主要版本仍然在开发之中,更重要的是,它们从2008年起并行使用,这有时候令Python初学者感到困惑。到本书编著之时,这种情况已经持续了一段时间,因为两个版本之间没有100%的代码兼容性,而且不是所有流行程序库都可以用于Python 3.x。大部分可用和生产代码仍然是用Python 2.6/2.7编写的,本书基于2.7.x版本,但是大部分代码示例应该可以在3.x版本上运行。
精彩插图