《高顿财经Python金融编程:快速入门与项目实操》[72M]百度网盘|pdf下载|亲测有效
《高顿财经Python金融编程:快速入门与项目实操》[72M]百度网盘|pdf下载|亲测有效

高顿财经Python金融编程:快速入门与项目实操 pdf下载

出版社 高顿财经京东自营官方旗舰店
出版年 2020-01
页数 390页
装帧 精装
评分 9.4(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供高顿财经Python金融编程:快速入门与项目实操电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

产品特色


编辑推荐

本书为基于Python语言的金融编程入门教材。以系统的Python 基础知识为教学脉络,并配以相关金融编程案例,讲解清晰,示范直观,突出python语言的简洁和高可读性,帮助有一定金融知识的编程小白建立起Python与金融的联系,体会python语言的魅力,打好基础,快速上手。从各知识点练习到综合运用的实战项目,循序渐进地让读者体验利用python进行金融数据分析的完整编程过程,并学会金融分析中典型方法的实际应用。

本书采用目前金融市场热门编程语言——Python,其简洁和高可读性,使得初学者能快速上手。本书不同于其他Python金融编程入门书的以金融知识为主要教学脉络,配以python基础知识的讲解。本书抓住目前市场漏洞,介于纯编程入门教材与 金融编程入门教材之间,选择采用以python基础知识为主,金融案例为辅的讲解思路。解决有一定金融知识的编程小白看懂纯编程入门书,又无法实际运用于金融编程,以及看懂金融编程入门书的金融知识,却没有系统的python知识框架的尴尬问题。另,全书直观展示Spyder环境下的编程过程:每行代码对应一个行序,不同功能代码,配以明确的中文注释 ,并通过行序对重要代码进行解读,让读者充分了解编程思路和易错误区。此外,全书采用中国开源的金融数据,有较高的实际应用价值。因此,本书的出版会极大地满足中国金融编程小白的需求,市场价值较高。

内容简介

本书以Python基础知识为教学脉络,配以相应的金融编程案例加以讲解。全书分为3部分,共19章。第1部分:基础知识(第1-12章);第2部分:Python金融编程的常用库(第13-16章);第3部分:实战项目(第17-19章)。

其中,第1部分以Python基础知识为主,从如何安装开始,通过对变量、赋值、注释的讲解,让读者了解必备的编程要素,再添以条件、循环语句、函数等,赋予程序不同功能。最后讲解包、模块、类的概念,让大家知道代码如何存储和取用更方便。

第2部分围绕金融编程常用的几个Python库——NumPy、Pandas和Matplotlib,分别解决金融编程中关于数组、时间序列和数据可视化的问题。在第一部分的基础上,让大家了解在解决实际相关金融数据分析问题时,需要将大量的数据进行怎样的操作,相关代码如何编写使得其最后的输出是我们可以运用于分析的形式。

第3部分是3个金融实战项目,是对于前面章节的综合运用。采取一章节一个项目,包含:期权定价模型、寻找投资组合以及银行板块低估值选股策略。从讲解金融知识背景,到分析问题,理出代码编写思路,导入数据,编写代码,运行和回测。


作者简介

高顿财经研究院创立于2009年,现有200多名研究员和学术老师,目前已出版财经图书近50种。研究院将研发与教学并重,在财经教育领域不断探索研究,为学员提供前瞻性、高水准的知识服务。高顿财经研究院在衍生品研发及对冲策略研究、量化风险模型、量化策略开发及实施、机器学习、高频交易等领域均设立研究项目和开发相关课程。

精彩书评

第1部分 基础知识

第1章 初识编程和Python

1.1 程序与编程语言

1.1.1 什么是程序

1.1.2 编程语言的分类

1.2 Python简介

1.2.1 什么是 Python

1.2.2 Python的特点

1.2.3 为什么金融行业喜欢使用Python

1.3 安装Python及相关软件

1.3.1 版本选择:Python 2 与 Python 3

1.3.2 Anaconda

1.3.3 安装 Anaconda

1.3.4 检査是否安装成功

思考与练习

编程练习

第2章 Python程序实例分析

2.1 第一个Python小程序

2.1.1 编写 Hello World 程序

2.1.2 运行 Hello World 程序

2.1.3 使用集成开发环境运行Python程序

2.1.4 使用第三方工具包

2.1.5 学会使用Python的帮助文档

2.2 案例:汇率换算

2.2.1 程序开发过程

2.2.2 Python程序的基本元素分析

思考与练习

编程练习

第3章 变量与数据类型

3.1 变量的定义与运用

3.1.1 为什么需要使用变量

3.1.2 变量的赋值

3.1.3 变量的命名规则

3.1.4 多变量的赋值

3.2 数据类型:数字

3.2.1 数字的基本类型

3.2.2 数字类型的基本操作

3.2.3 布尔类型

3.3 数据类型:字符串

3.3.1 字符串的基本定义

3.3.2 字符串的基本操作

3.3.3 字符串的内置函数

3.3.4 字符串的内置方法

3.4 数据类型的相互转换

3.4.1 査看数据类型

3.4.2 整数与浮点数之间的转换

3.4.3 整数、浮点数与布尔类型之间的转换

3.4.4 数字与字符串之间的转换

3.5 案例:计算资金的时间价值

思考与练习

编程练习

第4章 赋值输入与格式化输出

4.1 赋值输入

4.1.1 input语句的使用

4.1.2 如何获取数字类型的输入

4.2 格式化输出

4.2.1 format方法的概述

4.2.2 输出内容的序号设置

4.2.3 文本内容的格式化输出

4.2.4 数字内容的格式化输出

4.2.5 格式化修饰符和标记的混合使用

4.3 print函数

4.3.1 print函数与format方法的结合使用

4.3.2 print函数的换行属性

4.3.3 利用print函数同时打印多个表达式

4.4 案例:现值计算器升级版

思考与练习

编程练习

第5章 使用注释及其他编程规范

5.1 注释的介绍与运用

5.1.1 为什么需要使用注释

5.1.2 单行注释

5.1.3 多行注释

5.1.4 代码块

5.2 编程规范

5.2.1 标识符

5.2.2 基本代码格式

思考与练习

第6章 条件语句

6.1 程序的结构

6.1.1 流程图的介绍

6.1.2 程序的基本结构

6.1.3 程序的控制语句

6.1.4 关系运算

6.2 条件语句

6.2.1 if语句:单分支结构

6.2.2 if-else语句:双分支结构

6.2.3 if-elif-else语句:多分支结构

6.3 条件语句实例操作:投资组合的判断

6.3.1 遍历判断

6.3.2 树形判断

6.3.3 贪婪算法

6.3.4 内置函数 max()

思考与练习

编程练习

第7章 循环结构

7.1 循环结构

7.2 遍历循环结构:for 语句

7.2.1 基本for语句

7.2.2 for-else 语句

7.3 条件循环结构:while 语句

7.3.1 基本 while 语句

7.3.2 while-else 语句

7.4 循环嵌套

7.4.1 for 循环嵌套

7.4.2 while 循环嵌套

7.5 转向语句

7.5.1 break 语句

7.5.2 continue 语句

7.6 空语句:pass 语句

思考与练习

编程练习

第8章函数

8.1 函数的概述

8.1.1 函数的基本概念

8.1.2 函数的功能

8.1.3 函数的来源

8.2 函数的定义及调用

8.2.1 函数的定义

8.2.2 函数的调用

8.2.3 函数的简单应用

8.3 函数的扩展

8.3.1 函数的参数

8.3.2 函数变量的作用域

8.4 匿名函数 lambda

8.4.1 匿名函数

8.4.2 匿名函数的优缺点

8.5 内置函数

8.6 实例操作

思考与练习

编程练习

第9章 列表

9.1 列表的概述

9.1.1 列表的形式

9.1.2 列表的特征

9.2 列表的基本操作

9.2.1 列表的创建

9.2.2 列表的拼接

9.2.3 列表的重复

9.2.4 列表的访问

9.2.5 列表的修改

9.2.6 列表的遍历

9.2.7 列表的成员检査

9.3 列表的函数与方法

9.3.1 列表的基本运算

9.3.2 列表的处理

9.4 元组

9.4.1 元组与列表

9.4.2 元组的创建

9.4.3 元组的基本操作

9.4.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.2.5 字典的成员检査

10.3 字典的函数与方法

10.3.1 对字典的处理

10.3.2 元素处理

10.4 实例操作

思考与练习

编程练习

第11章 包与模块的导入

11.1 Python程序的组织结构

11.2 创建自己的模块

11.3 导入模块

11.3.1 导入同级目录下的模块

11.3.2 导入不同级目录下的模块

第12 章 面向对象

12.1 面向对象的程序设计

12.1.1 对象与类的基本概念

12.1.2 类的举例

12.2 类的运用

12.2.1 创建类

12.2.2 类的实例化

12.2.3 设置类的默认参数

12.2.4 类的类型

12.3 类的继承

12.3.1 继承类的简介

12.3.2 继承类的语法

12.3.3 继承类的运用

思考与练习

第2部分 Python金融编程的常用库

第13章 NumPy数据结构及运用

13.1 NumPy库简介及导入

13.1.1 NumPy库简介

13.1.2 NumPy库的导入

13.2 数组的创建及其基本属性

13.2.1 一个简单的运用场景

13.2.2 直接创建数组并査看其基本属性

13.2.3 创建等差数组

13.2.4 创建随机数组

13.2.5 创建特殊的数组

13.2.6 根据已有数组来创建新数组

13.2.7 数组的类型的设定与转换

13.3 数组的索引与切片

13.3.1 简单索引

13.3.2 切片的索引与赋值

13.3.3 间隔索引

13.3.4 二维数组的索引与切片

13.3.5 布尔索引

13.3.6 智能索引

13.4 数组的形态操作

13.4.1 数组的重排

13.4.2 数组的转置

13.5 数组的运算

13.5.1 数组和标量之间的运算

13.5.2 数组和数组之间的运算

13.5.3 通用函数

13.6 数组的遍历

13.6.1 索引遍历

13.6.2 元素遍历

思考与练习

编程练习

第14章 Pandas基础:如何分析金融时间序列数据

14.1 Pandas的简介与导入

14.2 金融时间序列数据的导入

14.2.1 数据的基本描述

14.2.2 时间序列数据的导入

14.3 Series与DataFrame

14.3.1 为什么需要 Series 与 DataFrame

14.3.2 DataFrame的基本介绍与索引

14.3.3 利用DataFrame全方位了解数据

14.3.4 DataFrame 的运算

14.4 利用DataFrame 处理金融时间序列数据

14.4.1 时间序列的差分与滞后处理

14.4.2 时间序列缺失值的处理

14.4.3 时间序列的排序

14.4.4 累计成交量、

市值与移动平均线

思考与练习

编程练习

第15章 数据可视化输出

15.1 Matplotlib 模块简介

15.2各类图形的绘制

15.2.1折线图

15.2.2散点图

15.2.3柱状图

15.2.4同时绘制多种图像

15.3实例运用

15.3.1 实例一:欧式期权价值与标的资产价格

15.3.2 实例二:欧式看涨期权与执行价格

思考与练习

编程练习

第16章 异常处理

16.1 例外与异常信息

16.1.1 程序的例外情况

16.1.2 异常信息

16.2 常见的异常处理

16.2.1 单异常处理

16.2.2 多异常处理

16.3 实例操作

思考与练习

第3部分实战项目

第17章 期权定价模型

17.1 理论背景知识

17.1.1 股票期权的定义

17.1.2 期权的分类

17.1.3 影响期权合约定价的因素

17.1.4 BSM期权定价模型

17.1.5 期权的风险指标

17.2 上证50ETF与上证50ETF期权

17.3 项目的实现

17.3.1 工具包的导入

17.3.2 看涨期权的定义

17.3.3 期权的初始化

17.3.4 实例化运用

17.3.5 风险分析

17.4 总结

编程练习

第18章 寻找投资组合

18.1 理论模型

18.1.1 背景知识

18.1.2 马科维茨均值方差模型

18.2 模型的实现

18.2.1 导入模块

18.2.2 导入数据

18.2.3 投资组合产品的权重模拟

18.2.4 确定投资组合的有效前沿

18.2.5 加入无风险资产后的市场组合

18.2.6 组合配置

18.3 总结

编程练习

第19章 银行板块低估值选股策略

19.1 选股策略的基本思路

19.2 初步整理数据文件

19.2.1 stock_basic:银行股的基本信息

19.2.2 stock_daily:银行股的每日交易状况

19.2.3 daily-basic:银行股每月最后一个交易日的交易状况

19.2.4 index-daily:银行股指数每个交易日的交易状况

19.3 编写自定义库:utils

19.3.1 grouping_ld 函数

19.3.2 grouping 函数

19.3.3 get_w 函数

19.4 策略的实现

19.5 模型的回测

19.6 结果展示

19.7 策略超额收益的稳健性分析

19.8 策略评价

19.9 总结

思考与练习

前言/序言

乘上时代浪潮,不落后很必要!

2016年3月,由谷歌旗下DeepMind研发的人工智能机器人阿尔法围棋(AlphaGo)战胜了 世界围棋冠军李世石,从而宣告一直被视为人工智能禁地的围棋领域也最终被攻克,同时也标志 着人工智能时代离我们越来越近了。随着人工智能技术的不断发展,国内外各行各业、各年龄段 再次掀起了一波编程学习的浪潮。金融行业当然也不例外。近年来在金融领域兴起的大数据分析、 机器学习、区块链技术等各种金融科学技术都必须以金融编程能力为基础来寻求最佳解决方案。 更重要的是,金融编程技术不再被视为专业技术人员才需要掌握的必备技能,随着金融科技在行 业内的广泛运用,即便没有专业技术的金融从业人员也需要具备基本的金融编程思维才能对其所 面对的业务有更加深入的理解。可以预见,金融編程能力将逐渐成为新一代金融从业人员的必备 技能之一。

金融大明星Python,前来为你开路!

据不完全统计,全世界的编程语言多达600多种。学习金融编程,从哪一种语言开始最合适 呢?目前,金融行业运用较多的编程语言包括Python、C++、C#、Matlab与R语言。这些编程语 言各有优势,但不可否认随着Python语言近年来的流行,大有赶超其他语言的趋势,被称为金融 编程的第一语言。2018年,在由国际电子和电气工程师联合会(IEEE)颁布的第五届年度编程 语言排行榜中,Python力压C++、C、Java与C#等传统编程语言问鼎榜首。Python的简洁性、 可移植性以及易学性受到金融业内人士的青睐,Python的第三方库也为近年来金融领域兴起的人 工智能、机器学习以及区块链技术的实现提供了极其便捷的解决方案。如果读者还没有任何编程 经验,那么将Python作为您的第一个编程语言是一个很好的选择。

我们不走寻常路,金融编程应该这样学!

那么,一位零编程基础的金融从业人员怎样才能最有效地开启金融编程之旅呢?诚然,市面 上不乏优秀的金融编程书籍,但真正适合“从零开始学"的金融編程书籍少之又少。多数金融编 程类图书通常在开头几章介绍下Python或其他编程语言的基本用法,然后读者就必须立马切换到 大段大段复杂且缺少详细解释的程序学习上。这样的写作模式使得这类书籍的定位更像是一本编 程语言的操作手册。这对于有編程经验的金融从业人员来说也许比较高效,但却忽视了对零基础者编程思维的培养。尤其对于完全没有编程经验的小白来说,阅读这类编程书籍往往会陷入一个 “从入门到放弃”的痛苦过程。

我们编写本书的目的就是要尝试解决这一困境。本书具有以下几个方面的特色:

第一,本书坚持使用金融的例子来系统地讲解Python编程中的基本概念,并注重编程思维的 培养。

第二,我们假设阅读本书的读者在编程上是真正的“零基础”,对每段代码的讲解要比同类 书籍详细。

第三,本书定位为Python金融编程的入门书籍,书中选取的例子一定是简单但能有效地能帮 助读者理解相关概念的。

第四,本书从入门开始但并不止于入门,如果读者能够不参考我们提供的代码独立实现书中的案例、项目及课后习题,就说明您的金融编程能力已经不限于入门了。

内容至上,系统的Python知识带你快速入门!

全书可分为三个部分。第1部分为第1章到第12章,主要讲述Python编程所必须了解的基 本概念及相关操作:包括变量、格式化输出与输入、注释、条件语句、循环语句、列表、元组、 字典、函数、类等。学完本部分内容读者将储备开发复杂金融程序所需要的基本知识,并具备独 立开发金融小程序的能力。

第2部分为第13章到第16章,主要讲述Python在金融编程中常用的两个利器:NumPy与 Pandas库的基本使用方法。学完本部分内容读者将对如何玩转金融数据有了初步的了解,具备分 析、处理金融数据的能力。

第3部分为第17章到第19章,详细介绍了三个完整金融编程项目实现。这三个项目中,有两个项目涉及金融理论的编程实现,一个项目涉及投资策略的实现。学完本部分内容读者能将前 文学到的知识学以致用,体会金融编程的整个域程。

在全书的三个部分中,第1部分与第2部分用到的例子是相对简单的,我们希望读者能够较 为顺利地阅读完前两部分,具备金融编程的基本知识。虽然前两部分的正文难度不大,但在每一章后面我们也为读者准备了大量的思考题与编程题。其中的一部分题目是具有一定难度的,同时 第3部分的三个项目也具有的一定的挑战性的。我们建议读者在使用本书的过程中不要机械地将 书中的代码“抄入"您的程序中,而是能够合上书本,自行编写程序实现相应功能。只有这样做, 您的金融编程能力才能真正地从入门走向提高。

高顿财经研究院