-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
Python 金融數據分析——數據驅動金融 版權信息
- ISBN:9787030711175
- 條形碼:9787030711175 ; 978-7-03-071117-5
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
Python 金融數據分析——數據驅動金融 本書特色
適讀人群 :金融學專業學生,金融從業人員及其他對用Python進行金融數據分析感興趣者本書實用性、可操作性強,是一本面向金融學專業的本科生及研究生的入門級Python金融數據分析教程。
Python 金融數據分析——數據驅動金融 內容簡介
本書是為金融學專業本科生及研究生編著的一本入門級Python金融數據分析教程。隨著金融科技的發展,金融學專業學生學習Python編程語言已是一個大趨勢。目前Python教程很多,但針對金融學專業的教程比較少。本書介紹了Python在金融數據分析中常用的基礎工具,包括NumPy、Pandas、Matplotlib、TensorFlow、Keras等,同時給出了40多個金融數據分析的經典案例,包括股票市場數據分析、債券市場數據分析、衍生品市場數據分析、投資組合案例分析、金融模型模擬、機器學習股價預測、期權定價綜合應用場景案例、層次風險平價方法應用場景案例以及深度學習在金融市場中的應用場景案例等。 本書可供金融學專業學生參考,還可供金融從業人員及其他對用Python進行金融數據分析感興趣者閱讀。
Python 金融數據分析——數據驅動金融 目錄
前言
第1章 Python與金融 1
1.1 Python簡介 1
1.2 金融科技發展 2
1.3 金融數據分析 3
1.4 Python在金融中的應用 3
第2章 Python入門 4
2.1 Anaconda 4
2.2 NumPy 4
2.3 Pandas 8
2.4 Matplotlib 10
2.5 NumPy功能方法總結 13
2.6 Pandas功能方法總結 17
第3章 金融時間序列分析案例 24
3.1 股票市場數據 24
3.2 債券市場數據 38
3.3 衍生品市場數據 44
第4章 投資組合案例 50
4.1 收益率分析 50
4.2 投資風險分析 54
4.3 股權組合有效邊界 58
4.4 CAPM模型 60
第5章 衍生品定價案例 64
5.1 資產定價 64
5.2 歐式期權 65
5.3 美式期權 67
5.4 布萊克-斯科爾斯模型定價 68
5.5 二叉樹定價 70
5.6 蒙特卡羅模擬和歐拉離散化定價 73
第6章 金融模型的模擬案例 78
6.1 隨機數生成 78
6.2 蒙特卡羅模擬 82
6.3 平方根擴散 85
6.4 跳躍擴散 87
第7章 深度學習案例 90
7.1 支持向量機 90
7.2 決策樹 92
7.3 深度學習框架——TensorFlow 94
7.4 深度學習框架——Keras 96
第8章 綜合案例 103
8.1 期權定價綜合應用場景 103
8.2 層次風險平價方法應用場景 121
8.3 深度學習在金融市場中的應用場景 125
參考文獻 137
Python 金融數據分析——數據驅動金融 節選
第1章 Python與金融 1.1 Python簡介 Python是由 Guido van Rossum在20世紀80年代末和90年代初,在荷蘭國家數學和計算機科學研究所設計出來的。 Python本身也是由諸多其他語言發展而來的,其中包括 ABC、Modula-3、C、C++、Algol-68、Smalltalk、Unix Shell和其他的腳本語言等。現在 Python是由一個核心開發團隊在維護, Guido van Rossum依然發揮至關重要的作用,指導其進展。 Python已成為世界上昀流行的編程語言。 Python是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言,具有很強的可讀性。 Guido van Rossum將 Python描述為“高級編程語言,其核心設計理念在于代碼的可讀性和允許程序員用幾行代碼表達思想的語法”。 Python有如下特征: (1)Python 是一種解釋型語言。這意味著開發過程中沒有了編譯這個環節,類似于 PHP和 Perl語言。 。2)Python 是交互式語言。這意味著可以在一個 Python提示符“>>>”后直接執行代碼。 。3)Python 是面向對象語言。這意味著 Python支持面向對象的風格或將代碼封裝在對象的編程技術。 。4)Python 是初學者的語言。 Python 對初級程序員而言,是一種“友好”的語言,它支持廣泛的應用程序開發:從簡單的文字處理到 WWW瀏覽器再到游戲開發。 Python為我們提供了非常完善的基礎代碼庫,覆蓋了網絡、文件、 GUI、數據庫、文本等大量內容,被形象地稱作“內置電池”(batteries included)。用 Python開發,許多功能不必從零編寫,直接使用現成的程序即可。除了內置的庫外, Python還有大量的第三方庫和封裝庫可供人所用。 Python有如下的優點: 。1)易于學習。 Python有相對較少的關鍵字、結構簡單、語法定義明確、學習起來更為簡單,初學者是極為容易上手的。 (2)易于閱讀。 Python代碼定義明確清晰,可讀性強。閱讀一個良好的 Python程序類似于閱讀一篇語法嚴謹的英語文章,可以讓讀者專注于解決問題而不是語言本身。 。3)易于維護。 Python成功的重要方面在于它的源代碼維護相對容易。 。4)互動模式?蓮慕K端輸入執行代碼并獲得結果,可以互動測試和調試代碼片段。 。5)可移植;谄溟_放源代碼的特性, Python可以被移植到許多其他平臺。 。6)兼容性好。 Python的庫是跨平臺的,在 UNIX、Windows和 Macintosh都可以良好兼容。 。7)數據庫接口。 Python提供了所有主要的商業數據庫接口。 (8)GUI編程。支持 GUI,可以創建和移植到很多系統調用。 。9)可擴展。可以使用 C或 C++等其他語言完成一段代碼,從 Python程序中調用。 。10)可嵌入。可以將 Python程序嵌入到 C或 C++等程序。 Python也有一些缺點。**個缺點就是運行速度慢:和 C程序相比,Python程序非常慢,這是因為Python是解釋型語言,代碼在執行時會一行一行地翻譯成 CPU能理解的機器碼,這個翻譯過程非常耗時。 第二個缺點就是代碼不能加密。如果要發布你的 Python程序,實際上就是發布源代碼。C語言不用發布源代碼,只需要把編譯后的機器碼(也就是在 Windows上常見的*.exe文件)發布出去,要從機器碼反推出 C代碼是不可能的。 1.2 金融科技發展 金融科技是技術驅動的金融創新,旨在運用現代科技成果改造或創新金融產品、經營模式、業務流程等,推動金融發展提質增效。從 IT技術對金融行業的推動和變革角度來看,至今為止金融科技經歷三大發展階段: 金融 IT階段:主要是指金融行業通過傳統的 IT軟硬件來實現辦公和業務的電子化,提高金融行業的業務效率。 IT公司并不參與金融公司的業務環節, IT系統在金融公司體系內屬于成本部門。代表性產品包括 ATM、POS機、銀行的核心交易系統、信貸系統、清算系統等。 互聯網金融階段:金融業搭建在線業務平臺,通過互聯網或者移動終端渠道匯集海量用戶,實現金融業務中資產端、交易端、支付端、資金端等任意組合的互聯互通,達到信息共享和業務撮合,本質上是對傳統金融渠道的變革。代表性業務包括互聯網基金銷售、 P2P網絡借貸、互聯網保險、移動支付等。 金融科技階段:金融業通過大數據、云計算、人工智能、區塊鏈等昀新 IT技術應用,改變傳統金融的信息采集來源、風險定價模型、投資決策過程、信用中介角色等,大幅提升傳統金融的效率,解決傳統金融的痛點。代表技術如大數據征信、智能投顧、供應鏈金融等。 隨著金融科技的發展, Python也成為了金融分析的昀佳編程語言。 1.3 金融數據分析 金融數據分析就是對與股票、債券、基金等有關的金融數據進行數據分析,以達到產品定價、組合構建、優化等目的。現在我們已經步入大數據時代,不斷增長的金融數據量,也對數據處理速度和頻率提出要求。 進入21世紀以來,在行業應用和學術研究中采用 Python進行科學計算的勢頭越來越猛, Python中不斷改良的庫也讓 Python在數據分析和交互、探索性計算以及數據可視化等方面表現十分出色。 1.4 Python在金融中的應用 Python的語法很容易實現那些金融算法和數學計算,每個數學語句都能轉變成一行 Python代碼,每行允許超過十萬的計算量。同時, Python也支持嚴格的編碼模式。 Python語法精確和簡潔,它具有大量寶貴的第三方工具,這使它成為處理金融行業錯綜復雜的事務唯一可靠的選擇。 因此,Python廣泛應用于金融大數據處理、量化交易、風險管理和其他金融分析領域。 第2章 Python入門 2.1 Anaconda Anaconda是一個免費開源的 Python語言的發行版本,用于計算科學(數據科學、機器學習、大數據處理和預測分析),Anaconda致力于簡化包管理和部署,支持 Linux、Windows和 Mac系統。Anaconda的包使用軟件包管理系統 Conda進行管理。超過1200萬人使用 Anaconda發行版本,并且 Anaconda擁有超過1400個適用于 Linux、Windows和 Mac系統的數據科學軟件包。 Anaconda安裝成功后,在 Conda已經集成配置的 IDE當中,可用于 Python編譯的編譯器有 Spyder和 Jupyter Notebook。其中, Spyder比較適合進行數據分析等工作,Jupyter Notebook比較適合將教學報告處理成 html以供檢閱。但兩者都不適合編寫大規模腳本。 要獲得更多 Anaconda相關知識可前往軟件主頁了解信息。 2.2 NumPy NumPy是 Numerical Python的縮寫,是 Python語言的一個擴充程序庫。支持大量高級的數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫。我們可以用 NumPy進行一些基本的數據分析工作,如用于數據清理、子集構造、描述統計、數據聚合、異構數據集的合并等數據處理工作。 NumPy昀重要的一個特點就是它的 N維數組對象,該對象是一個通用的同構數據多維容器,可以利用這種數組對整塊數據執行一些數學運算,而不需要使用Python的 for循環,可以提升運行的效率。本節將介紹 NumPy數組的基本用法,一方面,使用 NumPy數組可以大大提升效率;另一方面, NumPy數組也是后面學習 Pandas的基礎。 1. NumPy安裝 conda install numpy或 pip install numpy 可通過以下程序驗證是否安裝成功。 from numpy import *#導入 NumPy庫 eye (5) #生成5*5對角矩陣 2.數組 NumPy簡單創建數組是使用 array函數,以列表的轉換為例: import numpy as np a =[0,1,2,3,4,5]#創建簡單的列表 b = np.array(a)#將列表轉換為數組 除了 np.array,還有一些方法可以創建多維數組,例如, zeros和 ones分別可以創建指定長度或形狀的全0或全1的數組。 array_one = np.ones([10,10])#創建10行10列的數值為浮點1的矩陣 array_zero = np.zeros([10,10])#創建10行10列的數值為浮點0的矩陣 NumPy還可以通過 np.random創建隨機數組: np.random.rand(10,10)#創建10行10列的數組(數值范圍在0至1之間) np.random.uniform(0,100)#創建0到100范圍內的一個數 np.random.randint(0,100)#創建0到100范圍內的一個整數 np.random.normal(1.75,0.1,(2,3))#給定均值/標準差/維度的正態分布 3. NumPy查看數組屬性 b.size #數組元素個數 b.shape #數組形狀 b.ndim #數組維度 b.dtype #數組元素類型 4.數組索引:獲取單個元素 在一維數組中,可以通過中括號指定索引獲取第 i個值(從0開始計數),如果用負值索引,則可以獲取數組的末尾索引,對于多維數組可以用逗號分隔。在 NumPy中可以用上述索引方式修改元素值,但是 NumPy數組是固定類型的,所以修改的時候要注意類型的統一。 b[1]#獲取第2個元素 b[-1]#獲取倒數第1個元素 c = np.random.normal(1.75,0.1,(2,3))#創建2行3列的正態分布數組 c[0,0]#獲取第1行第1列的數據 b[0]=9#將 b中第1個元素改成9 5.數組切片:獲取子數組 NumPy可以通過切片獲得子數組,切片的方式是: x[start:stop:step],默認值是 start=0,stop=維度的大小,step=1。 b[:2]#前兩個元素 b[::2]#每隔一個元素取 c[:1,:]#**行 但有一點要注意的是,在 NumPy中修改子數組時原始數組也會被修改,如果想要保留原始的數組不變,就需要用 copy()方法先復制數組。 6.數組的變形、拼接、分裂 可以通過 reshape()函數來實現數組的變形,但是這里要注意原始數組大小和變形后的數組大小要一致。 x = np.arange(1,17).reshape((4,4))#將數字1到16放入4×4的矩陣中 可以通過 np.concatenate、 np.vstack、 np.hstack來實現數組的拼接, np.concatenate的使用方法是 np.concatenate([x,y]),在拼接二維數組時,默認沿著**個維度拼接,這時的功能與 np.vstack([x,y])相同,若加參數 axis=1,則沿第二個維度拼接,這時的功能與 np.hstack([x,y]
- >
有舍有得是人生
- >
姑媽的寶刀
- >
回憶愛瑪儂
- >
自卑與超越
- >
山海經
- >
巴金-再思錄
- >
名家帶你讀魯迅:故事新編
- >
上帝之肋:男人的真實旅程