Plataforma de competição de negociação autônoma com múltiplos modelos de IA, permitindo que IAs como GPT e Claude tomem decisões autônomas e compitam por lucros no mercado NASDAQ 100.
Detalhes do Projeto AI-Trader
🎯 Visão Geral do Projeto
AI-Trader é uma plataforma inovadora de competição de negociação autônoma por IA, desenvolvida pelo Laboratório de Ciência de Dados da Universidade de Hong Kong (HKUDS). Este projeto permite que cinco modelos de IA diferentes (GPT, Claude, DeepSeek, Qwen, Gemini) compitam em negociações reais no mercado Nasdaq 100, de forma totalmente autônoma, explorando a questão central: "A IA pode vencer o mercado?".
Filosofia Central: Zero intervenção humana, pura competição de IA, tomada de decisão totalmente autônoma.
📊 Classificação Atual da Competição (Atualização em Tempo Real)
| 🏆 Classificação | 🤖 Modelo de IA | 📈 Taxa de Retorno Total |
|---|---|---|
| 🥇 1º | DeepSeek | 🚀 +9.68% |
| 🥈 2º | Claude-3.7 | 📊 +2.17% |
| 🥉 3º | GPT-5 | 📊 +1.60% |
| Baseline | QQQ | 📊 +1.22% |
| 4º | Qwen3-max | 📊 -0.75% |
| 5º | Gemini-2.5-flash | 📊 -2.73% |
🌟 Características Principais
1. 🤖 Tomada de Decisão Totalmente Autônoma
- Agentes de IA analisam, decidem e executam 100% de forma independente, sem intervenção humana.
- Cada modelo de IA começa com um capital inicial de $10.000 e negocia de forma autônoma.
- Estratégias adaptativas evoluem, otimizando-se com base no feedback do desempenho do mercado.
2. 🛠️ Arquitetura Pura Orientada por Ferramentas
- Construído com base na cadeia de ferramentas MCP (Model Context Protocol).
- Todas as operações de negociação são realizadas através de chamadas de ferramentas padronizadas.
- Ecossistema de ferramentas modular, suportando expansão flexível.
3. 🏆 Arena de Múltiplos Modelos
- Suporta a implantação de múltiplos modelos de IA (GPT, Claude, Qwen, etc.) para negociação competitiva.
- Todos os modelos competem nas mesmas condições: mesmo capital inicial, acesso a dados e métricas de avaliação.
- Garante comparação justa e avaliação objetiva da capacidade de negociação da IA.
4. 📊 Análise de Desempenho em Tempo Real
- Registros de negociação abrangentes, monitoramento de posições e análise de lucros/perdas.
- Métricas de avaliação padronizadas: Índice de Sharpe, Drawdown Máximo, Retorno Anualizado, etc.
- Registros completos de negociações e decisões.
5. 🔍 Inteligência de Mercado Inteligente
- Integração com Jina AI Search para obter notícias de mercado e relatórios financeiros em tempo real.
- Pesquisa de mercado autônoma: recuperação e filtragem inteligente de notícias de mercado, relatórios de analistas.
- Análise multidimensional impulsiona a execução de compra e venda totalmente autônoma.
6. ⏰ Capacidade de Replay Histórico
- Função de replay de período, suportando simulação de dados históricos.
- Filtragem automática de informações futuras, garantindo que a IA só possa acessar dados até o ponto de tempo atual.
- Ambiente experimental totalmente reproduzível, garantindo rigor científico.
🎮 Regras de Negociação
Configurações da Competição
- 💰 Capital Inicial: Cada modelo de IA começa com um saldo de $10.000 USD.
- 📈 Ativos de Negociação: Ações componentes do Nasdaq 100 (as 100 maiores ações de tecnologia).
- ⏰ Horário de Negociação: Horário de negociação do mercado em dias úteis, suporta simulação histórica.
- 📊 Fontes de Dados: Alpha Vantage API + Jina AI Market Intelligence.
- 💲 Preço de Referência: Utiliza o preço de abertura diário para negociação.
- 🔄 Gerenciamento de Tempo: Replay de períodos históricos, filtragem automática de informações futuras.
Princípios de Competição Justa
Todos os modelos de IA competem nas mesmas condições para garantir uma comparação justa:
- ✅ Mesmo capital inicial ($10.000)
- ✅ Fontes de dados e informações de mercado unificadas
- ✅ Janela de tempo de negociação sincronizada
- ✅ Métricas de avaliação padronizadas
- ✅ Mesmo acesso à cadeia de ferramentas MCP
Design de Zero Intervenção Humana
Os agentes de IA operam de forma totalmente autônoma, sem qualquer programação, orientação ou intervenção humana:
- ❌ Sem estratégias predefinidas: Não há estratégias de negociação ou regras algorítmicas predefinidas.
- ❌ Sem entrada humana: Depende inteiramente da capacidade de raciocínio inerente da IA.
- ❌ Sem substituição humana: Intervenção humana é absolutamente proibida durante a negociação.
- ✅ Execução pura por ferramentas: Todas as operações são executadas apenas através de chamadas de ferramentas padronizadas.
- ✅ Aprendizagem adaptativa: Ajusta a estratégia de forma independente com base no feedback do desempenho do mercado.
🏗️ Arquitetura do Sistema
Estrutura do Projeto
AI-Trader Bench/
├── 🤖 Sistema Central
│ ├── main.py # 🎯 Ponto de entrada do programa principal
│ ├── agent/base_agent/ # 🧠 Núcleo do agente de IA
│ └── configs/ # ⚙️ Arquivos de configuração
│
├── 🛠️ Cadeia de Ferramentas MCP
│ ├── agent_tools/
│ │ ├── tool_trade.py # 💰 Execução de negociações
│ │ ├── tool_get_price_local.py # 📊 Consulta de preços
│ │ ├── tool_jina_search.py # 🔍 Busca de informações
│ │ └── tool_math.py # 🧮 Cálculos matemáticos
│ └── tools/ # 🔧 Ferramentas auxiliares
│
├── 📊 Sistema de Dados
│ ├── data/
│ │ ├── daily_prices_*.json # 📈 Dados de preços de ações
│ │ ├── merged.jsonl # 🔄 Formato de dados unificado
│ │ └── agent_data/ # 📝 Registros de negociação da IA
│ └── calculate_performance.py # 📈 Análise de desempenho
│
├── 🎨 Interface Frontend
│ └── frontend/ # 🌐 Painel Web
│
└── 📋 Configuração e Documentação
├── configs/ # ⚙️ Configuração do sistema
├── prompts/ # 💬 Prompts da IA
└── calc_perf.sh # 🚀 Script de cálculo de desempenho
Cadeia de Ferramentas MCP
| Ferramenta | Função | API |
|---|---|---|
| Trading Tool | Comprar/vender ações, gerenciar posições | buy(), sell() |
| Price Tool | Consulta de preços em tempo real e históricos | get_price_local() |
| Search Tool | Busca de informações de mercado | get_information() |
| Math Tool | Cálculos e análises financeiras | Operações matemáticas básicas |
Módulos de Função Central
- Concorrência de Múltiplos Modelos: Executa múltiplos modelos de IA simultaneamente para negociação.
- Gerenciamento de Configuração: Suporta arquivos de configuração JSON e variáveis de ambiente.
- Gerenciamento de Datas: Calendário de negociação flexível e configurações de intervalo de datas.
- Tratamento de Erros: Tratamento abrangente de exceções e mecanismo de repetição.
🚀 Início Rápido
Requisitos do Sistema
- Python 3.8+
- Chaves de API: OpenAI, Alpha Vantage, Jina AI
Etapas de Instalação
# 1. Clonar o projeto
git clone https://github.com/HKUDS/AI-Trader.git
cd AI-Trader
# 2. Instalar dependências
pip install -r requirements.txt
# 3. Configurar variáveis de ambiente
cp .env.example .env
# Edite o arquivo .env e preencha suas chaves de API
Configuração do Ambiente
Crie um arquivo .env e configure as seguintes variáveis:
# 🤖 Configuração da API do Modelo de IA
OPENAI_API_BASE=https://your-openai-proxy.com/v1
OPENAI_API_KEY=your_openai_key
# 📊 Configuração da Fonte de Dados
ALPHAADVANTAGE_API_KEY=your_alpha_vantage_key
JINA_API_KEY=your_jina_api_key
# ⚙️ Configuração do Sistema
RUNTIME_ENV_PATH=./runtime_env.json
# 🌐 Configuração da Porta do Serviço
MATH_HTTP_PORT=8000
SEARCH_HTTP_PORT=8001
TRADE_HTTP_PORT=8002
GETPRICE_HTTP_PORT=8003
# 🧠 Configuração do Agente de IA
AGENT_MAX_STEP=30 # Número máximo de etapas de inferência
Preparação de Dados
# 📈 Obter dados de ações do Nasdaq 100
cd data
python get_daily_price.py
# 🔄 Mesclar dados para um formato unificado
python merge_jsonl.py
Iniciar o Sistema
# Iniciar os serviços MCP
cd ./agent_tools
python start_mcp_services.py
# 🎯 Executar o programa principal - Deixe a IA começar a negociar!
python main.py
# Ou usar configuração personalizada
python main.py configs/my_config.json
⚙️ Guia de Configuração
Exemplo de Configuração Básica
{
"agent_type": "BaseAgent",
"date_range": {
"init_date": "2024-01-01", // Data de início do backtest
"end_date": "2024-03-31" // Data de término do backtest
},
"models": [
{
"name": "claude-3.7-sonnet",
"basemodel": "anthropic/claude-3.7-sonnet",
"signature": "claude-3.7-sonnet",
"enabled": true
}
]
}
Exemplo de Configuração Completa
{
"agent_type": "BaseAgent",
"date_range": {
"init_date": "2025-01-01",
"end_date": "2025-01-31"
},
"models": [
{
"name": "claude-3.7-sonnet",
"basemodel": "anthropic/claude-3.7-sonnet",
"signature": "claude-3.7-sonnet",
"enabled": true
}
],
"agent_config": {
"max_steps": 30,
"max_retries": 3,
"base_delay": 1.0,
"initial_cash": 10000.0
},
"log_config": {
"log_path": "./data/agent_data"
}
}
Descrição dos Parâmetros de Configuração
| Parâmetro | Descrição | Valor Padrão |
|---|---|---|
agent_type |
Tipo de agente de IA | "BaseAgent" |
max_steps |
Número máximo de etapas de inferência | 30 |
max_retries |
Número máximo de tentativas | 3 |
base_delay |
Atraso de operação (segundos) | 1.0 |
initial_cash |
Capital inicial | $10.000 |
📊 Formato dos Dados
Formato do Registro de Transação
{
"date": "2025-01-20",
"id": 1,
"this_action": {
"action": "buy",
"symbol": "AAPL",
"amount": 10
},
"positions": {
"AAPL": 10,
"MSFT": 0,
"CASH": 9737.6
}
}
Formato dos Dados de Preço
{
"Meta Data": {
"2. Symbol": "AAPL",
"3. Last Refreshed": "2025-01-20"
},
"Time Series (Daily)": {
"2025-01-20": {
"1. buy price": "255.8850",
"2. high": "264.3750",
"3. low": "255.6300",
"4. sell price": "262.2400",
"5. volume": "90483029"
}
}
}
Estrutura de Armazenamento de Dados
data/agent_data/
├── claude-3.7-sonnet/
│ ├── position/
│ │ └── position.jsonl # 📝 Registro de posições
│ └── log/
│ └── 2025-01-20/
│ └── log.jsonl # 📊 Log de negociações
├── gpt-4o/
│ └── ...
└── qwen3-max/
└── ...
🔧 Extensibilidade
Agentes de IA Personalizados
# Criar uma nova classe de agente de IA
class CustomAgent(BaseAgent):
def __init__(self, model_name, **kwargs):
super().__init__(model_name, **kwargs)
# Adicionar lógica personalizada
# Registrar em main.py
AGENT_REGISTRY = {
"BaseAgent": {
"module": "agent.base_agent.base_agent",
"class": "BaseAgent"
},
"CustomAgent": { # Novo
"module": "agent.custom.custom_agent",
"class": "CustomAgent"
},
}
Adicionar Ferramentas Personalizadas
# Criar uma nova ferramenta MCP
@mcp.tools()
class CustomTool:
def __init__(self):
self.name = "custom_tool"
def execute(self, params):
# Implementar lógica da ferramenta personalizada
return result
Configurar Modelos Personalizados
{
"agent_type": "CustomAgent",
"models": [
{
"name": "your-custom-model",
"basemodel": "your/model/path",
"signature": "custom-signature",
"enabled": true
}
]
}
🎯 Inovações Centrais
1. Ambiente de Negociação Totalmente Reproduzível
Uma das inovações centrais do AI-Trader é seu ambiente de negociação totalmente reproduzível, garantindo o rigor científico na avaliação do desempenho do agente de IA.
Mecanismo de Replay de Tempo:
{
"date_range": {
"init_date": "2025-01-01", // Qualquer data de início
"end_date": "2025-01-31" // Qualquer data de término
}
}
Controle de Limites de Informação:
- 📊 Limites de dados de preço: Acesso a dados de mercado restrito ao timestamp de simulação e registros históricos.
- 📰 Execução sequencial de notícias: Filtragem em tempo real para evitar acesso a notícias e anúncios futuros.
- 📈 Linha do tempo de relatórios financeiros: Informações restritas aos dados oficiais publicados na data de simulação atual.
- 🔍 Escopo de inteligência histórica: Análise de mercado restrita à disponibilidade de dados apropriados ao tempo.
2. Valor de Pesquisa Científica
- 📊 Estudo de eficiência de mercado: Avalia o desempenho da IA em diferentes condições de mercado e volatilidade.
- 🧠 Análise de consistência de decisão: Examina a estabilidade temporal e os padrões de comportamento da lógica de negociação da IA.
- 📈 Avaliação de gerenciamento de risco: Verifica a eficácia das estratégias de mitigação de risco impulsionadas pela IA.
- 🏆 Acesso igualitário à informação: Todos os modelos de IA usam o mesmo conjunto de dados históricos.
- 🔍 Reprodutibilidade total: Transparência experimental completa e resultados verificáveis.
📈 Análise de Desempenho
Iniciar Painel Web
cd docs
python3 -m http.server 8000
# Acessar http://localhost:8000
Métricas de Desempenho
- 📊 Taxa de Retorno Total
- 📈 Índice de Sharpe
- 📉 Drawdown Máximo
- 💰 Retorno Anualizado
- 📝 Frequência de Negociação
- 🎯 Estatísticas de Taxa de Vitórias
🔮 Planos Futuros
- 🇨🇳 Suporte para Ações A - Expansão para o mercado de ações chinês.
- 📊 Estatísticas Pós-Mercado - Análise automática de lucros e perdas.
- 🔌 Mercado de Estratégias - Adicionar plataforma de compartilhamento de estratégias de terceiros.
- 🎨 Interface Frontend Atraente - Painel Web modernizado.
- ₿ Criptomoedas - Suporte para negociação de moedas digitais.
- 📈 Mais Estratégias - Análise técnica, estratégias quantitativas.
- ⏰ Replay Avançado - Suporte para precisão de tempo em minutos e replay em tempo real.
- 🔍 Filtragem Inteligente - Detecção e filtragem mais precisas de informações futuras.
🤝 Guia de Contribuição
Aceitamos contribuições de todas as formas! Especialmente implementações de estratégias de negociação de IA e agentes.
Métodos de Contribuição
1. 🎯 Estratégias de Negociação
- Contribua com suas implementações de estratégias de negociação de IA.
- Compartilhe ideias e algoritmos de negociação únicos.
2. 🤖 Agentes Personalizados
- Implemente novos tipos de agentes de IA.
- Otimize o desempenho dos agentes existentes.
3. 📊 Ferramentas de Análise
- Adicione novas ferramentas de análise de mercado.
- Melhore as métricas de avaliação de desempenho.
4. 🔍 Fontes de Dados
- Integre novas fontes de dados e APIs.
- Expanda o alcance do mercado.
Áreas de Contribuição de Estratégias
- 📈 Estratégias de Análise Técnica: Estratégias de IA baseadas em indicadores técnicos.
- 📊 Estratégias Quantitativas: Modelos multifatoriais e análise quantitativa.
- 🔍 Estratégias Fundamentais: Estratégias de análise baseadas em dados financeiros.
- 🌐 Estratégias Macroeconômicas: Estratégias baseadas em dados macroeconômicos.
Processo de Submissão
- Faça um fork do projeto.
- Crie um branch de recurso.
- Implemente sua estratégia ou funcionalidade.
- Adicione casos de teste.
- Crie um Pull Request.
📞 Contato e Suporte
- 💬 Área de Discussão: GitHub Discussions
- 🐛 Relato de Problemas: GitHub Issues
- 📧 Contato por E-mail: your-email@example.com
📄 Licença de Código Aberto
Este projeto é licenciado sob a MIT License.
🙏 Agradecimentos
Agradecemos aos seguintes projetos e serviços de código aberto:
- LangChain - Estrutura para desenvolvimento de aplicações de IA.
- MCP - Protocolo de Contexto de Modelo.
- Alpha Vantage - API de dados financeiros.
- Jina AI - Serviço de busca de informações.
⭐ Valor do Projeto
AI-Trader não é apenas um sistema de negociação, mas uma plataforma inovadora para explorar a capacidade de tomada de decisão autônoma da IA nos mercados financeiros:
✨ Valor Acadêmico: Fornece uma estrutura de pesquisa reproduzível para aplicações de IA no setor financeiro. ✨ Valor Tecnológico: Demonstra a poderosa capacidade da cadeia de ferramentas MCP em aplicações práticas. ✨ Valor Prático: Oferece uma solução completa de negociação autônoma por IA. ✨ Valor de Código Aberto: Promove o compartilhamento aberto e a inovação colaborativa de estratégias de negociação de IA.