Team Ai
Apppublic

diegobeyl/backtesting

sourceHugging Faceupdated 9mo agoView on Hugging Face
2likes
README_MACOS.md247 linesDownload Raw Back to docs
1# Backtesting App V2 - Guía para macOS2 3Esta guía está optimizada para macOS, especialmente para Apple Silicon (M1/M2/M3).4 5## 🚀 Inicio Rápido6 7### 1. Configuración Inicial (solo la primera vez)8 9```bash10./setup.sh11```12 13Este script:14- ✅ Detecta automáticamente Apple Silicon15- ✅ Crea el entorno virtual Python16- ✅ Instala todas las dependencias optimizadas17- ✅ Crea directorios necesarios (logs, cache, config)18- ✅ Configura el archivo `.env`19- ✅ Establece permisos correctos20 21### 2. Iniciar la Aplicación22 23```bash24./start.sh25```26 27Esto iniciará:28- **API Backend** (FastAPI) en http://localhost:800029- **Frontend** (Streamlit) en http://localhost:850130 31El navegador se abrirá automáticamente. Para evitarlo:32```bash33./start.sh --no-browser34```35 36### 3. Detener la Aplicación37 38```bash39./stop.sh40```41 42### 4. Reiniciar la Aplicación43 44```bash45./restart.sh46```47 48## 📋 Requisitos Previos49 50- **macOS** 11.0 o superior51- **Python 3.11+**52- **Homebrew** (recomendado)53 54### Instalar Python en macOS55 56Si no tienes Python instalado:57 58```bash59# Con Homebrew (recomendado)60brew install python@3.1161 62# O descarga desde python.org63open https://www.python.org/downloads/64```65 66## 🔧 Solución de Problemas67 68### Error: "Permission denied"69 70```bash71chmod +x *.sh72```73 74### Error: "Python not found"75 76```bash77# Verifica la instalación78python3 --version79 80# Si no está instalado81brew install python@3.1182```83 84### Error: "Command not found: brew"85 86Instala Homebrew primero:87```bash88/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"89```90 91### Puertos ocupados92 93Si los puertos 8000 o 8501 están ocupados:94 95```bash96# Encontrar y matar procesos en el puerto 800097lsof -ti:8000 | xargs kill -998 99# Encontrar y matar procesos en el puerto 8501100lsof -ti:8501 | xargs kill -9101```102 103### Limpiar caché y logs104 105```bash106rm -rf cache/* logs/*107```108 109### Reinstalar dependencias110 111```bash112rm -rf venv113./setup.sh114```115 116## 📦 Alternativa: Docker117 118Si prefieres usar Docker (compatible con Apple Silicon):119 120```bash121# Construir e iniciar con Docker122docker-compose up -d123 124# Detener125docker-compose down126 127# Ver logs128docker-compose logs -f129```130 131**Nota para Apple Silicon:** Docker Desktop para Mac incluye soporte nativo para ARM64.132 133## 🏗️ Estructura del Proyecto134 135```136backtesting_app_v2/137├── api/                    # Backend FastAPI138├── backtesting_app/        # Frontend Streamlit139├── core/                   # Lógica central140├── utils/                  # Utilidades141├── logs/                   # Archivos de log142├── cache/                  # Caché de datos143├── config/                 # Configuraciones144├── .env                    # Variables de entorno145├── requirements.txt        # Dependencias Python146├── setup.sh               # Script de configuración147├── start.sh               # Script de inicio148├── stop.sh                # Script de parada149└── restart.sh             # Script de reinicio150```151 152## 🌐 URLs de la Aplicación153 154Después de ejecutar `./start.sh`:155 156- **Frontend (Streamlit):** http://localhost:8501157- **API Backend:** http://localhost:8000158- **API Docs (Swagger):** http://localhost:8000/docs159- **API Docs (ReDoc):** http://localhost:8000/redoc160 161## 🔍 Logs162 163Los logs se guardan en tiempo real en:164- `logs/api.log` - Logs del backend165- `logs/streamlit.log` - Logs del frontend166 167Ver logs en tiempo real:168```bash169# API170tail -f logs/api.log171 172# Streamlit173tail -f logs/streamlit.log174 175# Ambos176tail -f logs/*.log177```178 179## ⚙️ Variables de Entorno180 181Edita el archivo `.env` para configurar:182 183```bash184# API Configuration185DEBUG=True186ENVIRONMENT=development187LOG_LEVEL=INFO188API_HOST=0.0.0.0189API_PORT=8000190 191# Cache Configuration192ENABLE_CACHE=True193CACHE_EXPIRY_HOURS=24194 195# MetaTrader 5 Configuration (opcional)196MT5_LOGIN=tu_login197MT5_PASSWORD=tu_password198MT5_SERVER=tu_servidor199```200 201## 🎯 Comandos Útiles202 203### Activar entorno virtual manualmente204```bash205source venv/bin/activate206```207 208### Actualizar dependencias209```bash210source venv/bin/activate211pip install --upgrade -r requirements.txt212```213 214### Ejecutar tests215```bash216source venv/bin/activate217pytest218```219 220### Limpiar archivos Python compilados221```bash222find . -type d -name "__pycache__" -exec rm -r {} + 2>/dev/null223find . -type f -name "*.pyc" -delete224```225 226## 📝 Notas para Apple Silicon227 228La aplicación está optimizada para Apple Silicon (M1/M2/M3):229 2301. **Dependencias nativas ARM64:** El script de setup instala versiones optimizadas2312. **Rendimiento mejorado:** Aprovecha la arquitectura ARM nativa2323. **Compatibilidad con Rosetta 2:** Funciona también en modo de compatibilidad2334. **Docker:** Docker Desktop tiene soporte nativo para ARM64234 235## 🆘 Soporte236 237Si encuentras problemas:238 2391. Verifica que Python 3.11+ está instalado: `python3 --version`2402. Asegúrate de que los puertos 8000 y 8501 están libres2413. Revisa los logs en `logs/`2424. Ejecuta `./stop.sh` antes de `./start.sh` si hay procesos antiguos243 244---245 246**¿Necesitas ayuda?** Abre un issue en el repositorio del proyecto.247