terça-feira, 31 de outubro de 2017

Livro "Inteligência Artificial nos Investimentos"

Agora o livro Inteligência Artificial nos Investimentos já pode ser adquirido no formato E-Book aqui no Blog em Bitcoins.


O preço da versão E-Book é de 0,0005038 BTC (aprox. R$ 12,00). Após transferência realizada, o comprador deve enviar o e-mail nos comentários deste post para recebimento do arquivo PDF. Linha digitável da wallet

18CSp4Le69NbcPvhfV23Pjh8YUP5YdwiAY


Resumo: 

Há na literatura relatos de sucessos obtidos por sistemas inteligentes dedicados que atuam nos mercados acionários de todo o mundo, onde se destacam a utilização de redes neurais, lógica nebulosa, algoritmos evolutivos ou genéticos, teoria do caos e fractais e sistemas especialistas, tudo com o objetivo de automatizar decisões de oportunidade de negociação, ou ainda sugerindo a organização de carteira de ativos financeiros. 

Embora sistemas desse tipo sejam normalmente descritos como sendo muito complexos, os princípios básicos de sua concepção são mais simples do que parecem, e podem ser aplicados em escala menos sofisticada para serem processados por computadores pessoais, obtendo-se resultados positivos em aplicações práticas muito interessantes.

sexta-feira, 16 de setembro de 2016

Otimização Combinatória na Aviação Comercial


A Otimização Combinatória
Atualmente o conceito de Otimização Combinatória está bem formulado como um princípio que fundamenta a análise de muitos problemas de alocação ou de tomada de decisão. A abordagem de um problema de tomada de decisão complexo, envolvendo a seleção de valores para um número de variáveis relacionadas, usualmente tem como enfoque um único objetivo projetado para quantificar performance e medir a qualidade da decisão. Este único objetivo é maximizado (ou minimizado, dependendo da formulação) sujeito às restrições que limitam a seleção dos valores possíveis das variáveis de decisão. 
Se um único aspecto de um problema pode ser isolado e caracterizado adequadamente por um objetivo, podendo ser, por exemplo: lucro ou custo em um cenário de negócios, velocidade ou distância em um problema físico, retorno esperado em um ambiente de investimento de risco, ou bem-estar social no contexto do planejamento governamental, então uma aplicação de otimização configura-se naturalmente adequada.
Existe uma variedade muito grande de problemas no mundo real que podem ser resolvidos utilizando-se métodos de Otimização Combinatória. Todavia, encontrar soluções ótimas, ou mesmo aproximadas, para esses tipos de problemas é um desafio nem sempre fácil de ser vencido. Para alguns desses problemas são conhecidos métodos exatos para a sua solução; já para outros, técnicas que permitem alcançar resultados aproximados são utilizados como única alternativa. Nem mesmo com o poder computacional atual pode resolver-se a maioria desses problemas em tempo considerado razoável, podendo levar-se muitos anos para a execução de tal tarefa.
A Otimização Combinatória na Aviação
Além de diversos, os problemas de otimização na aviação comercial são encadeados, compondo, na verdade, um único e grande problema, que por ser tão complexo, necessita ser subdividido em porções menores para que possa vir a ser resolvido. Todavia, mesmo quando decomposto em subproblemas, dificuldades para a sua resolução persistem. Em particular, cada um desses subproblemas constitui-se em uma tarefa extremamente árdua para processamento manual, mesmo quando são realizadas por profissionais qualificados e extremamente experientes.
Restringindo-se apenas ao planejamento de vôos das empresas aéreas, é necessário definir-se inicialmente que rotas deverão ser operadas.  Para tanto, é necessário analisar-se todas as demandas existentes entre as diversas regiões envolvidas e, assim, decidir quais devam ser os pares de aeroportos a interligar em trechos de vôos da empresa. Uma vez escolhidas as rotas, é necessário dividi-las em subconjuntos adequados à operação pelas diversas frotas de aeronaves disponíveis.
A seguir, deve ser definida, para cada voo de um dado subconjunto, a aeronave específica (de sua frota associada) que irá operá-lo. Alocadas as aeronaves aos vôos, os subconjuntos devem ser divididos em jornadas de trabalho com início e fim numa mesma base de tripulantes; isso deve ser feito com o cuidado de minimizar os gastos com diárias de alimentação, pernoites em hotéis, inatividades em cidades fora das bases, vôos extras para reposicionamento de tripulantes, realização de deslocamentos, etc.
Definidas as jornadas de trabalho, essas devem ser distribuídas aos tripulantes observando-se a Regulamentação dos Aeronautas, pedidos daqueles funcionários e as regras específicas da empresa para efetuar a alocação. Concluída a distribuição das tarefas de voo e de solo (reservas e sobreavisos), deve-se cuidar da execução da escala de tripulantes, de forma a garantir eventuais substituições diante dos mais diversos imprevistos (de ordem material, aeroportuário, clima ou pessoal), sempre a um custo mínimo. A coordenação de vôos deve também estar pronta para sugerir cancelamentos de vôos e posicionamento de aeronaves em decorrência dos mesmos motivos.
Todos esses problemas de planejamento levam a uma explosão combinatória considerável, por mais simples que alguns possam parecer. Uma escala de tripulantes envolvendo 400 comissários de bordo e 800 jornadas mensais de trabalho pode produzir mais de um milhão e meio de restrições, acarretadas somente pela Legislação dos Aeronautas.
Além dessas restrições, efetuar a atribuição de forma a provocar um mínimo de desvio na quantidade de horas trabalhadas pelos tripulantes (visando ao equilíbrio da remuneração entre eles), pode tornar a decisão de alocação extremamente delicada. Tarefas como a de composição de jornadas de trabalho de uma pequena base de tripulantes, envolvendo pouco mais de 1.300 trechos de vôos semanais, podem gerar um problema de recobrimento envolvendo algumas centenas de milhões de possibilidades distintas.
Resolver esses problemas sem apoio de ferramentas apropriadas de decisão (baseadas em modelos matemáticos e algoritmos de otimização) requer muito tempo e demanda o trabalho de muitas pessoas. Mais grave ainda, o resultado obtido é, comumente, muito aquém da melhor solução possível e normalmente acarreta enormes prejuízos financeiros para as empresas que assim operam.

