Estou trabalhando em uma função de Monte Carlo para avaliar vários ativos com retornos parcialmente correlacionados. Atualmente, eu apenas gero uma matriz de covariância e alimento a rmvnorm()
função em R. (gera valores aleatórios correlacionados).
No entanto, observando as distribuições de retorno de um ativo, ele não é normalmente distribuído.
Esta é realmente uma questão de duas partes:
1) Como posso estimar algum tipo de PDF ou CDF quando tudo o que tenho são alguns dados do mundo real sem uma distribuição conhecida?
2) Como posso gerar valores correlatos como rmvnorm, mas para esta distribuição desconhecida (e não normal)?
Obrigado!
As distribuições não parecem se encaixar em nenhuma distribuição conhecida. Eu acho que seria muito perigoso assumir um parâmetro e depois usá-lo para a estimativa de monte carlo.
Não existe algum tipo de método de autoinicialização ou "empírico monte carlo" que eu possa olhar?
fonte
Estou com @mpiktas porque também acho que você precisa de um modelo.
Penso que o método padrão aqui seria estimar uma cópula para capturar a estrutura de dependência entre os diferentes ativos e usar, por exemplo, distribuições marginais enviesadas com distribuição normal ou t para os diferentes ativos. Isso fornece uma classe de modelo muito geral (mais geral, assumindo, por exemplo, uma distribuição t multivariada) que é praticamente o padrão para o seu tipo de tarefa (por exemplo, acho que Basileia II exige que as instituições financeiras usem métodos de cópula para estimar seu VaR) . Há um
copula
pacote para R.fonte
Uma possível resposta para a primeira parte da pergunta usando R ... usando a
ecdf()
funçãofonte