使用Quandl的股票市场数据时,滞后变量无效

时间:2016-12-22 23:29:02

标签: r

我正在运行以下脚本:

using LinqKit.Extensions;

var orderDetails = context.Orders
    .AsExpandable()
    .Where(...)
    .Select(o => new { 
       Id = o.Id, 
       Date = o.Date, 
       PersonView = PersonView.Projector.Invoke(o.Person)
    })
    .FirstOrDefault();

但是从下面的结果中可以看出,我的滞后变量与原始变量相同。

library(Quandl)
df <- Quandl(c("WIKI/AAPL"))
str(df)
head(df[,c(1,2)])
df$lagOpen <- lag(df$Open, 1, na.pad=TRUE)
head(df[,c(1,2,14)])

我尝试对数据进行排序,看看是否可以解决问题

head(df[,c(1,2)])

    Date      Open
 1 2016-12-22 116.35
 2 2016-12-21 116.80
 3 2016-12-20 116.74
 4 2016-12-19 115.80
 5 2016-12-16 116.47
 6 2016-12-15 115.38

但我有同样的问题

df <- df[order(df$Date),]
head(df[,c(1,2)])
df$lagOpen <- lag(df$Open, 1, na.pad=TRUE)
head(df[,c(1,2,14)])

1 个答案:

答案 0 :(得分:1)

lag适用于时间序列,因此您可以要求Quandl返回type="xts"

library(Quandl)
df <- Quandl(c("WIKI/AAPL"), type="xts")
df$lagOpen <- lag(df$Open)
head(df[,c("Open","lagOpen")])

            Open lagOpen
1980-12-12 28.75      NA
1980-12-15 27.38   28.75
1980-12-16 25.37   27.38
1980-12-17 25.87   25.37
1980-12-18 26.63   25.87
1980-12-19 28.25   26.63