sexta-feira, 17 de junho de 2016

Watson e a Computação Cognitiva

Os Sistemas Especialistas baseados em Conhecimento Probabilístico ou Incerto têm sido estudados desde o início da Engenharia do Conhecimento. Mesmo tendo motivações diferentes, esses sistemas são muito similares aos sistemas baseados em regras de produção, que utilizam regras do tipo “SE -> ENTÃO”. A diferença fundamental é que a consequência das regras é composta por um grau determinado de incerteza, quantificado por um grau numérico de crença.

Originalmente, os sistemas baseados em regras de produção envolviam apenas decisões lógicas binárias, como: "0" ou "1", "sim" ou "não", etc. Embora eles fossem adequados para representar estruturas de conhecimento complexo, esses deveriam ser determinísticos. No entanto, outras áreas do conhecimento humano têm uma característica singular de imprecisão abrangendo inúmeras aplicações, como o diagnóstico médico, análises jurídicas, prospecção de minerais, ou ainda sistemas de aconselhamento de investimentos no mercado financeiro, entre outras.

Essas aplicações não determinísticas requerem a construção de uma base de conhecimento que forneçam indicações ranqueadas pelo seu grau de crença, baseadas em evidências.

Mas o principal entrave na montagem dessas Bases de Conhecimento é o grande volume de informações necessárias para sua formalização. A única forma viável de compor e manter essas bases é realização da "Aquisição Automática de Conhecimento". Esse aprendizado automático realizado pelas máquinas, agora está sendo revolucionado com o processamento de dados não estruturados.


