Modelo de Bornholdt para simulação de mercados financeiros artificiais
Grupo: Leonardo Barcelos, Luana Bianchi e Rubens Borrasca
OBJETIVO
Modelo de Bornholdt
Para estudar os fenômenos físicos que nos rodeiam, usamos modelos matemáticos para entender como sistemas evoluem com o tempo. No entanto, esses modelos muitas vezes podem ser base para estudos além do sistema físico de interesse. Para um sistema de spins, um dos modelos mais simples, que leva em conta apenas a interação de cada spin com seus primeiros vizinhos, é o Modelo de Ising. O hamiltoniano que o descreve é defindo pela segunte expressão:
onde é o termo que define a força de interação entre os spins i e j e a componente Z do spin. Além disso denota que estamos somando somente sobre os primeiros vizinhos. Para um valor de , a interação ferromagnética é favorecida, e os spins vizinhos tendem a se alinhar conjuntamente, formando domínios magnéticos. No entanto, para a interação antiferromagnética é favorecida, e os spins tende a se "anti-alinhar".
Podemos fazer um paralelo interessante entre os spins e a sua interação com seus vizinhos com traders em mercados finaceiros e a suas interações com outros traders. No caso do Modelo de Ising, podemos interpretar cada spin como um trader, ou agente, em um mercado financeiro e a direção da componente Z desse spin como a sua estratégia de compra ou venda. Então neste caso mais simples, para , os agentes tenderão a adotar a mesma estratégia de mercado, e isso não descreve bem a realidade dos mercados.
O Modelo de Bornholdt, se incluid {coisas do artigo}. Assim, o hamiltoniano do sistema fica complementado:
onde é o termo de acomplamento do spin com a rede toda
Alguns conceitos importantes
Retornos [1]
Quando se trata de sistemas financeiros, os estudos se concentram mais no retorno dos ativos do que no preço em si, pois a série temporal dos retornos tem propriedades estatísticas mais interessantes que a série dos preços.
Sendo P(t) o preço de um ativo financeiro no instante t, e P(t-1) o preço do ativo no instante (t-1), o retorno linear do ativo é:
Reescrevendo esta equação, obtemos que:
Aplicando a função logarítmica em ambos os lados da equação, e considerando que:
obtêm-se o retorno logarítmico, que é mais indicado quando se têm ativos voláteis, que possuem uma variação muito alta:
Considerando que neste estudo serão comparados retornos de diferentes índices, e também os retornos obtidos através das simulações com o modelo de Bornholdt, é importante normalizar os retornos:
em que é o desvio padrão da serie de retornos e a média.
Distribuição dos Retornos [2]
Quando se tem um volume considerável de dados é possível obter a distribuição probabilística deles. Para isso pode-se utilizar a estimação de densidade de Kernel (KDE). Ao observar uma pequena janela de tamanho h em torno de um ponto em análise, pode-se dizer que:
sendo uma função kernel e uma variável tal que:
Para este estudo utilizou-se um kernel gaussiano:
Este método foi aplicado para as séries de retorno para obter a distribuição deles, utilizando .
Volatilidade
Uma forma de calcular a volatilidade da série temporal de retornos ao longo do tempo é elevar ao quadrado os valores da série. Deste modo pode-se obter uma variável como a que está ilustrada na figura ao lado.
O interessante em estudar volatilidade de retornos financeiros é que essa variável reflete o quão imprevisível é um determinado ativo. Uma ação com alta volatilidade tende a ter um risco maior de investimento, ao passo que ações com baixa volatilidade geralmente retornam riscos menores, pois seu comportamento acaba sendo mais previsível.
Um fato estilizado financeiro é que a volatilidade das séries temporais de retorno apresentam comportamento sazonal por natureza. Há períodos de alta volatilidade, seguidos por períodos com baixa volatilidade, que então são novamente seguidos por alta volatilidade, e assim adiante. E uma forma de mensurar isto é verificando a presença de clusters de autocorrelação na volatilidade de retornos. Isto é, através da análise da autocorrelação da volatilidade, encontrar bolhas que indiquem as fases destes comportamentos.
Para obter a auto correlação o Teorema de Wiener-Khinchin [3] [4] foi utilizado, de forma que:
onde é a transformada de Fourier do quadrado dos retornos.
Simulações
Variação do tamanho da grade
Um dos objetivos deste estudo é verificar qual o tamanho de grade gera um resultado que melhor simula um índice financeiro. A escolha de índices financeiros para comparação, ao invés de ações ou commodities, é por causa da instabilidade que ativos financeiros separados têm. Imaginando um cenário fictício onde uma empresa A vende sorvetes enquanto a empresa B vende chocolate quente. A tendência é que haja uma sazonalidade nos 2 ativos, de tal forma que, no verão, as ações de A subam enquanto B desce, e vice-versa no inverno. Porém, enquanto os 2 ativos estão se movimentando, o movimento do mercado representado por estas 2 ações permanece aproximadamente constante. Como índices financeiros são, na verdade, médias de um conjunto grande e diverso de ações presentes no mercado, são melhores para a comparação com o modelo.
Foram escolhidos 4 diferentes tamanhos de grade:
- 16x16: 256 agentes
- 32x32: 1024 agentes
- 50x50: 2500 agentes
- 100x100: 10000 agentes
Cada uma das simulações se deu sob as seguintes condições:
- Todos os agentes são racionais, ou seja, eles podem trocar de opinião ao longo da simulação, assumindo em alguns momentos e em outros, de acordo com o grupo que o agente está inserido: maioria ou minoria.
Abaixo é possível observar fotografias do sistema em diferentes instantes para cada uma das simulações:
Como saída da simulação é obtida uma série temporal dos valores de magnetização, que neste modelo significam o preço de um ativo presente no mercado. Utilizando a série de preços (magnetização), foi obtido, então, a série dos retornos logarítmicos normalizados, através do método explicado na seção dos Retornos. Para comparar o modelo com dados reais, obteve-se as series temporais do preço de índices do mercado financeiro: Ibovespa, S&P 500, Dow Jones e NASDAQ. Esses dados foram obtidos com a biblioteca Pandas Datareader do Python, que permite obter dados de páginas da internet como a Yahoo Finance, que possui a série temporal dos preços de vários ativos financeiros. Assim como nas simulações, a partir da série de preços dos índices foram calculadas a série temporal dos retornos logarítmicos normalizados.
Na figura abaixo pode-se observar os retornos de cada simulação e índice financeiro:
Alguns pontos interessantes a se observar:
- os retornos dos índices S&P 500, Dow Jones e NASDAQ são muito parecidos, isso de deve ao fato de que todos são índices de mercados dos Estados Unidos, enquanto o Ibovespa é um índice de mercado brasileiro;
- os retornos das simulações vão variando mais tempo perto do zero conforme o número de agentes cresce;
- conforme o número de agentes no sistema aumenta, diminui-se o número de transições agudas de retorno, representadas pelos picos no gráfico. Isso indica um mercado mais estável.
- o objeto da simulação não é retornar uma cópia do observado nos dados reais, mas sim um cenário parecido. O intuito é criar um novo mercado, artificial, com características parecidas ao observado nos mercados reais.
Para ter uma comparação melhor a fim de entender que tamanho de grade simula melhor um mercado financeiro, é importante ver a distribuição dos retornos e a auto correlação das volatilidades.
Variação da opinião dos agentes
blablabla