R/returns_fit.R

Defines functions returns_fit

Documented in returns_fit

#' Returns Fit function
#'
#' Fit normal distribution and t-Student distribution to the vector of asset returns
#' @param returns Numeric vector of asset returns
#'
#' @return List of fitted parametres

returns_fit <- function(returns){

  results <- list()

  # Check if returns is numeric vector
  if (class(returns) != 'numeric'){
    stop('returns is not numeric vector')
  }

  # Fit normal and t-student distributions
  default_warn <- getOption('warn')
  options(warn = -1)
  t_fit <- MASS::fitdistr(returns
                          ,densfun = 't')
  options(warn = default_warn)

  norm_fit <- MASS::fitdistr(returns
                             ,densfun = 'normal')

  # Save fitted parameters
  results$t_param[1] <- as.numeric(t_fit$estimate)[1]
  results$t_param[2] <- as.numeric(t_fit$estimate)[2]
  results$t_param[3] <- as.numeric(t_fit$estimate)[3]
  results$norm_param[1] <- as.numeric(norm_fit$estimate)[1]
  results$norm_param[2] <- as.numeric(norm_fit$estimate)[2]

  return(results)

}
pawel-wieczynski/PolishStock documentation built on March 23, 2022, 3:32 p.m.