fitstdnts: fitstdnts

Description Usage Arguments Value References Examples

View source: R/distNTS.R

Description

fitstdnts fit parameters (α, θ, β) of the standard NTS distribution. This function using the curvefit method between the empirical cdf and the standard NTS cdf.

Usage

1
2
3
4
5
fitstdnts(rawdat)
fitstdnts(rawdat), ksdensityflag = 1
fitstdnts(rawdat, initialparam = c(alpha, theta, beta))
fitstdnts(rawdat, initialparam = c(alpha, theta, beta)), ksdensityflag = 1
fitstdnts(rawdat, initialparam = c(alpha, theta, beta)), maxeval = 100, ksdensityflag = 1

Arguments

rawdat

Raw data to fit the parameters.

initialparam

A vector of initial standard NTS parameters. This function uses the nloptr package. If it has a good initial parameter then estimation performs better. If users do not know a good initial parameters, then just set it as initialparam=NaN, that is default.

maxeval

Maximum evaluation number for nloptr. The iteration stops on this many function evaluations.

ksdensityflag

This function fit the parameters using the curvefit method between the empirical cdf and the standard NTS cdf. If ksdensityflag = 1 (default), then the empirical cdf is calculated by the kernel density estimation. If ksdensityflag = 0, then the empirical cdf is calculated by the empirical cdf.

Value

Estimated parameters

References

Kim, Y. S. (2020) Portfolio Optimization on the Dispersion Risk and the Asymmetric Tail Risk https://arxiv.org/pdf/2007.13972.pdf

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
library("temStaR")
library("quantmod")
getSymbols("^GSPC", src="yahoo", from = "2010-1-1", to = "2020-12-31")
pr <- as.numeric(GSPC$GSPC.Adjusted)
ret <- diff(log(pr))
stdret <- (ret-mean(ret))/sd(ret)
stdntsparam <-  fitstdnts(stdret)

Femp = ecdf(stdret)
x = seq(from=min(stdret), to = max(stdret), length.out = 100)
cemp = Femp(x)
ncdf = pnts(x, c(stdntsparam))
plot(x,ncdf,type = 'l', col = "red")
lines(x,cemp, type = 'l', col = "blue")
a = density(stdret)
p = dnts(x,stdntsparam)
plot(x,p,type = 'l', col = "red", ylim = c(0, max(a$y, p)))
lines(a,type = 'l', col = "blue")

aaron9011/temStaR-v0.814 documentation built on Dec. 24, 2021, 6:16 p.m.