• 技术文章 >后端开发 >Python教程

    Python之获取与简单处理金融数据

    零到壹度零到壹度2018-04-09 15:44:48原创2193
    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核实处理。
    专题推荐:Python 金融 数据处理
    上一篇:Python的numpy数组怎么合并 下一篇:怎样操作Python遍历numpy数组
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 深入了解python中的代码缩进规则• Python随机森林模型实例详解• 一文掌握Python返回函数、闭包、装饰器、偏函数• Python可视化总结之matplotlib.pyplot基本参数详解• python能代替JavaScript吗
    1/1

    PHP中文网