Otimizador de portfólio
31 respostas
mabi
7 anos atrás #115657
Parece que o Quantanalyser fica sem memória RAM quando chega perto de 9 GB de uso de RAM ao usar o analisador de portfólio. Existe alguma correção para isso, assim como para o SQ, para que ele tenha mais memória RAM?
Obrigado
Tamas
7 anos atrás #140059
mikeyc
7 anos atrás #140060
Hi,
Em meu computador, o otimizador de portfólio usa no máximo 35% de CPU e parece estar atingindo um núcleo mais do que os outros. Parece que o aspecto de multithreading é muito ruim?
Alguma idéia?
Cumprimentos,
Mike
mikeyc
7 anos atrás #140070
Olá, equipe SQ,
A nova versão não funciona para mim. 290 estratégias (arquivos STR carregados), quero exatamente 10 no portfólio. Seleção por força bruta. Correlação número de posições fechadas por hora, permitir correlação negativa, correlação máxima de 0,4
Funciona por alguns minutos e depois não escreve mais nada na janela de registro, não responde a nenhum clique de botão, mas continua a usar a CPU 35% e a RAM de 3,7 Gb.
É necessário encerrar o processo.
Muito decepcionante.
mabi
7 anos atrás #140075
Por que por hora? Isso é muito lento, concordo. O uso da CPU no meu servidor também é baixo, não sei o que ele está fazendo e leva muito tempo para concluir o processo. Carreguei 650 str. A configuração por dia parece boa, mesmo que o uso da CPU seja de cerca de 10 %, o que equivale a cerca de 4 núcleos.
mabi
7 anos atrás #140083
@ Mickey ,
Você pode verificar a correlação horária mais tarde. Descobri que, se eu executar por dia e definir 0,1 e começar a criar portfólios usando, digamos, de 3 a 5 em cada um, ele encontrará muitos e, em seguida, reiniciarei e passarei para 5-7, se encontrar 0,1, também aumentarei para 7-9. Depois, fica mais difícil, mas eles acabarão aparecendo se você tiver criado corretamente. Em seguida, seleciono as melhores (portfólios), digamos 20, e as mesclo em uma única estratégia e a adiciono às demais. Agora, executo novamente desde o início, de 3 a 5, etc. Portanto, agora tenho carteiras que estão em 0,01-0,02 (até 1 hora) com até 15 membros até o momento. Também notei que o uso da CPU aumenta com o tempo. Agora é de até 50%, o que significa 20 núcleos ou 40 threads. !!
Tamas
7 anos atrás #140097
mabi
7 anos atrás #140099
@Tamas,
É possível mesclar portfólios com estratégias individuais, de modo que não seja necessário fazer uma por uma, mas várias de cada vez?
Obrigado
Tamas
7 anos atrás #140103
Olá,
Não, não é possível mesclar portfólios com estratégias individuais na versão atual do QA.
Consideraremos a possibilidade de adicionar esse recurso no futuro.
Sinceramente,
Tomas
mabi
7 anos atrás #140138
Com certeza já é possível hoje, mas você só pode fazer isso uma vez por vez. Clicar manualmente 4.000 vezes parece ser uma tarefa impossível. A possibilidade de juntar portfólios menores com menor correlação entre si para encontrar baixa estagnação deve ser um benefício óbvio. Brincando com isso, quase não consegui reduzir a estagnação para 90 dias em 10 anos, mantendo a correlação abaixo de 0,1 e aposto que você pode reduzir a estagnação muito mais do que isso. É possível que a Genetic Evolution possa encontrar isso por si mesma, talvez em algum momento do próximo ano, já que as combinações estão se aproximando do infinito se você tiver muitas estratégias individuais.
mabi
7 anos atrás #140165
Quando um portfólio é mesclado a uma estratégia simples, as informações sobre quais estratégias ele contém são perdidas. Estou perdendo algo aqui? Parece inseguro poder mesclá-lo se você não souber quais estratégias ele contém. Se você tiver apenas um ou dois, acho que pode estar tudo bem, mas e se você tiver 100?
mabi
7 anos atrás #140184
Apenas algumas informações,
O QA desiste após computar 125 milhões de portfólios se estiver usando 5-10 como máximo. Ao usar 10-20, ele morre aos 25 milhões. Felizmente, ele não trava e ainda responde, mas simplesmente para de fazer qualquer coisa. Executei 4 sessões de QA e o resultado é o mesmo em todas as 4.
mikeyc
7 anos atrás #140330
Sim, as correlações são calculadas somente para combinações exclusivas de estratégias.
Tomas
Oi, Tomás,
Acho que você pode não estar entendendo o ponto de reduzir a computação.
Se eu tiver 100 estratégias individuais e quiser criar um portfólio com 10 estratégias sem que duas estratégias tenham uma correlação > 0,5
Primeira iteração selecionada pelo QA4:
1,2,3,4,5,6,7,8,9,10
Os pares de estratégias 1,3 e 7,8 têm correlação > 0,5
Portanto, essa carteira é rejeitada, e não faz sentido incluir novamente 1,3 ou 7,8 em qualquer carteira futura.
No entanto, com o Brute Force, o QA4 agora selecionará:
1,2,3,4,5,6,7,8,9,11
como o próximo portfólio possível a ser calculado, mas não faz sentido, pois já sabemos que 1,3 e 7,8 não passam no teste de correlação. Portanto, esse portfólio pode ser rejeitado sem qualquer cálculo ou teste, já que contém pelo menos um par de estratégias que falhou.
O QA4 deve armazenar cada par encontrado na memória que falhar no teste de correlação e remover da lista de todas as combinações possíveis aquelas que incluem qualquer um desses pares sem testar.
Dessa forma, o número de combinações a serem testadas diminui em uma velocidade cada vez maior à medida que os portfólios são computados.
mikeyc
7 anos atrás #140587
Ou, em outras palavras, como ninguém se importa, o atual construtor de portfólio Genetic / Brute Force é irremediavelmente inútil...
No momento, estou tentando construir um portfólio que tenha um mínimo de estagnação.
Há 1549 estratégias simples para escolher. Um cálculo rápido mostra que o número de combinações exclusivas de pares de estratégias é 1.198.926.
Portanto, primeiro execute os 1.198.926 pares e calcule a correlação de cada par
Remova da lista de estratégias simples todas aquelas que não estão na lista de pares que passaram no teste de correlação. Dependendo das configurações de correlação e do limite, o conjunto restante de estratégias simples estará em algum lugar entre 0 e 1549. Se as estratégias restantes forem menores que o mínimo de # de estratégias para formar um portfólio, não haverá portfólio.
Se houver pelo menos o mínimo de estratégias # para atender ao tamanho mínimo do portfólio, crie os portfólios com força bruta; não há necessidade de medir a correlação, pois qualquer portfólio criado agora terá uma correlação abaixo do limite. Basta calcular a adequação (estagnação, no meu caso) e classificar de acordo.
Essa é a maneira ideal de construir os portfólios.
Marca Fric
7 anos atrás #140609
Mike, entendo seu ponto de vista. Essa é uma boa ideia para otimizar a criação de portfólios.
Mas por que você diz que o atual construtor de portfólio é inútil?
Mesmo sem essa otimização, ele funciona, mas leva mais tempo.
Marcar
EstratégiaQuant arquiteto
mikeyc
7 anos atrás #140610
Mike, entendo seu ponto de vista. Essa é uma boa ideia para otimizar a criação de portfólios.
Mas por que você diz que o atual construtor de portfólio é inútil?
Mesmo sem essa otimização, ele funciona, mas leva mais tempo.
Sim, mas com previsão de término em centenas de anos.