利用R语言做最最初级金融分析de笔记
之前就听说过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)
大概问题还是处在股票的连接上,求大牛解释.....