A Aquisição Automática de Conhecimento

O processo de aquisição automática de conhecimento compreende três formas distintas de utilização: pode ser usado para a montagem de uma base de conhecimento, para efetuar a sua manutenção ou para complementar o conhecimento armazenado, por ocasião de consultas ao sistema.

E, quando se pensa em extrair conhecimento de um determinado assunto de forma automática, basicamente pensa-se em uma das três formas a seguir descritas:

• Programas interativos que colham conhecimento dos especialistas durante o curso de uma conversação em um terminal;
• Programas que aprendam os conceitos de uma especialidade, composto por um conjunto de exemplos, ou instâncias de treinamento.
• Programas que aprendam lendo textos, como humanos lendo relatórios técnicos;

A atenção dedicada ao último método vinha sendo muito rara. Projetar diálogos de elucidação do conhecimento não se constituía tarefa fácil, e o problema de processamento de linguagem natural contribuía para essa situação. No entanto, recentes pesquisas realizadas pela IBM resultaram na criação de uma soluçao inteligente para processamento desse tipo de informação: o IBM Watson.

A Hora e a vez do Watson 

O grande desafio que persistia na Área da Inteligência Artificial neste novo século era o de preparar uma máquina inteligente capaz de processar a linguagem natural humana e que fosse capaz de realizar inferências a partir de pistas fornecidas sobre um determinado assunto. 

Esse desafio tinha forte relação com o teste proposto por Alan Turing, na década de 1940, de que uma máquina e um ser humano escondidos pudessem compreender e responder perguntas a eles enviadas sem que um observador externo pudesse distinguir qual dos dois seria a máquina e qual seria o humano.

Numa variação do teste proposto, a IBM saiu na frente e construiu o computador Watson, para colocar a máquina como participante de um desafio na TV americana de perguntas e respostas denominado Jeopardy, em janeiro de 2011.

O quiz, sucesso televisivo na época, consistia em se processar afirmativas que tinham embutidas em si relacionamentos não explícitos, como pistas codificadas, metáforas, que deveriam ser resolvidas pelos participantes. Juntamente com dois recentes campeões da série, Brad Rutter and Ken Jennings, o primeiro de maior renda em prêmios obtida e outro de maior número de vitórias consecutivas, o computador Watson foi testado na ocasião, obtendo uma vitória contundente sobre os participantes humanos. O resumo da proposta da contenda pode ser visto no vídeo:


http://www.youtube.com/watch?v=FC3IryWr4c8

A condução do desafio pode ser vista no vídeo:


https://www.youtube.com/watch?v=WFR3lOm_xhE

O que é o novo produto IBM Watson 

Watson é um recente produto da IBM, resultado das técnicas utilizadas na construção do supercomputador de mesmo nome, que se constitui em uma aplicação moderna de inteligência artificial, aprendizado de máquina e processamento de linguagem natural. Mas não segue um conjunto baseado em lógica de regras como os supercomputadores do passado fizeram. Em vez disso, ele decompõe consultas feitas em linguagem natural para entender o contexto do que está sendo solicitado. Em seguida, analisa o corpo de informação disponível em pesquisas e artigos disponíveis  e produz respostas candidatas ranqueadas e quantificadas. Não é determinístico; é probabilístico - produzindo um conjunto de melhores respostas com a classificação e elementos de prova.

Assim como humanos realizam um processo de decisão, através da observação, interpretação, formulação de hipóteses e avaliação de cada hipótese para a tomada de decisão, Watson realiza a pesquisa em uma vasta base de conhecimento para fornecer hipóteses ranqueadas para consultas realizadas a um específico domínio de conhecimento.

Essas informações não estruturadas estão disponíveis para consulta em larga escala, e são compostas por literatura específica, artigos, relatórios técnicos, alėm da nova mídia digital, como posts,  blogs, e tweets. Essas informações são difíceis de serem processadas automaticamente, devido a sua ambiguidade, regras gramaticais e contextos aplicáveis.

