第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 总结
思考与练习
· · · · · · (
收起)