R语言 金融数据分析之quantmod (4) 对比多只股票
通过上文我们可以进行单一股票的分析,如何进行多只股票的分析呢
1 | library (quantmod) |
获取多只股票数据,可以用c链接
提示:quantmod和tidyquant对A股的支持不是特别理想。对于A股,pedquant包是一个更好的选择。
帮助功能可以直接help()找到提示,不会用就help吧
1 | # 获取近10年股票数据<br>getSymbols(c('MSFT','AAPL','GOOG'),from="2010-01-01",to="2020-12-31") |
看下结果
1 2 | head (MSFT,10) tail (MSFT,10) |
转换为周数据 weekly、月monthly、 年 yearly
1 2 3 | data1 <- to.weekly (MSFT) data2 <- to.weekly (AAPL) data3 <- to.weekly (GOOG) |
画出走势图:
1 | chart_Series ( c (data1,data2,data3)) |
虽然在一张图上,但我们分不清哪个是哪个,这个时候我们可以用ggplot2加以修饰
1 | library (ggplot2) |
创建数据框,数据框使用 data.frame() 函数来创建
1 | df <- data.frame ( time (MSFT), Cl (MSFT), Cl (AAPL), Cl (GOOG)) |
可用rownames()及colnames()得到数据框的行列名,我们修改列的名称
1 | colnames (df) <- c ( "date" , "MS" , "AP" , "GO" ) |
利用ggplot画图
1 | ggplot (df, aes (x=date,y=MS,color= 'MSFT' )) + geom_line () + theme_bw () + geom_line ( aes (y=AP, color= "APPL" ))+ geom_line ( aes (y=GO, color= "GOOG" )) |
GOOG涨的有点夸张,我们还是去掉GOOG对比吧
1 | ggplot (df, aes (x=date,y=MS,color= 'MSFT' )) + geom_line () + theme_bw () + geom_line ( aes (y=AP, color= "APPL" )) |
这样图就可以直观的看到了,当然有了数据,我们也可以进行数据分析,比如波动率收益率等等,我们今后在学习。
最好,我们可以把这些数据保存到本地。
1 2 3 | write.csv (data1, 'MSFT.csv' ) write.csv (data2, 'AAPL.csv' ) write.csv (data3, 'GOOG.csv' ) |
这样我们下次就可以更方便的使用了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)