zoukankan      html  css  js  c++  java
  • 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')
    

      

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

      

  • 相关阅读:
    [转]使用.NET中的XML注释(一) XML注释标签讲解
    Cookie文件格式
    [转]去掉网页上链接或按钮的虚线框
    [转]TFS提供修改密码的页面
    [转]动态操作Stylesheet里的rule
    模拟TcpClient的Timeout
    [转]使用.NET中的XML注释(二) 创建帮助文档入门篇
    【转】PowerPoint 2007与微软拼音输入法的问题
    [转]BloomFilter——大规模数据处理利器
    关于费马小定理与欧拉定理的关系
  • 原文地址:https://www.cnblogs.com/adam012019/p/14874922.html
Copyright © 2011-2022 走看看