在 R 中处理 NA 和 NAN
Handling NA and NAN in R
我正在尝试 运行 对以下代码的 100,000 个实例进行简单模拟。当尝试获取 dlogP 的 sd 和平均值时,我收到 sd(dlogP):NA 和 mean(dlogP): NaN。我相信我应该得到类似于 5% 的原始 rnorm 的 sd 偏差有人可以帮助我解决我做错的事情吗?我试图调整似乎有效的迭代次数,但我需要生成 100,000 个实例。提前致谢。
set.seed(2013)
P_1 <- 100 # Initial price of stock
r <- rnorm(100000, .01, .05) # Generating 100,000 instances
P <- P_1*cumprod(1+r)
set.seed(2013)
logP<- log(P)
dlogP <-log1p(P)-logP # The change in logs from t+1 and t
dlogP
head(dlogP,1) # Will output the first value of the matrix
sd(dlogP)
mean(dlogP)
plot(P)
如果你坚持每天 1% return,你可以在对数刻度上做到这一点,而无需触及 Inf
。
set.seed(2013)
P_1 <- 100 # Initial price of stock
r <- rnorm(100000, .01, .05) # Generating 100,000 instances
logP <- log(P_1) + cumsum(log(1+r))
dlogP <-diff(logP) # The change in logs from t+1 and t
#dlogP
head(dlogP,1) # Will output the first value of the matrix
sd(dlogP)
mean(dlogP)
我正在尝试 运行 对以下代码的 100,000 个实例进行简单模拟。当尝试获取 dlogP 的 sd 和平均值时,我收到 sd(dlogP):NA 和 mean(dlogP): NaN。我相信我应该得到类似于 5% 的原始 rnorm 的 sd 偏差有人可以帮助我解决我做错的事情吗?我试图调整似乎有效的迭代次数,但我需要生成 100,000 个实例。提前致谢。
set.seed(2013)
P_1 <- 100 # Initial price of stock
r <- rnorm(100000, .01, .05) # Generating 100,000 instances
P <- P_1*cumprod(1+r)
set.seed(2013)
logP<- log(P)
dlogP <-log1p(P)-logP # The change in logs from t+1 and t
dlogP
head(dlogP,1) # Will output the first value of the matrix
sd(dlogP)
mean(dlogP)
plot(P)
如果你坚持每天 1% return,你可以在对数刻度上做到这一点,而无需触及 Inf
。
set.seed(2013)
P_1 <- 100 # Initial price of stock
r <- rnorm(100000, .01, .05) # Generating 100,000 instances
logP <- log(P_1) + cumsum(log(1+r))
dlogP <-diff(logP) # The change in logs from t+1 and t
#dlogP
head(dlogP,1) # Will output the first value of the matrix
sd(dlogP)
mean(dlogP)