R

如何計算 R 中的經驗累積機率

  • December 6, 2016

我有一個標準普爾500回報數據集。如何計算價值 $ F(X ⩽ x) $ . 我的程式碼如下:

library(quantmod) # Loading quantmod library
getSymbols("^GSPC", from = as.character(Sys.Date()-365*16)) # SPX price date for 16 yrs

SPX <- dailyReturn(GSPC)
SPX_ecdf <- ecdf(as.numeric(SPX)) # dropping xts class

我如何計算我的數據的機率,比如說 $ \le -0.025 $ ?

quantile() 與您想要的相反。您可以在循環中引導機率:

  pseq <- seq(0.001,1, by=0.001)
  quantile(yourdatahere, pseq)
 Quantiles[which(abs(Quantiles - (-0.025)) == min(abs(Quantiles - (-0.025))))]

這是一個低效的冗長程式碼,但它可以工作。ecdf() 也可以,但我不知道如何將該數據類型強制為其他任何東西。

您需要計算小於門檻值的觀察次數。然後將其除以觀察總數。例如,你有一系列 250 個收益,其中 50 個小於 1%,所有其他數據都大於 1%,比 1% 時的經驗累積分佈函式為 50/250。

引用自:https://quant.stackexchange.com/questions/30007