Para cada área de domínio do conhecimento humano ė necessário inicialmente compreender os diversos termos específicos, jargões utilizados para a concreta compreensão do texto analisado. Watson inicia a construção da base de conhecimento guiado por peritos humanos selecionando da literatura existente informações atuais e relevantes do domínio de interesse, criando o corpo da base de conhecimento.

A próxima fase é a de treinamento do sistema especialista para acessar essa base de conhecimento e complementá-la com novas informações. Isto é feito através do carregamento de instâncias de treinamento compostas por perguntas e respostas, que têm o objetivo principal de adaptar o sistema aos padrões linguísticos específicos tratados (não regras diretas de decisão).

O processo de treinamento é contínuo, através da interação com usuários que realimentam o sistema, sempre sob a supervisão do analista de conhecimento humano. A manutenção da Base de Conhecimento também ocorre pela adição de novos documentos publicados em um processo continuo de lapidação da base.

A partir da estabilidade da base, Watson pode utilizar seu motor de inferência para responder complexas perguntas relativas ao domínio de conhecimento com grande precisão.

Como respostas, Watson emite hipóteses que são verificadas em sua base de conhecimento e entregues como possíveis resultados que são ranqueados pela relevância de sua acurácia, como devem fazer os Sistemas Especialistas Probabilísticos.

quarta-feira, 24 de setembro de 2014

The Predictors

Usar um computador para vencer na Bolsa de Valores é o grande sonho dos investidores do mercado acionário em todo o mundo.

Enquanto isso parece ser impossível para a maioria dos céticos, um grupo inusitado de acadêmicos, que  se tornaram magos financeiros, mostraram que isso pode realmente ser feito!

Liderados pelos físicos Doyne Farmer e Norman Packard, a Companhia de Previsão baseada em Santa Fé provou desde a sua fundação, em 1991, em um bangalô mobiliado com cadeiras de jardim de plástico e estações de trabalho Sun (topo de linha na época) que é realmente possível fazer milhões nos mercados.

Esses dois físicos americanos criaram um sistema que decodificava e modelava os complexos padrões subjacentes aos movimentos aparentemente aleatórios dos mercados acionários, cambiais e de commodities. A partir de investidores captados pela dupla, fundaram em 1991 a Prediction Company, que após quinze anos de sucesso de operações acabou sendo vendida ao banco suíço UBS por 300 milhões de dólares. A história completa do desenvolvimento do projeto dos físicos pode ser conhecida em detalhes no livro publicado em 1999, pela editora Henry Holt and Company , intitulado: “ The Predictors : How a Band of Maverick Physicists Used Chaos Theory to Trade Their Way to a Fortune on Wall Street ”.

quarta-feira, 17 de setembro de 2014

Social Trading

Hoje, o Social Trading se apresenta como a forma mais rápida e confortável para pessoas que querem melhorar seus processos de investimento, sem a necessidade de conhecimento profundo no assunto. Através de sinais fornecidos por profissionais do mercado financeiro, qualquer pessoa pode copiar as transações financeiras desses investidores.

Os sinais de negociação são normalmente fornecidos por pessoas que negociam dinheiro real e investem diariamente nos mercados financeiros. Estes investidores ganham e, por vezes, perdem dinheiro, mas acumulam a experiência das várias negociações realizadas.

Hoje, todos os investimentos desses profissionais podem ser partilhados na rede e seguidos por qualquer investidor. Existem várias vantagens em seguir investidores profissionais, e as principais são:

    . Copiar os investimentos e lucrar sempre que os profissionais lucrem;
    . Conseguir investir sem precisar perder horas com análises e estudos do mercado;
    . Aprender como um profissional se comporta e negocia.


