本书介绍如何利用新的程序语言进行金融建模并实现复杂的数据运算。书中讲授的程序工具与数据均可以通过公开渠道获取,通过建模与研究分析,你会对整个Python生态体系有全局性的认识。大量的实例分析也会加深你对金融风险管控的认知。
适读人群 :本书适合对Python定量研究感兴趣的金融从业者、数据分析师和软件开发人员阅读。此外,本书对那些想使用机器学习技术扩展现有金融应用程序功能的读者也有一定的参考价值。
本书系统阐述Python在金融领域的应用,不仅涵盖核心的金融理论及相关数学概念,还详细讲解行业使用的先进金融模型及Python解决方案。
本书首先介绍Jupyter Notebook的设置,随后讲解一系列金融分析中广泛应用的库(如TensorFlow、Keras、NumPy、SciPy、scikit-learn等),这些库可以帮助分析师做出基于数据分析的高效投资决策。书中结合常见的金融概念(如股票、期权、利率及其他金融衍生品等)讲解如何开发金融应用程序以及利用不同的算法实现风险分析。之后,你将学习如何对时间序列数据进行统计分析,了解如何搭建算法交易平台以利用高频数据设计交易策略,以及如何构建事件驱动的回溯测试系统来检验交易策略,评价不同策略的业绩表现。zui后,你将探索金融前沿领域正在运用的机器学习和深度学习技术。
本书适合对Python定量研究感兴趣的金融从业者、数据分析师和软件开发人员阅读。此外,本书对那些想使用机器学习技术扩展现有金融应用程序功能的读者也有一定的参考价值。
本书将介绍如何利用新的方法进行金融建模并实现复杂的数据运算。书中讲授的工具与数据均可以通过公开渠道获取,通过建模与研究分析,你会对整个Python生态系统有全局性的认识。书中的大量实例分析会加深你对金融风险管控的认知。 本书内容从Jupyter Notebook的设置开始(所有任务均在Notebook中完成),随后讲解一系列金融分析中广泛应用的库(如TensorFlow、Keras、NumPy、SciPy、scikit-learn等),这些库可以帮助分析师做出基于数据分析的高效投资决策。书中结合常见的金融概念(如股票、期权、利率及其他金融衍生品等)讲解如何开发金融应用程序以及利用不同的算法实现风险分析。之后,你将学习如何对时间序列数据进行统计分析,了解如何搭建算法交易平台以利用高频数据设计交易策略,以及如何构建事件驱动的回溯测试系统来检验交易策略,评价不同策略的业绩表现。最后,你将探索金融前沿领域正在运用的机器学习和深度学习技术。 通过阅读本书,你将学习将Python应用于金融行业的不同范例,并执行高效的数据分析。 目标读者 对Python定量研究感兴趣的金融从业者、数据分析师和软件开发人员适合阅读本书。此外,本书对那些想使用机器学习技术扩展现有金融应用程序功能的读者也有一定的参考价值。 本书的主要内容 第1章简要介绍设置Python环境(包括Jupyter Notebook)的过程。我们将使用pandas库在Jupyter中画图,以便进行时间序列分析。 第2章介绍使用Python求解线性方程组、执行整数规划,以及将矩阵代数应用于投资组合分析的线性优化过程。 第3章介绍金融中的非线性问题,探究从非线性模型中提取信息的一些方法,学习非线性波动建模中的求根方法。SciPy的优化模块包含根函数与fsolve函数,可以帮助求解非线性模型的根。 第4章探讨如何使用三叉树模型、二叉树网格和有限差分法等进行期权估值。 第5章讨论收益率曲线的推导过程,以及利用Python实现衍生品利率的短期定价模型。 第6章介绍识别主成分的主成分分析,还有用于检验时间序列是否平稳的Dicker-Fuller检验。 第7章通过讨论波动指数,对美国股票指数和VIX数据进行分析,并通过各分指数的期权价格推测主指数价格。 第8章讨论使用代理API开发均值回归和趋势跟踪的实时交易平台。 第9章讨论如何设计和实施事件驱动的回溯测试系统,以可视化模拟交易策略的表现。 第10章介绍机器学习,研究机器学习的概念及其在金融领域中的应用,还包括一些应用机器学习来协助做出交易决策的实例。 第11章介绍如何建立使用神经网络的深度学习预测模型,通过实际操作学习TensorFlow和Keras。 读者需要具备的知识 读者需要有使用Python的经验。 下载示例代码及彩色图像 本书的示例源码及所有截图和样图,可以从http://www.packtpub.com通过个人账号下载,也可以访问华章图书官网http://www.hzbook.com,通过注册并登录个人账号下载。 除此之外,还可以在GitHub上下载代码,地址为https://github.com/PacktPublishing/ Mastering-Python-for-Finance-Second-Edition。如果代码有更新,GitHub存储库也会同步更新。 排版约定 这里是本书用到的一些排版约定。 代码体:表示数据库表名称、文件夹名称、文件名、文件扩展名、路径名、伪URL、用户输入和Twitter句柄中的代码。例如:“默认情况下,pandas的.plot()命令使用matplotlib库显示图。” 代码块设置如下: 当我们希望你注意代码块的特定部分时,相关的行或项以粗体设置: 命令行输入或输出如下所示: 表示警告或重要说明。 表示提示和技巧。