作者:吴款爷 | 来源:互联网 | 2023-06-06 21:59
之前就听说过R语言的quantmod包做金融分析非常好用。确实,不做好功课就进入股市,也就是傻乎乎的冒险。最近李笑来老师在他的专栏提到GAFATA(google,facebook,
之前就听说过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=&#8221;aapl&#8221;,quote=c(&#8220;Cl&#8221;,&#8221;Vol&#8221;))
goog<-get.hist.quote(instrument=&#8221;goog&#8221;,quote=c(&#8220;Cl&#8221;,&#8221;Vol&#8221;))
msft<-get.hist.quote(instrument=&#8221;msft&#8221;,quote=c(&#8220;Cl&#8221;,&#8221;Vol&#8221;))
plot(msft$Close,main=&#8221;Stock Price Comparison&#8221;,ylim=c(0,800),col=&#8221;red&#8221;,type=&#8221;l&#8221;,lwd=0.5,
pch=19,cex=0.6,xlab=&#8221;Date&#8221;,ylab=&#8221;Stock Price(USD)&#8221;)
lines(goog$Close,col=&#8221;blue&#8221;,lwd=0.5)
lines(aapl$Close,col=&#8221;gray&#8221;,lwd=0.5)
legend(&#8220;top&#8221;,horiz=T,legend=c(&#8220;Microsoft&#8221;,&#8221;Goole&#8221;,&#8221;Apple&#8221;),
col=c(&#8220;red&#8221;,&#8221;blue&#8221;,&#8221;gray&#8221;),Ity=1,byt=&#8221;n&#8221;
基本上是按照这个打的,然后很悲催的不行了。还好在大年夜得到群里王沙沙同学指点,然后就可以了。
改成其他股票,比如amzn就不行,再然后试试其他股票,开始不行,以为是股票代码的问题,换大小写等等,然后就神奇的可以了。
xrs<-get.hist.quote(instrument=&#8221;xrs&#8221;,quote=c(&#8220;Cl&#8221;,&#8221;Vol&#8221;))
goog<-get.hist.quote(instrument=&#8221;goog&#8221;,quote=c(&#8220;Cl&#8221;,&#8221;Vol&#8221;))
fb<-get.hist.quote(instrument=&#8221;FB&#8221;,quote=c(&#8220;Cl&#8221;,&#8221;Vol&#8221;))
plot(fb$Close,main=&#8221;Stock&#8221;,ylim=c(0,1200),col=&#8221;red&#8221;,type=&#8221;l&#8221;,lwd=0.5,
pch=19,cex=0.6,xlab=&#8221;Date&#8221;,ylab=&#8221;Stock Price&#8221;)
lines(xrs$Close,col=&#8221;blue&#8221;,lwd=0.5)
lines(goog$Close,col=&#8221;gray&#8221;,lwd=0.5)
legend(&#8220;top&#8221;,horiz=T,legend=c(&#8220;XRS&#8221;,&#8221;Google&#8221;,&#8221;Facebook&#8221;),
col=c(&#8220;red&#8221;,&#8221;blue&#8221;,&#8221;gray&#8221;),lty=1,bty=&#8221;n&#8221;)
(因为google股价太惊人,所以把y轴区别改为0-1200)
大概问题还是处在股票的连接上,求大牛解释&#8230;..