首頁  >  文章  >  後端開發  >  Python之獲取與簡單處理金融數據

Python之獲取與簡單處理金融數據

零到壹度
零到壹度原創
2018-04-09 15:44:483025瀏覽

Python的功能不可以說不大,在金融資料分析裡面有著很方便的應用。這篇文章給大家分享的內容是Python之獲取與簡單處理金融數據,有著一定的參考價值,有需要的朋友可以參考一下

1.數據獲取

pandas包中有自帶的資料獲取接口,詳細的大家可以去其官網上找,是io.data下的DataReader方法。

import numpy as np
import pandas as pd
import pandas.io.data as web
import 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金融數據工具

以上是Python之獲取與簡單處理金融數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn