金融数据获取的api接口

最近苹果的股价一路疯长,继周四突破万亿美元市值后,周五盘中高点、收盘价双创新高。盘中高点达208.74美元,收盘价报207.99美元,上涨0.29%,创历史收盘新高,市值达10045.76亿美元。

在全球经济体的GGP排行中,已经可以稳稳排进前20名,真正的富可敌国了。

为了看下苹果自上市以来的股价变动情况,特地研究了下R和Python中的金融数据接口包,Python中的tushare库虽然非常全面的收录了国内沪深股市的数据,但是港股和美股却不支持。后来利用pandas中的一个扩展库拿到了苹果的股价数据。(pandas_datareader)

import pandas_datareader.data  as web
import datetime
import matplotlib.pyplot as plt
from matplotlib.pylab import date2num
from matplotlib.font_manager 
import FontProperties
import mpl_finance as mpf
import matplotlib
import numpy as np
matplotlib.style.use('ggplot')
%matplotlib inline

定义获取数据的时间段

start = datetime.datetime(1980, 1,1)
end = datetime.datetime(2018,8,3)
prices = web.get_data_yahoo('AAPL',start, end)
#预览股价趋势图
prices['Close'].plot()
plt.show()

创建股价K线图

def create_candles(data):
    fig, ax = plt.subplots(figsize=(16,10))
    fig.subplots_adjust(bottom=0.2)
    ax.xaxis_date()
    plt.xticks(rotation=45)
    plt.yticks()
    plt.rcParams['font.sans-serif']=['SimHei']
    plt.title("股票代码:APPL苹果历史股价")
    plt.xlabel("时间")
    plt.ylabel("股价(元)")
    mpf.candlestick_ohlc(ax,data,width=1.5,colorup='r',colordown='green')
    plt.grid(True)

执行画图代码

if __name__ == '__main__':
    prices = prices.reset_index()
    prices['Date'] = prices['Date'].map(lambda x: date2num(x))
    data = prices.iloc[:,:5].values
    create_candles(data)

苹果股票自1980年12月12日上市,上市当日股价每股22$,最新的股价为207.99(2018-08-03),股价距上市之日起累计增长约57,403%(期间经过多次拆股)

tushare包是一个非常优秀的金融信息数据接口包,虽然取法覆盖港股和美股,但是对于国内的沪深股市数据支持的非常完善。

ts.get_k_data('000001', index=True)                #交易数据:
ts.get_hist_data('600848')                         #一次性获取全部日k线数据
ts.get_h_data()                                    #获取历史复权数据
ts.get_today_all()                                 #实时行情 
df = ts.get_tick_data('600848',date='2014-01-09')  #历史分笔交易

此外tushare包对于大额交易、龙虎榜、融资融券、宏观经济数据、以及各种指数和货币市场相关数据支持都非常完善。

详情可以参考这里http://tushare.org/index.html

R语言中支持金融数据获取的接口自然要数quantmood包了。

library("quantmod")
#yahoo金融的api勉强可用,google金融的api已经停止维护了。
#指定要获取的股票名称或代码,以及数据源
setSymbolLookup(JJKR=list(name="AAPL",src="yahoo"))
getSymbols("AAPL")
chartSeries(AAPL,subset="1980-2::2018-08",theme=chartTheme("white"),TA="addVo();addBBands();addATR();addCMF()")

quantmood包里面提供了非常完善的股价分析函数以及其他财务、股息及各种技术分析指标数据,是一款非常好的证券分析工具利器。详细的函数用法可以去看官方文档,或者参考网上的资料。

https://www.douban.com/note/534494526/?type=rec

原文地址:https://www.cnblogs.com/damowang/p/12510996.html