我已经使用fitdist
中的rugarch
来找到适合我的数据的最佳学生分布:
> fitdist(distribution = 'std', sp500_logreturns)$pars
mu sigma shape
0.0008121004 0.0113748869 2.3848231857
使用此函数而不是fitdistr
的原因是它更适合我的数据。但是,有什么方法可以将其“转化”为自由度吗?
X
是自由度为nu
的学生随机变量,则std
是mu + lambda*X
和shape = nu
和sigma = lambda*sqrt(nu/(nu-2))
的分布:library(rugarch)
set.seed(666)
lambda <- 4
sims <- 1 + lambda * rt(20000, df = 5)
fitdist(distribution = 'std', sims)$pars
# mu sigma shape
# 1.033717 5.146754 4.916808
lambda * sqrt(5/(5-2))
# 5.163978