• R语言 金融数据分析之quantmod (4) 对比多只股票


    通过上文我们可以进行单一股票的分析,如何进行多只股票的分析呢

    library(quantmod)
    

      

    获取多只股票数据,可以用c链接

    提示:quantmod和tidyquant对A股的支持不是特别理想。对于A股,pedquant包是一个更好的选择。

    帮助功能可以直接help()找到提示,不会用就help吧

    # 获取近10年股票数据
    getSymbols(c('MSFT','AAPL','GOOG'),from="2010-01-01",to="2020-12-31")

      看下结果

    head(MSFT,10)
    tail(MSFT,10)
    

      

    转换为周数据 weekly、月monthly、 年 yearly

    data1 <- to.weekly(MSFT)
    data2 <- to.weekly(AAPL)
    data3 <- to.weekly(GOOG) 

    画出走势图:

    chart_Series(c(data1,data2,data3))
    

      

    虽然在一张图上,但我们分不清哪个是哪个,这个时候我们可以用ggplot2加以修饰

    library(ggplot2)
    

      创建数据框,数据框使用 data.frame() 函数来创建

    df <- data.frame(time(MSFT),Cl(MSFT),Cl(AAPL),Cl(GOOG))
    

    可用rownames()及colnames()得到数据框的行列名,我们修改列的名称

    colnames(df) <- c("date","MS","AP","GO" )
    

      

    利用ggplot画图

    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对比吧

    ggplot(df,aes(x=date,y=MS,color='MSFT'))  + geom_line() + theme_bw() + geom_line(aes(y=AP, color="APPL"))
    

      

    这样图就可以直观的看到了,当然有了数据,我们也可以进行数据分析,比如波动率收益率等等,我们今后在学习。

    最好,我们可以把这些数据保存到本地。

    write.csv (data1,'MSFT.csv')
    write.csv (data2,'AAPL.csv')
    write.csv (data3,'GOOG.csv')
    

      

    这样我们下次就可以更方便的使用了

      

  • 相关阅读:
    php 图片剪切
    mysql 官方docker镜像使用教程
    centos7 取消自动锁屏
    nginx配置反向代理示例
    nginx 官方docker镜像使用教程
    centos 下nginx源码编译安装
    nginx rewrite规则实例讲解
    requests.session()会话保持
    我对网络IO的理解
    日常运维--rsync同步工具
  • 原文地址:https://www.cnblogs.com/adam012019/p/14874922.html
Copyright © 2020-2023  润新知