策略||數據可視化

策略||數據可視化

來自專欄 babyquant談量化金融6 人贊了文章

Python中,matplotlib可以視為數據可視化的基準和主力。儘管有許多其他的可視化庫,但是matplotlib已經確立了一個標杆,在許多情況下,它都是健壯、可靠的可視化工具。在標準的繪圖工作中很容易理解,對更複雜的繪圖和自定義又很靈活。此外,它與NumPy及其提供的數據結構緊密集成。下面就列舉幾個用二維數據集說明對金融應用程序中的可視化方法。

首先要先導入NumPy和matplotlib這兩個庫,主要的繪圖函數在子庫matplotlib.pyplot中:

散點圖

要介紹的第一種圖表是散點圖,這種圖表中一個數據集的值作為其他數據集的x值。例如,這種圖標類型可用於繪製一個金融時間序列的收益和另一個時間序列收益的對比。下面例子中,將使用二維數據集和其他一些數據。

直方圖

另一種圖表類型直方圖也常常用於金融收益中。它是金融應用中的重要圖表類型。主要應用plt.hist這個函數。下面顯示的是兩個數據集的數據在直方圖中堆疊。

箱形圖

另一種實用圖表類型是箱形圖。和直方圖類似,它可以簡潔概述數據集的特性,很容易比較多個數據集。通過下面的例子我們繪製出了這類圖表。

特殊金融圖表

matplotlib還提供了少數精選的特殊金融圖表。這些圖表(如柱狀圖)主要用於可視化歷史股價數據或者類似的金融時間序列數據,可以在matplotlib.finance子庫中找到:

作為一個方便的函數,且該子庫可以簡單地從雅虎財經網站(finance.yahoo.com)讀取歷史股價數據。只需要起始和結束日期,以及對應的股票代碼。下面以讀取德國DAX指數數據為例,其股票代碼為^GDAXI:

這裡quotes包含了DAX指數的時間序列數據,包括日期、開盤價、最高價、最低價、收盤價和成交量:

matplotlib.finance的繪製函數能準確理解可能傳遞的格式和數據集,這裡每日的正收益由藍色的矩形表示,負收益由紅色矩形表示。而且matplotlib會根據數據集中的日期信息,為x軸正確設置標籤:

3D圖形應用

最後一個是在金融中的3D圖形應用。金融中從3維可視化中獲益的領域不是太大。但是,波動率平面是一個應用領域,它可以同時展示許多到期日和行權價的隱含波動率。下面例子中,我們人為生產一個類似波動率平面的圖表。

為此,考慮如下因素:1.行權價格在50-150元之間。2.到期日在0.5-2.5年之間。

這提供了一個2維坐標系。我們可以使用NumPy的meshgrid函數,根據兩個1維ndarray對象生成這樣的坐標系:

上述代碼將兩個1維數組轉換為2維數組,在必要時重複原始坐標軸值:

根據新的ndarray對象,我們通過簡單的比例調整二次函數生成模擬的隱含波動率:

通過下面代碼即可得出圖表:


推薦閱讀:

傳了那麼久的金融業開放新政,為何選擇在特朗普訪華時落地?
炒房子炒不出超級大國,炒不出中國製造2025
零工經濟之業務猿平台
這一批CFA考生都在用的百題+百題精講課,「裸考」必備!

TAG:金融 | 量化 | Python |