第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 總結
思考與練習
· · · · · · (
收起)