生信猿数据科学与R语言@IT·互联网

利用R语言做最最初级金融分析de笔记

2017-01-27  本文已影响1112人  只是不在意

之前就听说过R语言的quantmod包做金融分析非常好用。确实,不做好功课就进入股市,也就是傻乎乎的冒险。最近李笑来老师在他的专栏提到GAFATA(google,facebook,tecent等)这类股票。随着人类科技的进步,这些公司的前景仍然不可限量。

自己的利益是最好的目标,最切实的刚需。所以利用这段时间,学习一下quantmod包的函数技术。

学习来源:1.网站 quantmod.com

2. 炼数成金(dataguru)的相关课程

3.猴子老师的大数据学习群

R七种武器之金融数据分析quantmod

首先载入需要的文件包,

install.packages("quantmod")

install.packages("tseries")

library(quantmod)

library(tseries)

quantmod里用来分析的函数有

getSymbols() 从多种信息源里获得信息getSymbols.csv() 从csv文件中读入数据

getFinancials() 获取上市公司的财务报表 getSymbols.google() 从google中获取数据

getMetals() 获取重金属交易数据getSymbols.oanda() 从oanda中获取

getQuote() 获取即时的网络报价getSymbols.yahoo() 从雅虎网中获取数据

tseries也是这类,用来分析的有:

portfolio.optim投资组合组合优化

get.hist.quote下载历史财务数据

maxdrawdown 最大回撤

sharpe 夏普比率

等等等等,以上不能尽录。这篇笔记就是最最初级的练习。

根据“剑飞在思考”的简单R语言代码查询任意股票价格变化趋势,练习输入。选择的是amazon和英伟达。注意命令和股票代码的大小写。

#设置美股,代码要大写

getSymbols("AMZN",src="yahoo")

chartSeries(AMZN)

亚马逊

从2013年起上涨了四倍——看,上涨的资产并不只是中国房价而已。

getSymbols("NVDA",src="yahoo")

chartSeries(NVDA)

英伟达

关注人工智能啊深度学习啊VR啊大概都听说过英伟达吧,也都知道它最近的走势为什么会是酱紫。

其他功能:

#设置深圳股票,沪股是ss

setSymbolLookup(XF=list(name="002230.sz",src="yahoo"))

getSymbols("XF")

chartSeries(XF)

#获取汇率,注意“/”的运用

getFX("HKD/USD")

get("HKDUSD")

#获取报表-这里用google连接,没打开

getFinancials("AMZN")

viewFinancials(AMZN.f)


但素,chartSeries的函数只能一次显示一个股票,炼数成金的视频里,显示了可以同时出现的股票比较

aapl<-get.hist.quote(instrument="aapl",quote=c("Cl","Vol"))

goog<-get.hist.quote(instrument="goog",quote=c("Cl","Vol"))

msft<-get.hist.quote(instrument="msft",quote=c("Cl","Vol"))

plot(msft$Close,main="Stock Price Comparison",ylim=c(0,800),col="red",type="l",lwd=0.5,

pch=19,cex=0.6,xlab="Date",ylab="Stock Price(USD)")

lines(goog$Close,col="blue",lwd=0.5)

lines(aapl$Close,col="gray",lwd=0.5)

legend("top",horiz=T,legend=c("Microsoft","Goole","Apple"),

col=c("red","blue","gray"),Ity=1,byt="n"

基本上是按照这个打的,然后很悲催的不行了。还好在大年夜得到群里王沙沙同学指点,然后就可以了。

改成其他股票,比如amzn就不行,再然后试试其他股票,开始不行,以为是股票代码的问题,换大小写等等,然后就神奇的可以了。

xrs<-get.hist.quote(instrument="xrs",quote=c("Cl","Vol"))

goog<-get.hist.quote(instrument="goog",quote=c("Cl","Vol"))

fb<-get.hist.quote(instrument="FB",quote=c("Cl","Vol"))

plot(fb$Close,main="Stock",ylim=c(0,1200),col="red",type="l",lwd=0.5,

pch=19,cex=0.6,xlab="Date",ylab="Stock Price")

lines(xrs$Close,col="blue",lwd=0.5)

lines(goog$Close,col="gray",lwd=0.5)

legend("top",horiz=T,legend=c("XRS","Google","Facebook"),

col=c("red","blue","gray"),lty=1,bty="n")

(因为google股价太惊人,所以把y轴区别改为0-1200)

大概问题还是处在股票的连接上,求大牛解释.....

上一篇下一篇

猜你喜欢

热点阅读