杜雨,EasyCharts团队成员,R语言中文社区专栏作者,兴趣方向为:Excel商务图表,R语言数据可视化,地理信息数据可视化。
个人公众号:数据小魔方(微信ID:datamofang) ,“数据小魔方”创始人。
上个月苹果的股价一路疯长,继8月2号突破万亿美元市值后,第二天盘中高点、收盘价双创新高。盘中高点达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()
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
精彩集锦
公众号后台回复关键字即可学习
回复 爬虫 爬虫三大案例实战
回复 Python 1小时破冰入门回复 数据挖掘 R语言入门及数据挖掘
回复 人工智能 三个月入门人工智能
回复 数据分析师 数据分析师成长之路
回复 机器学习 机器学习的商业应用
回复 数据科学 数据科学实战
回复 常用算法 常用数据挖掘算法