Ao seguir um outro investidor, é possível ter acesso a todo o seu histórico de investimentos, podendo assim decidir se o investidor é indicado para si, ou não. Caso os investimentos feitos sejam demasiado arriscados ou os ganhos sejam demasiado inconstantes, é possível simplesmente copiar outro investidor. Tudo é transparente e simples.

Para os investidores iniciantes nos mercados financeiros ou para os investidores que não têm muito tempo para se dedicar à analise dos mercados, copiar um investidor profissional é a melhor forma de investir e garantir que as suas negociações sejam feitas com base em análises completas e bem fundamentadas.

O mais interessante é que, além da existente possibilidade de copiar as operações no mercado de moedas Forex,  a partir de 2012 foi disponibilizada a possibilidade de se copiar sinais de robôs dedicados que realizam negociações automáticas na Bolsa de Valores de São Paulo (BOVESPA). Esses robôs são implementações das estratégias de investidores profissionais testadas ao longo do tempo e disponibilizadas para uso de pessoas interessadas. E necessário apenas que o investidor abra uma conta na corretora XP Investimentos, assine a plataforma Metatrader 5 e copie os sinais desejados na comunidade MQL5 (mql5.com).
     

Hoje , mais e mais investidores estão procurando realizar negociações baseadas em sistemas automáticos, por serem mais precisos e menos propensos a erros. As vantagens dessa automatização passam pelo desapego emocional nas operações, pela economia de tempo dispensado à vigília dos preços e diversos índices, pela não necessidade de realizar cálculos manuais, pela rapidez das análises, velocidade de processamento e trabalho continuo e incansável das máquinas.
     

segunda-feira, 9 de dezembro de 2013

Há na literatura relatos de sucessos obtidos por robôs inteligentes dedicados que atuam nos mercados acionários de todo o mundo, onde se destacam aqueles que utilizam sistemas especialistas, redes neurais, lógica nebulosa, algoritmos evolutivos ou genéticos, teoria do caos e fractais. Esses investidores cibernéticos têm como objetivo automatizar as decisões de oportunidade de negociação, ou ainda sugerir a organização de portifólios ou carteira de ações.

Embora sistemas desse tipo sejam normalmente descritos como sendo muito complexos, os princípios básicos de sua concepção são mais simples do que parecem, e podem ser aplicados em escala menos sofisticada para serem processados por computadores pessoais, obtendo-se resultados positivos em aplicações práticas muito interessantes.


Em 2013, a Bovespa homologou o ambiente Metatrader 5 (MT5) para operacões automáticas e a corretora XP já está disponibilizando o ambiente para os interessados nesse tipo de operação. 

sexta-feira, 23 de agosto de 2013

Um Problema Simples de Otimização Combinatória

Suponha que você seja o dono de um restaurante que funcione todos os sete dias da semana. Suponha, ainda, que você tenha que contratar garçons para trabalhar cinco dias consecutivos com folga nos dois dias imediatamente subsequentes. Esses garçons recebem o mesmo salário para o trabalho descrito, não importando o dia em que iniciem sua jornada semanal. Baseado em um histórico de afluência de público, imagine que há uma necessidade mínima de trabalhadores em cada um dos sete dias da semana.

Você deverá, então, determinar o número de trabalhadores a contratar para iniciar em cada dia, de forma que as necessidades mínimas sejam atendidas, ao menor custo possível.

Dessa forma, suponhamos uma instância do problema de alocação descrito acima, que contemple as seguintes necessidades diárias:

Domingos    - 12
2ª Feiras   - 20
3a Ferias   - 16
4a Feiras   - 13
5a Feiras   - 16
6a Feiras   - 19
Sábados     - 14

Se utilizarmos um método de tentativas e erros para solucionar o problema de forma manual, obteremos soluções que utilizarão aproximadamente vinte e cinco garçons, em média. Se você conseguir uma solução que utilize apenas vinte e quatro trabalhadores, já terá obtido uma solução de muito boa qualidade!

Mas qual será a solução ótima para esse problema?