AI Hedge Fund项目Docker部署与运行指南
2025-07-05 03:18:08作者:俞予舒Fleming
项目概述
AI Hedge Fund是一个基于人工智能技术的量化投资系统,它利用机器学习模型分析股票市场数据,进行投资决策和回测。该项目通过Docker容器化部署,提供了多个服务组件,包括核心交易系统、回测引擎以及与Ollama大语言模型的集成。
核心服务架构
该Docker Compose文件定义了六个主要服务:
- Ollama服务:提供大语言模型推理能力
- Hedge Fund核心服务:执行实时交易决策
- 带推理展示的Hedge Fund服务:展示决策过程
- 集成Ollama的Hedge Fund服务:结合LLM进行决策
- 回测服务:对历史数据进行策略测试
- 集成Ollama的回测服务:结合LLM进行回测分析
详细配置解析
Ollama服务配置
ollama:
image: ollama/ollama:latest
container_name: ollama
environment:
- OLLAMA_HOST=0.0.0.0
# Apple Silicon GPU加速
- METAL_DEVICE=on
- METAL_DEVICE_INDEX=0
volumes:
- ollama_data:/root/.ollama
ports:
- "11434:11434"
restart: unless-stopped
Ollama服务作为大语言模型推理引擎,配置要点包括:
- 监听所有网络接口(0.0.0.0)
- 针对Apple Silicon芯片启用了Metal GPU加速
- 数据持久化存储在命名卷
ollama_data
中 - 暴露11434端口供其他服务调用
- 自动重启策略确保服务高可用
Hedge Fund核心服务
hedge-fund:
build:
context: ..
dockerfile: docker/Dockerfile
image: ai-hedge-fund
depends_on:
- ollama
volumes:
- ../.env:/app/.env
command: python src/main.py --ticker AAPL,MSFT,NVDA
environment:
- PYTHONUNBUFFERED=1
- OLLAMA_BASE_URL=http://ollama:11434
- PYTHONPATH=/app
核心服务特点:
- 构建基于项目根目录的Dockerfile
- 依赖Ollama服务启动
- 挂载本地.env配置文件到容器内
- 默认分析AAPL(苹果)、MSFT(微软)、NVDA(英伟达)三只股票
- 配置Python环境变量确保日志实时输出
变体服务说明
项目提供了多个变体服务,满足不同使用场景:
- hedge-fund-reasoning:添加
--show-reasoning
参数,展示AI决策过程 - hedge-fund-ollama:添加
--ollama
参数,深度集成LLM能力 - backtester:使用
backtester.py
进行历史数据回测 - backtester-ollama:结合LLM的回测分析
部署实践指南
准备工作
- 确保已安装Docker和Docker Compose
- 准备.env配置文件,包含必要的API密钥和配置
- 根据硬件情况调整Ollama资源配置
启动流程
- 构建镜像:
docker-compose build
- 启动服务:
docker-compose up -d
- 查看日志:
docker-compose logs -f [服务名]
自定义配置
- 股票代码:修改command中的
--ticker
参数 - 模型选择:通过Ollama API加载不同的大语言模型
- GPU加速:根据硬件调整METAL或CUDA配置
技术亮点
- 模块化设计:各服务职责单一,通过组合实现复杂功能
- LLM集成:创新性地将大语言模型引入量化投资决策
- 跨平台支持:特别优化了Apple Silicon的GPU加速
- 开发友好:tty和stdin_open配置便于交互式调试
性能优化建议
- 对于生产部署,建议配置资源限制(CPU/内存)
- 高频交易场景可考虑添加Redis缓存层
- 多GPU环境下可扩展Ollama实例实现负载均衡
- 长期运行建议配置日志轮转和监控
总结
AI Hedge Fund项目的Docker部署方案体现了现代AI系统的典型架构,将传统量化策略与大语言模型能力相结合。通过Docker Compose的编排能力,开发者可以轻松搭建完整的AI投资分析环境,快速验证策略效果。这种架构也为进一步扩展提供了良好基础,如添加数据管道、风险控制模块等。