《Python算法交易》[80M]百度网盘|pdf下载|亲测有效
《Python算法交易》[80M]百度网盘|pdf下载|亲测有效

Python算法交易 pdf下载

出版社 中国电力出版社京东自营官方旗舰店
出版年 2022-11
页数 390页
装帧 精装
评分 8.5(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供Python算法交易电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

产品特色

编辑推荐

虽然算法交易曾经是机构参与者的专属领域,但是现在已经开放给了使用在线平台的小型组织和个人交易者。今天Python及其强大的软件包生态系统是许多交易者首S选的工具。在这本非常实用的书中,本书作者向学生、学者及从业者展示了如何在有趣的算法交易领域使用Python。

你将学习几种在不同方面应用Python进行算法交易的方法,例如如何回测交易策略,以及如何与在线交易平台交互。一些非常大的买方和卖方机构都大量使用Python。通过探索系统地构建和部署自动算法交易策略,本书将帮助你实现公平竞争。

内容简介

本书的主要内容

·为算法交易配置合适的Python环境。

·了解如何从公共和专有数据源检索金融数据。

·使用NumPy和pandas探索金融分析的矢量化。

·掌握不同算法交易策略的矢量化回测。

·使用机器学习和深度学习生成市场预测。

·使用套接字编程工具对流数据进行实时处理。

·使用OANDA和FXCM交易平台实施自动算法交易策略。

作者简介

Yves J. Hilpisch是The Al Machine和The Python Quants两个组织的创始人兼首席执行官,这个组织专注于在金融数据科学、人工智能,算法交易和计算金融领域使用开源技术。他还是《Artificial Intelligence in Finance》(O'Reilly),《 Python for Finance》(O'Reilly),《Derivatives Analytics with Python》(Wiley),《Listed Volatility and Variance Derivatives》(Wiley)的作者,Yves还在量化金融认证(CQF)项目进行人工智能算法交易的讲座。

精彩书评

“很高兴看到Yves Hilpisch的作品,他把Python和云计算的复合技术跟统计和机器学习进行了融合,来捕捉金融市场的正回报。”

——McKlayne Marshal

算法交易企业家

目录

前言
第1章 Python和算法交易
1.1 Python的金融之道
1.1.1 Python与伪代码
1.1.2 NumPy和向量化
1.1.3 pandas和DataFrame类
1.2 算法交易
1.3 Python的算法交易之道
1.4 本书的重点和先决条件
1.5 交易策略
1.5.1 简单移动平均线
1.5.2 动量策略
1.5.3 均值回归
1.5.4 机器学习和深度学习
1.6 小结
1.7 参考资料和延伸资源
第2章 Python基础架构
2.1 Conda作为软件包管理器
2.1.1 安装Miniconda
2.1.2 Conda的基本操作
2.2 Conda作为虚拟环境管理器
2.3 使用Docker容器
2.3.1 Docker镜像和容器
2.3.2 构建一个带Python的Ubuntu Docker镜像
2.4 使用云实例
2.4.1 RSA公钥私钥
2.4.2 Jupyter Notebook配置文件
2.4.3 Python和Jupyter Lab的安装脚本
2.4.4 编排Droplet初始化脚本
2.5 小结
2.6 参考资料和延伸资源
第3章 处理金融数据
3.1 从不同数据源读取金融数据
3.1.1 数据集
3.1.2 用Python读取CSV文件
3.1.3 使用pandas从CSV文件读取
3.1.4 导出到Excel和JSON
3.1.5 从Excel和JSON读取数据
3.2 使用开放数据源
3.3 Eikon数据API
3.3.1 获取结构化历史数据
3.3.2 获取非结构化历史数据
3.4 高效存储金融数据
3.4.1 存储DataFrame对象
3.4.2 使用TsTables
3.4.3 用SQLite3存储数据
3.5 小结
3.6 参考资料和延伸资源
3.7 Python脚本
第4章 掌握向量化回测
4.1 利用向量化
4.1.1 使用Numpy进行向量化
4.1.2 使用pandas进行向量化
4.2 基于简单移动平均线的策略
4.2.1 入门基础
4.2.2 方法通用化
4.3 基于动量的策略
4.3.1 基础入门
4.3.2 方法通用化
4.4 基于均值回归的策略
4.4.1 基础入门
4.4.2 方法通用化
4.5 数据窥探和过度拟合
4.6 小结
4.7 参考资料和延伸资源
4.8 Python脚本
4.8.1 SMA回测类
4.8.2 动量回测类
4.8.3 均值回归回测类
第5章 通过机器学习预测市场动向
5.1 使用线性回归进行市场走势预测
5.1.1 线性回归快速回顾
5.1.2 价格预测的基本思路
5.1.3 预测指数水平
5.1.4 预测未来收益
5.1.5 预测未来市场方向
5.1.6 基于回归策略的向量化回测
5.1.7 概括方法
5.2 使用机器学习进行市场动向预测
5.2.1 scikit-learn的线性回归
5.2.2 一个简单的分类问题
5.2.3 使用逻辑回归预测市场方向
5.2.4 方法通用化
5.3 使用深度学习进行市场走势预测
5.3.1 再谈简单分类问题
5.3.2 使用深度神经网络预测市场方向
5.3.3 添加不同类型的特征
5.4 小结
5.5 参考资料和延伸资源
5.6 Python脚本
5.6.1 线性回归回测类
5.6.2 分类算法回测类
第6章 构建基于事件回测的类
6.1 回测基础类
6.2 做多回测类
6.3 多空回测类
6.4 小结
6.5 参考资料和延伸资源
6.6 Python脚本
6.6.1 回测基础类
6.6.2 做多回测类
6.6.3 多空回测类
第7章 使用实时数据和套接字
7.1 运行一个简单的实时数据服务器
7.2 连接报价数据客户端
7.3 实时生成交易信号
7.4 使用Plotly可视化流数据
7.4.1 基础部分
7.4.2 三个实时流
7.4.3 三个流的三个子图
7.4.4 流式数据与柱线图
7.5 小结
7.6 参考资料和延伸资源
7.7 Python脚本
7.7.1 样例报价数据服务器
7.7.2 报价数据客户端
7.7.3 动量在线算法
7.7.4 为柱线图提供样例数据的服务器
第8章 使用Oanda进行CFD交易
8.1 开设账户
8.2 Oanda应用程序接口
8.3 获取历史数据
8.3.1 查询可交易的金融工具
8.3.2 基于分钟柱线图回测的动量策略
8.3.3 杠杆和保证金因素
8.4 处理流式数据
8.5 下订单
8.6 实时实施交易策略
8.7 获取账号信息
8.8 小结
8.9 参考资料和延伸资源
8.10 Python脚本
第9章 使用FXCM进行外汇交易
9.1 入门
9.2 获取数据
9.2.1 获取报价数据
9.2.2 获取K线数据
9.3 使用API
9.3.1 获取历史数据
9.3.2 获取流数据
9.3.3 下单
9.3.4 账户信息
9.4 小结
9.5 参考资料和延伸资源
第10章 自动化交易操作
10.1 资本管理
10.1.1 二项式设置中的凯利准则
10.1.2 股票和指数里的凯利准则
10.2 基于机器学习的交易策略
10.2.1 向量回测
10.2.2 最优杠杆
10.2.3 风险分析
10.2.4 持久化模型对象
10.3 实时算法
10.4 基础设施和部署
10.5 日志和监控
10.6 可

前言/序言

前言
数据主义说宇宙是由数据流组成的,任何现象或实体的价值都取决于它对数据处理的贡献……数据主义由此打破了动物[ 人类] 和机器之间的障碍,并期望电子算法最终能够破译并胜过生化算法。注1
——尤瓦尔·诺亚·哈拉利
找到正确的算法来自动、成功地在金融市场进行交易是金融领域的必杀技。以前,算法交易只适用资金雄厚、管理大量资产的机构参与者。开源、开放数据、云计算和云存储领域以及在线交易平台的最新发展为小型机构和个人交易者提供了公平的竞争环境,使他们有可能开始接触这个迷人的学科。因为通常只需配备一台笔记本或台式电脑以及可靠的互联网连接即可。
如今,Python 及其强大的软件包生态系统是算法交易的首选技术平台。除此之外,Python 允许你进行高效的数据分析 [ 例如使用pandas (http://pandas.pydata.org)],将机器学习应用于股票市场预测 [ 例如使用 scikit-learn(http://scikitlearn.org)],甚至使用谷歌的深度学习技术TensorFlow(http://tensorflow.org)。
这是一本关于Python 算法交易的书,主要是在alpha 生成策略领域(参见第1 章)。
这样一本位于两个广阔而令人兴奋的领域交汇处的书很难涵盖所有相关主题,但可以深入探讨一系列重要的元主题。
这些主题包括:
金融数据
金融数据是每个算法交易项目的核心。Python 和NumPy、pandas 等软件包在处理结构化金融数据(包括日终、日内、高频)等方面做得很好。
回测
如果没有对要部署的交易策略进行严格回测,就不应该进行自动算法交易。本书涵盖了基于简单移动平均线、动量、均值回归和基于机器/ 深度学习的预测的交易策略,以及其他内容。
实时数据
算法交易需要处理实时数据,基于它的在线算法,以及实时的可视化。本书介绍了使用ZeroMQ 和流可视化进行套接字编程。
在线平台
没有交易平台,就无法进行交易。本书涵盖了两个流行的电子交易平台:Oanda(http://oanda.com)和 FXCM(http://fxcm.com)。
自动化
算法交易的美妙之处和一些主要挑战都来自交易操作的自动化。本书展示了如何在云中部署Python 以及如何设置适合自动算法交易的环境。
这本书提供了独特的学习体验,具有以下特点和好处:
相关主题的覆盖
这是唯一一本涵盖Python 算法交易相关主题的广度和深度的书(见下文)。
自包含的代码库
本书附带一个Git 仓库,其中包含独立的、可执行的所有代码。该代码库在Quant 平台(http://py4at.pqp.io)上可用。
以真实交易为目标
两种不同的在线交易平台的覆盖范围使读者能够有效地开始离线和实时交易。为此,本书为读者提供了相关的、实用的和有价值的背景知识。
自己动手和自定进度的方法
由于材料和代码是自包含的并且仅依赖于标准Python 包,因此你可以完全了解并完全控制正在发生的事情、如何使用代码示例,以及如何更改它们等。无需依赖第三方平台,例如进行回测或连接交易平台。有了这本书,你可以自己用合适的速度完成所有这些工作,并且每一行代码都可以这样做。
用户社区
尽管你应该能够无缝地跟读,但作者和Python Quant 可以提供帮助。你可以随时在Quant 平台(http://py4at.pqp.io)的用户论坛上发表问题和评论(账号免费)。
在线/ 视频培训(付费订阅)
Python Quants 提供了全面的在线培训计划(https://oreil.ly/Qy90w),这些计划利用了书中提供的内容并添加了额外的内容,涵盖了金融数据科学、金融人工智能等重要主题、用于Excel 和数据库的Python,以及其他Python 工具和技能。
内容和结构
以下是对每章中介绍的主题和内容的概述。
第1 章,Python 和算法交易
第1 章是对算法交易主题的介绍,即基于计算机算法的金融工具的自动交易。它讨论了其中的基本概念,还介绍了阅读本书的预期先决条件等。
第2 章,Python 基础架构
本章为所有后续章节奠定了技术基础,因为它展示了如何设置合适的Python 环境。本章主要使用conda 作为包和环境管理器。它介绍了通过Docker(http://docker.com)容器和云服务部署Python。
第3 章,处理金融数据
金融时序数据是每个算法交易项目的核心。本章向你展示如何从不同的公共数据源和专有数据源获取金融数据。它还演示了如何使用Python 高效地存储金融时序数据。
第4 章,掌握向量化回测
向量化是一种强大的数值计算方法,尤其适用于金融分析。本章介绍了NumPy和pandas 的向量化,并将该方法应用于基于SMA、动量和均值回归策略的回测。
第5 章,通过机器学习预测市场动向
本章致力于通过使用机器学习和深度学习方法生成市场预测。主要通过依靠过去的回报观察作为特征,提出了通过使用诸如Keras(https://keras.io)以及TensorFlow(https://oreil.ly/B44Fb)和scikit-learn(http://scikit-learn.org)等Python 包来预测明天市场方向的方法。
第6 章,构建基于事件回测的类
虽然向量化回测在代码和性能的简洁性方面具有优势,但在表示交易策略的某些市场特征方面存在局限性。另外,通过使用面向对象编程技术实现的基于事件的回测允许对此类功能进行相当细粒度和更现实的建模。本章详细介绍并解释了一个基类以及两个用于回测多头和多空交易策略的类。
第7 章,使用实时数据和套接字
即使对于雄心勃勃的个人算法交易者来说,处理实时或流数据是必须的。使用的工具是套接字编程,本章介绍了作为轻量级和可扩展技术的ZeroMQ(http://zeromq.org)。本章还说明了如何使用Plotly(http://plot.ly) 创建漂亮的交互式流图。
第8 章,使用Oanda 进行CFD 交易
Oanda(http://oanda.com)是一个外汇(forex,FX)和差价合约(CFD)交易平台,它提供了广泛的可交易工具,例如基于外汇对、股票指数、商品或利率工具(基准债券)。本章提供了通过利用Python 包tpqoa(http://github.com/yhilpisch/tpqoa),指导如何使用Oanda 实施自动算法交易策略。
第9 章,使用FXCM 进行外汇交易
FXCM(http://fxcm.co.uk) 是另一个外汇和差价合约交易平台,它最近还发布了用于算法交易的现代化RESTful API。可用工具涵盖多种资产类别,例如外汇、股票指数或商品。提供了一个Python 包,它使得基于Python 代码的算法交易变得相当方便和高效(http://fxcmpy.tpq.io)。
第10 章,自动化交易操作
本章涉及资本管理、风险分析和管理,以及算法交易操作中的自动化技术的典型任务。例如,它详细介绍了资本分配和杠杆的凯利标准。
附录
附录简要介绍了在主要章节中使用的、最重要的Python、NumPy 和pandas 主题。它代表了一个起点,随着时间的推移,人们可以从中增加自己的Python 知识。图1 展示了各章从下而上涵盖的与算法交易相关的层。它必须从Python 基础设施(第2 章)开始,然后增加金融数据(第3 章)、策略和向量化回测代码(第4 章和第5章)。在此之前,数据集作为一个整体被使用和操作。基于事件的回测首次引入了现实世界中的数据增量到达的想法(第6 章)。它是通向覆盖套接字通信和实时数据处理的连接代码层的桥梁(第7 章)。之后是需要交易平台及其API 可以下订单(第8 章和第9 章)。最后,涵盖了自动化和部署的重要方面(第10 章)。从这个意义上说,本书的主要章节与图1 中所示的层相关,这些层为要涵盖的主题提供了自然的顺序。
本书的读者对象
本书适用希望在迷人的算法交易领域应用Python 的学生、学者和从业者。本书假设你至少在基本层面上具有Python 编程和金融交易方面的背景知识。作为参考和回顾,附录介绍了重要的Python、NumPy、matplotlib 和pandas 主题。以下是很好的参考资料,可以帮助你充分理解对本书很重要的Python 主题。大多数读者至少可以阅读Hilpisch(2018)作为参考。关于应用于算法交易的机器和深度学习方法,Hilpisch(2020) 提供了丰富的背景信息和大量的具体例子。有关Python 应用于金融、金融数据科学和人工智能的背景信息可以在以下书籍中找到:
Hilpisch, Yves. 2018. Python for Finance: Mastering Data-Driven Finance. 2nd ed.Sebastopol: O’Reilly.
——. 2020. Artificial Intelligence in Finance: A Python-Based Guide. Sebastopol:O’Reilly.
McKinney, Wes. 2017. Python for Data Analysis: Data Wrangling with Pandas, NumPy,and IPython. 2nd ed. Sebastopol: O ’Reilly.
Ramalho, Luciano. 2021. Fluent Python: Clear, Concise, and Effective Programming.2nd ed. Sebastopol: O’Reilly.
VanderPlas, Jake. 2016. Python Data Science Handbook: Essential Tools for Working with Data. Sebastopol: O’Reilly.
可以在以下书籍中找到有关算法交易的背景信息:
Chan, Ernest. 2009. Quantitative Trading: How to Build Your Own Algorithmic Trading Business. Hoboken et al: John Wiley & Sons.
Chan, Ernest. 2013. Algorithmic Trading: Winning Strategies and Their Rationale.
Hoboken et al: John Wiley & Sons.
Kissel, Robert. 2013. The Science of Algorithmic Trading and Portfolio Management.
Amsterdam et al: Elsevier/Academic Press.
Narang, Rishi. 2013. Inside the Black Box: A Simple Guide to Quantitative and High Frequency Trading. Hoboken et al: John Wiley & Sons.
请尽情享受你在Python 算法交易世界中的旅程,如果有任何问题或意见,请发送电子邮件至py4at@tpq.io 与我们联系。
排版约定
在本书中,使用以下排版约定:
斜体(Italic)
表示新名词、URL、电子邮件地址、文件名以及文件扩展名。
等宽字体(Constant width)
表示程序代码,以及在正文中引用变量、函数名称、数据类型、环境变量、语句、关键字等代码中的元素。还用于展示命令和命令行的输出。
粗体等宽字体(Constant width bold)
表示需要用户输入的命令或其他文本。
斜体等宽字体(Constant width italic)
需要替换成用户自定义的值或根据上下文决定的值。
使用示例代码
你可以在https://py4at.pqp.io 的Quant 平台上访问和执行本书随附的代码,只需免费注册即可。
如果你有技术问题或者在使用代码示例时有问题,请发送电子邮件至bookquestions@oreilly.com
本书旨在帮助你完成工作。一般来说,如果本书提供了示例代码,你可以在你的程序和文档中使用它。除非你要复制大部分代码,否则你无需联系我们以获得许可。例如,使用了本书中的几段代码编写程序不需要许可。 出售或分发 O ’Reilly 书籍中的示例确实需要获得许可。通过引用本书和引用示例代码来回答问题不需要许可。
将本书中的大量示例代码合并到你的产品文档中确实需要获得许可。
我们不强制要求署名,但如果你这么做,我们深表感激。署名一般包括书名、作者、出版社和书号(ISBN)。例如,这本书可能被归为:“Python for Algorithmic Trading by Yves Hilpisch (O’Reilly). Copyright 2021 Yves Hilpisch, 978-1-492-05335-4”。
如果你认为对示例代码的使用不属于合理使用或上述许可范围,请随时通过permissions@oreilly.com 与我们联系。
O’Reilly 在线学习平台(O’Reilly Online Learning)
近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。
公司独有的专家和改革创新者网络通过O’Reilly 书籍、文章以及在线学习平台,分享他们的专业知识和实践经验。O’Reilly 在线学习平台按照您的需要提供实时培训课程、深入学习渠道、交互式编程环境以及来自O’Reilly 和其他200 多家出版商的大量书籍与视频资料。更多信息,请访问网站:https://www.oreilly.com/
联系我们
任何有关本书的意见或疑问,请按照以下地址联系出版社。
美国:
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
中国:
北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035)
奥莱利技术咨询(北京)有限公司
我们为本书提供了一个网页,上面有勘误表、示例和其他相关的信息,请访问:https://oreil.ly/py4at
有关本书的建议或者技术问题,请发邮件到errata@oreilly.com.cn
有关其他图书、讲座、会议、新闻的信息,请访问我们的网站:http://www.oreilly.com
我们的Facebook:http://facebook.com/oreilly
我们的Twitter:http://twitter.com/oreillymedia
我们的YouTube:http://www.youtube.com/oreillymedia
致谢
我要感谢技术审阅者——Hugh Brown、McKlayne Marshall、Ramanathan Ramakrishnamoorthy和Prem Jebaseelan,他们提供了有益的评论,帮助对本书的内容进行了许多改进。
像往常一样,特别感谢 Michael Schwed,他以广泛而深入的技术知识在所有技术问题上为我提供支持,无论是简单的还是高度复杂的。
基于Python 的计算金融和算法交易证书课程的代表们也帮助改进了这本书。他们持续的反馈使我能够清除错误和失误,并改进我们的在线培训课程以及现在最终在本书中使用的代码和文档。
我还要感谢O’Reilly Media 的整个团队,尤其是Michelle Smith、Michele Cronin、Victoria DeRose 和Danny Elfanbaum,他们让这一切成为现实,并帮助我在很多方面完善了这本书。
当然,所有剩余的错误都是我一个人的。
此外,我还要感谢Refinitiv 的团队,尤其是Jason Ramchandani,感谢他们提供持续的支持和对金融数据的使用。全书使用并提供给读者的主要数据文件是从Refinitiv的数据API 以这种或者那种方式接收的。
把爱献给我的家人。我将这本书献给我的父亲阿道夫,他对我和我们的家庭的支持已经持续了近五十年。