• Nenhum resultado encontrado

Um protótipo de mercado de ações usando Algoritmos Genéticos

N/A
N/A
Protected

Academic year: 2021

Share "Um protótipo de mercado de ações usando Algoritmos Genéticos"

Copied!
8
0
0

Texto

(1)

Resumo— O modelo estuda a criação de um mercado

artificial onde os agentes interagem entre si comprando e vendendo ações de acordo com sua própria estratégia. Com o objetivo de descobrir quais fatores proporcionariam maior rentabilidade ao capital dos agentes foi usada técnica de algoritmos genéticos. Na nova população com algoritmos genéticos os agentes têm suas principais características

codificadas em um cromossomo que será evoluído ao longo das gerações.

Index Terms — Algoritmos Genéticos, Agentes.

Palavras chave— Algoritmos Genéticos, Agentes.

I. INTRODUÇÃO

S mercados de ações apresentam uma quantidade de fatores e indicadores que são oriundos do comportamento de milhares de indivíduos interagindo mutuamente, vários desses indicadores são funções de séries históricas de preços que são negociadas cotidianamente por todo o planeta. Essas séries de preços possuem um comportamento característico e que na maioria das vezes independe do lugar onde está sendo negociada, apresentam ainda grandes altas ou quedas (grandes flutuações) em uma freqüência maior do que a esperada. O motivo pelo qual essas flutuações ocorrem ainda está em aberto. Assim como ainda não está definido se essas flutuações são causadas por fatores puramente inerentes a interação dos indivíduos ou por fatores externos, política, catástrofes naturais, escândalos.

Os físicos vêm a bastante tempo usando técnicas como a teoria de campos médios, grupo de renormalização e analise de escala para explorar sistemas complexos, onde a interação entre as partículas é mais importante do que o estado individual de cada partícula. Esses métodos vêm sendo aplicados a sistemas sociais e sistemas ecológicos e para isso estabelecem regras para interação entre os indivíduos - ao invés de partículas - e analisam o seu comportamento coletivo.

No presente trabalho, vai ser investigado um sistema onde não existem fatores externos. Um mercado de ações artificial vai ser criado, e nesse mercado todos os agentes são especuladores, isto é, negociam com o único objetivo de aumentar o próprio capital. Não há filantropia, um agente não permanece no mercado se estiver perdendo dinheiro. Junto a isso vai existir uma abordagem evolucionária onde cada agente é caracterizado por um cromossomo. Uma espécie de Darwinismo é aplicado a substituição dos agentes que não apresentam uma boa performance, fazendo com que a população evolua para o conjunto de estratégias que melhorem os seus desempenhos.

II. DESCRIÇÃO DO PROBLEMA A. O Modelo

O modelo foi originalmente proposto e simulado por Caldarelli et al. [1] e consiste em um número N (por exemplo, N = 1000), identificados por um índice i = 1,..., N. Os agentes são iniciados com a mesma quantidade de capital Ci(0) distribuído

entre Mi(0), que representa a quantidade de ativo livre de risco (dinheiro), e Si(0), que é a quantidade de ativos negociáveis.

O capital de um agente i em qualquer instante de tempo t é definido por:

)

(

)

(

)

(

)

(

t

M

t

p

t

S

t

C

i

=

i

+

i , onde p(t) é o preço da ação no instante t.

As variações do capital dos agentes se dão por negociação, i.e., transformações simultâneas entre Mi(t) e Si(t) e por

mudanças no preço do ativo p(t). O modelo considera a existência de somente um ativo, uma moeda estrangeira, por exemplo.

Um protótipo de mercado de ações usando

Algoritmos Genéticos

W. Freitas – Departamento de Física, PUC-Rio

(2)

Cada agente negocia baseado em sua própria estratégia Xi(t), que recomenda que ele compre ou venda uma quantidade do

ativo. As estratégias são aleatórias entre os agentes, e constantes no tempo para cada agente. Com o objetivo de atualizar a distribuição de estratégias da população o agente com o menor capital Ci(t) é substituído por um novo agente com um nova

estratégia, o que seria uma espécie de reciclagem do mercado onde o indivíduo com o pior desempenho é eliminado. Essa medida tenta reproduzir o que acontece em mercados reais onde investidores ruins desaparecem rapidamente.

Outro importante ponto é a ausência de fatores externos, quantidades exógenas. A série temporal de preços do ativo é a única informação disponível para auxiliar na tomada de decisões dos agentes, ou seja, uma quantidade endógena. Dessa maneira as estratégias dos agentes só pode depender do histórico dos preços,

[

(

),

(

1

),

(

2

),

K

]

)

