美文网首页python呆鸟的Python数据分析解密大数据
如何用Python下载金融数据 —— 带着Python玩金融(8

如何用Python下载金融数据 —— 带着Python玩金融(8

作者: 鱼心DrFish | 来源:发表于2018-10-31 21:13 被阅读44次

    本文介绍如何使用 Python 从互联网下载金融相关的数据,包括股票数据、经济数据等。这里进行数据获取的Python包有以下两种:

    如果未安装过这两个Python包,可以在命令行中输入以下代码进行安装:

    pip install quandl
    pip install pandas-datareader
    

    获取股票数据

    使用 quandl 包 import quandl

    quandl.get(dataset, start_date, end_date)

    • dataset:数据集的 quandl 代码
    • start_date: 起始日期
    • end_date: 结束日期

    首先需要设置获取数据的日期范围,这里采用日期时间格式,导入 datetime 包。

    # 时间范围:2017年1月1日至今
    from datetime import date  
    start = date(2017,1,1)
    end = date.today()
    

    然后导入 quandl 包,使用 quandl.get() 函数获取苹果公司从2017年至今的股票数据(quandl代码:WIKI/AAPL)。

    import quandl
    apple = quandl.get("WIKI/AAPL", start_date=start, end_date=end)
    

    查看数据的前五行和后五行。

    apple.head()
    
    apple.tail()
    

    注意到这里只获取到了2018年3月27日的数据,如果要取得实时数据,需要注册 quandl 的账号获取 API key 授权。

    比如获取最近5天的苹果股票数据(这里quandl代码为 EOD/AAPL)。

    quandl.ApiConfig.api_key = "你的key"
    quandl.get("EOD/AAPL", rows=5)
    

    绘制股票收盘价的时间序列图。

    import matplotlib.pyplot as plt
    apple['Close'].plot()
    plt.show()
    

    获取经济数据

    pandas_datareader 包提供丰富多样的数据集下载,其使用方法如下:

    使用 pandas_datareader 包 from pandas_datareader.data import DataReader

    DataReader(name, data_source, start, end)

    • name: 数据集的名称
    • data_source: 数据源
    • start: 起始日期
    • end: 结束日期

    它有许多数据源可以选择,这里以美联储经济数据(FRED)为例,查看历年来黄金价格的情况。因为采用FRED数据,所以data_source 设为 'fred'。另外还需要知道黄金价格的数据集名称,我们首先登录 FRED 官网,在站内搜索 gold price,找到相应的数据集,下图中红框圈出的就是黄金价格的数据集名称 'GOLDAMGBD228NLBM'。

    万事具备,现在就让我们来获取1968年以来的黄金价格数据。

    from pandas_datareader.data import DataReader
    
    # 设置起始时间
    start = date(1968,1,1)
    
    # 设置黄金价格数据集名称
    name = 'GOLDAMGBD228NLBM'
    
    # 设置数据源
    source = 'fred'
    
    # 从fred获取黄金价格数据
    gold_price = DataReader(name, source, start)
    

    输出该数据的摘要信息如下,它一共有13196条记录,从1968年4月1日到2018年10月29日。

    gold_price.info()
    
    <class 'pandas.core.frame.DataFrame'>
    DatetimeIndex: 13196 entries, 1968-04-01 to 2018-10-29
    Data columns (total 1 columns):
    GOLDAMGBD228NLBM    12790 non-null float64
    dtypes: float64(1)
    memory usage: 206.2 KB
    

    绘制黄金价格随时间变化的图。

    gold_price.plot(title='Gold Price')
    plt.show()
    

    注:本文是 DataCamp 课程 Importing & Managing Financial Data in Python
    的学习笔记。更多该课程的更多笔记:

    相关文章

      网友评论

      本文标题:如何用Python下载金融数据 —— 带着Python玩金融(8

      本文链接:https://www.haomeiwen.com/subject/dqeztqtx.html