内容简介
本书将介绍股票、期权、利率衍生品等金融工具定价方法,如何根据市场指数进行大数据分析,以及如何使用NoSQL存储tick数据,可解决建模、交易策略优化和风险管理等金融领域的复杂问题。本书面向本科生、研究生、算法开发的初学者以及使用Python进行定量研究的金融领域软件开发人员。你无需精通Python,熟悉其基本使用情况即可。
目录
目录
前言
第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�睴ption类
4.2.4利用BinomialTreeOption类给美式期权定价
4.2.5Cox�睷oss�睷ubinstein模型
4.2.6Leisen�睷eimer模型
4.3希腊值
4.4三叉树期权定价模型
4.5期权定价中的Lattice方法
4.5.1二叉树网格
4.5.2编写BinomialCRR�睴ption类
4.5.3三叉树网格
4.6有限差分法
4.6.1显式方法
4.6.2隐式方法
4.6.3Crank�睳icolson方法
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�睮ngersoll�睷oss模型
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.7MeanRe
前言/序言
前言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�眂ontinuum�眎o/cshop/anaconda/● Enthought的Canopy 1��5或更高版本:https://store�眅nthought�眂om/downloads/其他必需的Python模块:
● Statsmodels,见http://statsmodels�眘ourceforge�眓et/● PuLP(第2章),见https://github�眂om/coin�瞣r/pulp● lxml(第6章),见http://lxml�眃e/● PyMongo 2��7(第7章),见https://pypi�眕ython�眔rg/pypi/pymongo/● IbPy(第8章),见https://github�眂om/blampe/IbPy● oandapy(第8章),见https://github�眂om/oanda/oandapy● python�瞨equests(第8章),见https://pypi�眕ython�眔rg/pypi/requests/● PyWin32(第10章),见http://sourceforge�眓et/projects/pywin32/files/可选Python模块:
● 使用pip 6��0自动安装Python包,见https://pypi�眕ython�眔rg/pypi/pip需要的软件:
● Mozilla Firefox,见https://www�眒ozilla�眔rg/en�睻S/firefox/new/● MongoDB 2��6(第7章),见http://www�眒ongodb.org/downloads● VirtualBox 4��3(第7章),见https://www�眝irtualbox�眔rg/wiki/Downloads● Cloudera QuickStart VM with CDH (Cloudera Distribution Including Apache Hadoop)(第7章),见http://www�眂loudera�眂om/content/cloudera/en/downloads/quickstart_vms�県tml● Interactive Brokers (IB) Trader Workstation (TWS)(第8章),见https://www�眎nteractivebrokers�眂om/en/ index�眕hp?f=1537● 使用Oracle Java 7运行IB TWS和OANDA fxTrade平台(第8章)● Microsoft Office Excel 2010或更高版本,并使用宏(第10章)本书的读者对象本书面向开发金融应用程序的学生和程序员,提供金融服务的顾问,金融分析师以及想要利用Python在数据可视化、交互式分析和科学计算方面的优势进行财务分析的人员。对此,你需要掌握一定的Python基础知识和金融概念,在学习每一章的技术内容之前,本书会为初学者介绍相关的背景资料。
Python金融数据分析 下载 mobi epub pdf txt 电子书 格式