【问题标题】:Extracting stock prices with different dates and row numbers提取具有不同日期和行号的股票价格
【发布时间】:2018-08-04 11:13:01
【问题描述】:

我有 1200 只不同时间段的股票都作为数据框,需要稍微编辑一下。目前我的样子

Date        Ticker Price
30/04/2006  ZZ     15.95
31/05/2006  ZZ     13.13
30/06/2006  ZZ     13.27
31/07/2006  ZZ     13.66
31/08/2015  ZYNE   28.11
30/09/2015  ZYNE   14.31
31/10/2015  ZYNE   12.59
30/06/2014  ZSPH   28.75 
31/07/2014  ZSPH    28.01
31/08/2014  ZSPH    40.29 
30/09/2014  ZSPH    39.23
31/10/2014  ZSPH    37.62
30/11/2014  ZSPH    42.96
31/12/2014  ZSPH    41.57
31/01/2015  ZSPH    44.93
28/02/2015  ZSPH    49.47

即使用的时间段不同,行数不同,因此无法将每第 n 行拆分为新列

我最终想要的是一个类似于

的数据框
Date        ZZ     ZYNE     ZSPH
30/04/2006  15.95  N/A      N/A
31/05/2006  13.13  N/A      N/A
30/06/2006  13.27  N/A      N/A
31/07/2006  13.66  N/A      N/A
31/08/2006  N/A    N/A      N/A
30/09/2006  N/A    N/A      N/A
31/10/2006  N/A    N/A      N/A
30/11/2006  N/A    N/A      N/A

但使用的时间长度和列要长得多,因为从 2004 年到 2018 年我有更多的负载要运行

从那里我需要使用 Fama French 网站上的数据,使用 4 因子模型计算所有股票的预期回报。我找到了有关如何操作的 YouTube 视频,但我发现我需要采用这种格式的数据

谢谢!!

(编辑:澄清我目前拥有的是 df,需要稍作编辑)

【问题讨论】:

    标签: r finance yahoo-finance


    【解决方案1】:

    这将创建问题中所示形式的动物园对象。如果text = Lines 被替换为问题中显示的列的文件名或 3 列输入数据框,它也可以工作。如果您需要数据框,请使用fortify.zoo(z)

    library(zoo)
    z <- read.zoo(text = Lines, header = TRUE, split = "Ticker", format = "%d/%m/%Y")
    

    给予:

    > z
                ZSPH  ZYNE    ZZ
    2006-04-30    NA    NA 15.95
    2006-05-31    NA    NA 13.13
    2006-06-30    NA    NA 13.27
    2006-07-31    NA    NA 13.66
    2014-06-30 28.75    NA    NA
    2014-07-31 28.01    NA    NA
    2014-08-31 40.29    NA    NA
    2014-09-30 39.23    NA    NA
    2014-10-31 37.62    NA    NA
    2014-11-30 42.96    NA    NA
    2014-12-31 41.57    NA    NA
    2015-01-31 44.93    NA    NA
    2015-02-28 49.47    NA    NA
    2015-08-31    NA 28.11    NA
    2015-09-30    NA 14.31    NA
    2015-10-31    NA 12.59    NA
    

    注意

    可重现形式的输入是:

    Lines <- "
    Date        Ticker Price
    30/04/2006  ZZ     15.95
    31/05/2006  ZZ     13.13
    30/06/2006  ZZ     13.27
    31/07/2006  ZZ     13.66
    31/08/2015  ZYNE   28.11
    30/09/2015  ZYNE   14.31
    31/10/2015  ZYNE   12.59
    30/06/2014  ZSPH   28.75 
    31/07/2014  ZSPH    28.01
    31/08/2014  ZSPH    40.29 
    30/09/2014  ZSPH    39.23
    31/10/2014  ZSPH    37.62
    30/11/2014  ZSPH    42.96
    31/12/2014  ZSPH    41.57
    31/01/2015  ZSPH    44.93
    28/02/2015  ZSPH    49.47
    "
    

    【讨论】:

    • 谢谢,但是我正在执行此操作并收到错误消息“NROW(model) 中的错误:缺少参数“model”,没有默认值”。这可能是因为我的输入是一个数据框,而不是你上面提到的格式?
    猜你喜欢
    • 2019-04-18
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多