Olá Cam,
Você poderia explicar como usar (ou fazer referência a uma fonte) esta função de perda:
Estou assumindo que a função de perda está tentando minimizar os pesos do portfólio para as 4 ações (o que pode ser feito usando o scipy optimize etc.), mas não tenho certeza de qual é o parâmetro lambda.
Obrigado!
@Anjum48 que capítulo é esse?
@CamDavidsonPilon lambda parece o parâmetro de regularização?
função de perda está tentando minimizar os pesos da carteira para as 4 ações
Isso é trivialmente resolvido definindo-os todos para infinito negativo, então não acho que você quis dizer isso. São duas forças contrárias: quanto maiores os pesos, maior o primeiro termo (retorno), mas também maior a variância (segundo termo).
O parâmetro lambda é um parâmetro especificado pelo usuário que é uma compensação entre maximizar o retorno (o primeiro termo) e o segundo termo (a variação do portfólio). Não é um regularizador no sentido tradicional de regressão, mas é análogo.
Esta é uma fórmula bastante comum em finanças - é a lagrangiana de um problema quadrático: http://www.actuaries.org/AFIR/Colloquia/Rome2/Cesarone_Scozzari_Tardella.pdf
@CamDavidson Pilon
Não entendo que o otimizador use min
, quero dizer, você deve querer maximizar seu retorno e
ser penalizado pela variação. Portanto, você deve usar max
ou anexar um sinal negativo em vez de usar min
.
O lambda 𝛌 é frequentemente referido ( por exemplo, aqui ) como o parâmetro de "aversão ao risco" - a compensação mencionada por @CamDavidsonPilon .
Se lambda 𝛌 = 1, então a função objetivo aproxima o portfólio
retorno médio geométrico , e isso é algo que se deve maximizar
em relação aos pesos (que por construção devem somar 1).
Definitivamente parece estar faltando um sinal de menos.
Sim, deve ser max
👍
https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/pull/347 para dois notebooks.
Para constar, outra boa referência, de William Sharpe:
https://web.stanford.edu/~wfsharpe/mia/opt/mia_opt3.htm --
e estarei fazendo um tutorial em https://git.io/fecon235
em relação às carteiras Boltzmann.
Comentários muito úteis
OK, correção feita:
https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/pull/347 para dois notebooks.
Para constar, outra boa referência, de William Sharpe:
https://web.stanford.edu/~wfsharpe/mia/opt/mia_opt3.htm --
e estarei fazendo um tutorial em https://git.io/fecon235
em relação às carteiras Boltzmann.