Python的功能不可以說不大,在金融資料分析裡面有著很方便的應用。本篇文章給大家分享的內容是Python之擷取與簡單處理金融資料,有著一定的參考價值,有需要的朋友可以參考一下
1.資料擷取
pandas包中有內建的資料擷取介面,詳細的大家可以去其官網上找,是io.data下的DataReader方法。
import numpy as npimport pandas as pdimport pandas.io.data as webimport math#從雅虎財經擷取DAX指數的資料DAX = web.DataReader(name='^GDAXI', data_source='yahoo',start = '2000-1-1')#查看一下資料的一些資訊 上面這一方法返回的是一個pandas dataframe的資料結構print DAX.info()#繪製收盤價的曲線DAX['Close'].plot(figsize=(8,5))
我們獲得的資料是dataframe的結構,畢竟是pandas的介面的嘛。然後我們繪製一下收盤價曲線。
這個是我們擷取的資料的資訊。
繪製出來的收盤價曲線是這樣的。
2.簡單的資料處理
有了股票價格,我們就計算一下每天的漲跌幅度,換句話說,就是每天的收益率,以及股價的移動平均和股價的波動率。
#計算每日的漲跌幅DAX['Return'] = np.log(DAX['Close']/DAX['Close'].shift(1))print DAX[['Close','Return']].tail()#將收盤價與每日漲跌幅度放在一張圖上DAX[['Close','Return']].plot(subplots = True,style = 'b',figsize=(8,5))#42與252個交易日為視窗取移動平均DAX['42d']=pd.rolling_mean(DAX['Close'],window=42)DAX['252d']=pd.rolling_mean(DAX['Close'],window=252)#繪製MA與收盤價DAX[['Close','42d','252d']].plot(figsize=(8,5))#計算波動率,然後根據均方根法則進行年化DAX['Mov_Vol']=pd.rolling_std(DAX['Return'],window = 252)*math.sqrt(252)DAX[['Close','Mov_Vol','Return']].plot(subplots = True, style = 'b',figsize = (8,7))
我們可以掌握這種subplots的繪圖方法,把幾張趨勢圖片放在一起。
這是移動平均線的圖片,subplots的屬性為false,那麼就是疊加在一起繪製。
這是市場的波動率和股市的關係。和FRM中提到的一樣,在市場低迷,或者說,金融危機的時候,市場的波動率急劇增加。於是,就有了恐慌指數這個東西,也就是Vix,其實就是市場的波動率指數。
相關推薦:
Python在金融,資料分析,和人工智慧中的應用
使用Python擷取Google,Yahoo金融資料工具