(

t

=

f

p

t

p

t

p

t

X

i i

Xi(t)Si(t) é a quantidade que o agente i decide comprar (Xi(t)>0) ou vender (Xi(t)<0). A função fi é parametrizada por um

conjunto de l indicadores Ik. Aqui vai ser usado apenas um indicador, I1, definido por:

T T t

t

p

t

p

t

p

I

)

1

(

)

(

ln

)

(

ln

1

=

é o retorno logarítmico do preço do ativo. Os símbolos T denotam médias móveis em uma janela T.

As estratégias individuais são definidas através de um conjunto de pesos ηik que os agentes aplicam ao indicador Ik para

compor a função fi. Cada agente forma um indicador global de acordo com a seguinte expressão:

=

=

l k k ik i

I

p

x

1

})

({

η

A estratégia é uma simples função fi do indicador global xi

)

(

)

(

i i

t

f

x

X

=

que deve ter as seguintes propriedades:

1. |f(x)| ≤ 1, desde que Xi(t) representa uma fração da quantidade de ativos que vai ser negociado no instante t;

2. sinal(f) = sinal(x), ou seja, indicadores negativos recomenda ordens de venda e indicadores positivos ordens de compra;

3. f(x) → 0 para |x| → ∞, faz com que o comportamento dos agentes fique mais cauteloso na presença de fortes oscilações.

Para reproduzir esse comportamento a função escolhida é:

4 4

)

2

(

1

3

3

2

)

(

x

x

x

f

+

=

A quantidade de ativos ∆Si(t) quem um agente i decide vender (∆Si(t)<0) ou comprar (∆Si(t)>0) é dada por:

i i i i i i i

t

S

t

p

t

M

t

S

t

X

t

S

τ

γ

2

)

(

)

(

)

(

)

(

)

(

)

(

=

+

onde o primeiro termo é pura especulação e o segundo termo introduz um caráter racional fazendo com que a ação final dependa de Mi(t) e de Si(t). A motivação para esse segundo termo é que todo agente de acordo com a sua atitude frente ao

risco tenha uma posição preferida na balança entre ativos com e sem risco. Em um período quieto, onde p(t) é estacionário, na medida que o agente negocia ele tenta reequilibrar o seu portifolio com o objetivo de obter melhores posições para reagir a futuros movimentos do preço. A razão ativo/dinheiro ótima nessa situação é dada por

(3)

i i i

M

pS

=

γ

e é alcançado em um tempo de ordem τi. A interpretação do segundo termo é obtida com a anulação do primeiro termo – com

p(t) sendo estacionário os indicadores Ik se anulam.

Para simular estratégias aleatórias os parâmetrosηik, τi e γi são escolhidos aleatoriamente. Estes números caracterizam

completamente um agente.

B. Execução das ordens e formação do preço

A formação do preço e a execução das ordens são determinadas pela demanda e oferta. Os agentes submetem suas ordens (∆Si(t)) e a demanda D(t) e oferta O(t) são calculadas a cada instante t como somas das ordens individuais

[

]

[

(

)

]

)

(

)

(

)

(

)

(

)

(

1 1

t

S

t

S

t

O

t

S

t

S

t

D

i N i i i N i i

Θ

=

Θ

=

= = ,

onde Θ(x) é a função degrau de Heavyside. Se D(t) > O(t), a ação é normalizada para que todos os agentes possam participar da negociação, logo:

<

=

>

=

0

)

(

)

(

)

(

0

)

(

)

(

)

(

)

(

)

(

t

S

se

t

S

t

S

t

S

se

t

D

t

O

t

S

t

S

i i i i i i

dessa forma cada agente que quiser comprar obtém uma fração da sua ordem inicial,

S

i

(

t

)

<

S

i

(

t

)

. O oposto acontece para D(t) < O(t), reduzindo a ordem de venda. As regras para negociação dos agentes podem ser resumidas em:

)

(

)

(

)

1

(

)

1

(

)

(

)

(

)

1

(

t

S

t

p

t

M

t

M

t

S

t

S

t

S

i i i i i i

+

=

+

+

=

+

para

S

i

( >

t

)

0

(ordem de compra) a quantidade de ativos

S

i

(t

)

aumenta e o dinheiro

M

i

(t

)

diminui, o oposto acontece com uma ordem de venda.

O novo preço é calculado através da lei de demanda e oferta:

T T

t

O

t

D

t

p

t

p

)

(

)

(

)

(

)

1

(

+

=

.

note que o preço cresce quando há demanda e cai quando aumenta a oferta.

A dinâmica do modelo obedece ao fluxograma a seguir:

III. MODELAGEM COM ALGORITMOS GENÉTICOS

Com o objetivo de descobrir fatores predominantes na tomada de decisão dos agentes, foi usada a técnica de busca através de algoritmos genéticos, que evolui uma população de indivíduos, onde cada indivíduo é uma possível solução do

problema. A população é iniciada aleatoriamente e cada indivíduo é

representado pelos parâmetros ηik, τi e γi, que caracterizam completamente um

(4)

codificação do agente. O cromossomo será formado da seguinte maneira:

Como todos os parâmetros são números reais definidos em

um intervalo usou-se a representação em binária, por

ter baixa cardinalidade e dessa forma maximizar a quantidade de schemata. Cada parâmetro vai ser codificado em uma string de bits de tamanho bi que juntas vão formar um cromossomo de tamanho L, logo

=

i i

b

L

. Com a introdução dos algoritmos genéticos o agente vai possuir um cromossomo que contem os seus parâmetros e também as quantias Mi e Si, de

forma que negociação entre os agentes continua inalterada.

Essa nova abordagem implica diretamente na regra de reciclagem dos indivíduos como veremos a seguir. No modelo original a cada instante t o agente com menor capital é substituído por um novo agente com uma nova estratégia. Essa operação é realizada no módulo de reciclagem desenhado no Fluxograma 1. A nova regra de reciclagem, que coincide com a reprodução do algoritmo genético, vai eliminar os indivíduos com os piores desempenhos. Cada indivíduo vai ser avaliado pela quantidade de vezes que a estratégia dele proporcionou aumento no seu capital. O indivíduo possui uma quantidade Wi

(winnings) que é incrementada de 1 se o capital dele aumentou naquela rodada. Sendo Ti o número de rodadas que ele

participou, a razão

i i

T W

é o percentual de vitórias que o indivíduo i teve ao longo das rodadas. Essa razão, portanto foi usada na avaliação dos indivíduos.

A técnica de reprodução utilizada foi Steady-State com a intenção de não alterar demasiadamente o modelo, isto é, o modelo original substitui o agente mais pobre a cada reciclagem, com a reprodução Steady-State os GAP indivíduos com pior desempenho vão ser substituídos. Para que um indivíduo seja corretamente avaliado ele precisa de uma quantidade chances (δ, foi usado δ=10) para testar a sua estratégia. Diferentemente do modelo original em que a reciclagem ocorre a cada instante t, aqui a reciclagem acontece a cada δ passos. Dessa forma a duração de cada geração é

δ

×

GAPN , onde N é o

tamanho da população.

Para evitar problemas na seleção dos indivíduos usamos normalização linear, pois as avaliações pertencem ao intervalo

[ ]

0

,

1

, que é um intervalo pequeno e isso poderia favorecer alguns indivíduos.

Os operadores usados na reprodução foram: (i) mutação por inversão, isto é, seleciona-se uma posição do cromossomo e inverte o bit nessa posição, e (ii) crossover de 1 ponto.

É importante levar em consideração a natureza co-evolucionária do modelo. As estratégias são evoluídas para maximizar o desempenho dos agentes e isso não está vinculado a um melhor comportamento do mercado, ou seja, tendência positiva para o crescimento do preço. Outra questão é que conforme a população converge para uma solução ela se torna menos heterogênea e em um mercado com pouca diversidade de estratégias o preço do ativo tende a ficar estacionário.

IV. RESULTADOS A. Figuras e Tabelas

Aqui encontram-se as tabelas com os parâmetros usados nas simulações e os gráficos com as medidas de desempenho.

i

γ

0 a 2 i

τ

20 a 200 Tamanho da população (N) 100 ηi,1 -10 a 10 Quantidade de passos (S) 2000 Período da Média Móvel (T) 100

Tabela 1 – Parâmetros utilizados no modelo sem algoritmos genéticos.

Com a intenção de simplificar o modelo adotamos somente um indicador, I1, o retorno logarítmico, como já foi

mencionado anteriormente, o peso referente a esse indicador é ηi,1. Esses valores foram escolhidos por produzirem uma boa

série de preços no modelo sem algoritmos genéticos. Tamanho da população (N) 100

(5)

Taxa de Crossover (pc) 0.7

Taxa de mutação (pm) 0.2

δ

10

GAP 2

Normalização Linear Min=1, Max=100

Gerações 20

Rodadas 10

Tabela 2 – Parâmetros utilizados nas simulações com algoritmos genéticos.

Figura 1 – Curva de avaliação de desempenho online do algoritmo genético (diamantes azuis) versus o desempenho do modelo original (triângulos verdes). Foram feitas médias para 20 gerações em 10 rodadas do programa. É bem visível a convergência do Algoritmo Genético frente ao ensemble de estratégias aleatórias do modelo original.

(6)

Figura 3 – Evolução do parâmetro ττττ para 20 gerações e 10 rodadas.

Figura 4 – Evolução do parâmetro ηηηηi1 para 20 gerações e 10 rodadas.

(7)

Figura 6 – Retornos logaritmos da série de preços, utilizado como indicador I1.

V. CONCLUSÃO

Os resultados encontrados mostram que as estratégias evoluídas convergem para uma performance de 50% de acertos que significa na prática que eles, em média, erram tanto quanto acertam. Um fator importante a ser levando em conta aqui é o indicador escolhido, o retorno logaritmo, que possui simetria com a origem, os pesos ηi,1 também são definidos em um

intervalo simétrico e a função utilidade da estratégia também possui simetria com a origem. Se um agente atribui um peso negativo a esse indicador significa, de acordo com f(x), que para retornos positivos a estratégia recomenda que ele compre e para retornos negativos a estratégia recomenda que ele venda. Observando o gráfico de retornos da Figura 6, fica bem claro que eles são simetricamente distribuídos. Dessa maneira estratégias com ηi,1>0 e ηi,1<0, são idênticas, em outras palavras,

em média o indicador ηi,1 seria nulo. Isso fica evidente na Figura 5 que mostra a evolução online do parâmetro nas gerações.

Uma primeira medida no sentido de contornar essa limitação é a inclusão de outros indicadores como a volatilidade e o retorno absoluto que não possuem simetria e também indicadores com médias móveis de diferentes períodos que por serem filtros podem trazer informações de diferentes pontos da série.

Os parâmetros que fazem parte do termo racional, γi e τi, apresentaram convergência, como pode ser observado nos

gráficos das Figuras 2 e 3, respectivamente. Os valores dessas convergências representam os pontos em que o segundo termo da ação melhor se acomoda em relação ao primeiro permitindo que o agente execute estratégia recomendada apenas efetuando a sua função de racionalizar o comportamento do agente.

Foi possível observar que o algoritmo genético evoluiu as estratégias até o limite imposto pelo próprio modelo e, além disso, mostrou onde os parâmetros do termo racional podem se posicionar para proporcionar uma melhor utilização da estratégia pelo agente e isso abre espaço para tentativas diferentes de evolução, que não tenha caráter co-evolucionária.

(8)

REFERENCES

[1] G. Caldarelli, M. Marsili and Y.C. Zhang, A prototype model of stock

exchange, Europhysics Letters 40, 1997, pp. 479.

[2] J.D. Farmer, Physicists attempt to scale the ivory towers of finance, Computing in Science and Engineering 1, 1999, pp. 26–39. [3] J.D. Farmer, Towards Agent-Based Models for Investment, AIMR,

2001, pp. 61.

[4] B. LeBaron, Evolution and Time Horizons in an Agent-Based Stock

Market, Macroeconomic Dynamics, 5, 2001, pp. 225–254. [5] H. J. Blok, On The Nature of Stock Market: Simulations and

Experiments, http://arxiv.org/abs/cond-mat/0010211

[6] J. Voit, The Statistical Mechanics of Financial Markets, Texts and Monographs in Physics, 2001, Springer-Verlag.

[7] L. Davis, Handbook of Genetic Algorithms, 1991, VNR New York. [8] D. E. Goldberg, Genetic Algorithms in Search, Optimization and

Referências

Documentos relacionados

Apresenta-se neste trabalho uma sinopse das espécies de Bromeliaceae da região do curso médio do rio Toropi (Rio Grande do Sul, Brasil), sendo também fornecida uma chave

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Os resultados deste estudo mostram que entre os grupos pesquisados de diferentes faixas etárias não há diferenças nos envoltórios lineares normalizados das três porções do

Note on the occurrence of the crebeater seal, Lobodon carcinophagus (Hombron &amp; Jacquinot, 1842) (Mammalia: Pinnipedia), in Rio de Janeiro State, Brazil.. On May 12, 2003,

Podem treinar tropas (fornecidas pelo cliente) ou levá-las para combate. Geralmente, organizam-se de forma ad-hoc, que respondem a solicitações de Estados; 2)

Arrendatários e parceiros são mais prósperos e mais bem educados nas regiões onde a cultura da cana está concentrada, e existe uma correlação entre mercados de aluguel ativos e

Source: 2006 Census of Agriculture – IBGE.. Overall, Brazil follows the same pattern as most Latin American countries, with land use characterized by high inequality in

A segunda contribuição é explicitar que a aplicação desse método, mesmo que tratando de um recorte específico no processo histórico de formação para o trabalho simples e