Visão geral
- Explicação de um projeto que implementou trading algorítmico no Grand Exchange de RuneScape.
- O Grand Exchange é um mercado onde todos os jogadores podem comprar e vender itens, com um limite de compra por item a cada 4 horas.
- Todas as ofertas de venda têm uma taxa de 1%, usada pelos desenvolvedores do jogo para controlar a inflação.
Componentes
- O bot é composto por três aplicações: uma API em JavaScript que interage com o stream de preços de itens em tempo real da OSRS Wiki, um cliente Java que controla o comportamento do personagem e uma API em Python que prevê a rentabilidade de ofertas possíveis.
- O pipeline de dados é composto por dois cronjobs, que consultam a API da OSRS Wiki a cada 5 minutos e 1 hora, respectivamente, para coletar dados.
- O objetivo da função de perda do modelo é o ouro gerado por segundo.
Método de referência
- O método de referência calcula ROI e a proporção de volume com base no spread recente de preços e no volume de negociação dos itens.
- Calcula-se o Z-score do ROI e o Z-score da proporção de volume de cada item, filtrando os itens cuja média histórica de ouro por segundo foi negativa.
Método de machine learning
- Foi realizado um experimento de uma semana comparando o método de referência com modelos de regressão Random Forest e rede neural.
- Os resultados foram ordenados com base no lucro médio por hora.
- O modelo Random Forest registrou o maior lucro.
- O modelo de rede neural veio em seguida, e o método de referência registrou o menor lucro.
Conclusão
- O método de machine learning teve desempenho superior ao método de referência.
- O modelo Random Forest registrou o maior lucro, em linha com a perda de validação do modelo.
Resumo do GN⁺
- O trading algorítmico no Grand Exchange de RuneScape é um projeto interessante para entender a economia dentro do jogo e maximizar lucros com machine learning.
- O fato de o modelo Random Forest ter tido desempenho melhor que a rede neural sugere baixa volatilidade nos dados e previsões de alta frequência com ROI baixo.
- Este projeto pode ser útil para entender sistemas econômicos dentro de jogos e praticar machine learning.
- Um projeto com funcionalidade semelhante é o trading algorítmico no mercado de ações.
1 comentários
Comentários no Hacker News
Compartilhamento de experiência usando Google Sheets para analisar dados via a API da wiki. O lucro por hora é baixo. Menciona a necessidade de analisar tendências de preço no nível do mercado e das categorias. Compartilha uma planilha pessoal de lucratividade.
Explica a forma de lucrar, na época de ouro do Runescape, colocando ao mesmo tempo ordens de compra e de venda para o mesmo item raro no GE. Chama isso de "market making".
Compartilhamento de experiência de usar o app mobile de World of Warcraft para navegar pela casa de leilões e comprar e vender itens. Relata ter feito engenharia reversa da API e escrito um bot para a casa de leilões. Supõe que esse seja um dos motivos pelos quais o app foi descontinuado.
Opinião positiva sobre Runescape. Destaca que é um jogo que continua recebendo atualizações há mais de 20 anos. Há reclamações sobre o sentimento de propriedade da comunidade, mas ainda assim novas armas e quests continuam sendo adicionadas.
Compartilhamento de experiência de interagir com Runescape principalmente por meio de programação. Usa bots de cor e bots básicos de clique. Automatiza as partes tediosas do jogo com 100 linhas de código Python usando
pyautogui.Compartilhamento de experiência no Hypixel. Monitorava os preços de entrada e saída de várias receitas de crafting e, quando o lucro atingia um certo nível, fazia o crafting. O jogo não era tão profundo e acabou ficando entediante, mas foi divertido enquanto durou.
Explica como interagir com a API da OSRS Wiki usando dois cronjobs. Questiona por que os dados são buscados a cada 5 minutos e a cada 1 hora.
Compartilhamento de experiência de ter ganho cerca de 1.000 GBP com negociações no Runescape antes da introdução do GE. O método era comprar party hats barato e vender caro. Relata que parou de jogar e vendeu tudo no eBay.
Pede desculpas pela falta de entendimento sobre modelagem e questiona se a coleta é de dados de preço em intervalos de 5 minutos ou se o objetivo é encontrar padrões ao longo de vários períodos.
Pergunta se alguém fez um experimento parecido no mercado de EVE.