AutoOmegaBot es una aplicación de escritorio avanzada para automatizar el análisis de backtesting financiero en plataformas web. Diseñada específicamente para trabajar con datos de opciones financieras, permite procesar múltiples análisis de forma automatizada y generar reportes detallados en Excel.
- 🚀 Automatización Web: Control completo del navegador con Playwright
- 📊 Análisis de Backtesting: Procesamiento automatizado de estrategias de opciones
- 📁 Gestión de Archivos: Lectura de URLs desde Excel y generación de reportes
- 🎨 Interfaz Moderna: GUI elegante con tema oscuro y métricas en tiempo real
- ⚙️ Configuración Avanzada: Sistema completo de configuración persistente
- 📝 Logs Detallados: Sistema de logging completo con exportación
- 🌍 Multiplataforma: Soporte para Windows, Linux y macOS
AutoOmegaBot/
├── src/
│ ├── main.py # Punto de entrada principal
│ ├── Bot/
│ │ └── bot.py # Lógica de automatización web
│ ├── Ui/
│ │ ├── gui.py # Interfaz principal
│ │ └── Settings_Ui/ # Paneles de configuración
│ │ ├── General/ # Configuración general
│ │ ├── Fecha/ # Configuración de fechas
│ │ ├── Estrategia/ # Configuración de estrategias
│ │ └── Fondos/ # Configuración de fondos
│ └── Utiles/
│ ├── utils.py # Utilidades centrales
│ └── assets.py # Recursos gráficos (SVG)
├── requirements.txt # Dependencias del proyecto
└── docs/ # Documentación completa
git clone <repository-url>
cd AutoOmegaBot
python -m venv venv
source venv/bin/activate # Linux/macOS
# venv\Scripts\activate # Windows
pip install -r requirements.txt
playwright installcd src
python main.py- Fecha Inicial: Desde cuándo analizar (formato DD/MM/YYYY o MM/DD/YYYY)
- Fecha Final: Hasta cuándo analizar
- Validación automática de rangos de fechas
- Capital Inicial: Monto base para análisis ($100,000 por defecto)
- Asignación de Margen: Porcentaje de capital por operación (10% por defecto)
- Contratos Máximos: Límite de contratos por trade
- Configuraciones Avanzadas: Max trades abiertos, límites de asignación
- Tipo de Estrategia: Selección de estrategia de opciones
- Parámetros: Buy/Sell, Call/Put, Quantity, Percentage
- DTE (Days to Expiration): Días hasta vencimiento
- Tipo de Porcentaje: Delta, Gamma, etc.
- Carpeta de Salida: Ubicación para archivos Excel generados
- Estructura Automática: Creación de carpetas Config/Logs en Documents
- 📊 Métricas del Sistema: Estado en tiempo real
- 📁 Selector de Archivos: Carga de Excel con URLs
- 🚀 Control del Bot: Botones de inicio/parada
- 📝 Logs en Vivo: Seguimiento detallado del proceso
- Cargar archivo Excel con URLs en columna A
- Configurar parámetros de análisis
- Verificar conexión a internet
- Iniciar análisis automatizado
- Revisar resultados en carpeta de salida
- ✅ Conexión a Internet: Verificación automática
- ✅ Archivo válido: Validación de formato Excel
- ✅ Fechas configuradas: Rango válido de fechas
- ✅ Fondos configurados: Parámetros financieros completos
| Tecnología | Propósito | Versión |
|---|---|---|
| Python | Lenguaje principal | 3.8+ |
| PyQt5 | Interfaz gráfica | 5.15+ |
| Playwright | Automatización web | 1.30+ |
| Pandas | Manipulación de datos | 1.5+ |
| OpenPyXL | Manejo de Excel | 3.0+ |
Excel con URLs:
Columna A: URLs para analizar
- https://example.com/analysis1
- https://example.com/analysis2
- ...
~/Documents/AutoOmega Bot/
├── Output/
│ ├── analysis_2024_01_15_10:30:45.xlsx
│ └── summary_report.xlsx
├── Config/
│ └── config.json
└── Logs/
└── omega_bot_session_2024_01_15_10:30:45.log
- Colores principales: #2c3e50, #34495e, #3498db
- Iconos SVG: Gráficos vectoriales escalables
- Métricas en tiempo real: Widgets de estado dinámicos
- Logs con colores: Diferenciación por nivel de severidad
- StatusWidget: Métricas del sistema con colores dinámicos
- ActionButton: Botones con efectos hover y animaciones
- LogWidget: Logs avanzados con formato y exportación
- FileUploadButton: Selector de archivos especializado
export OMEGA_DEBUG=1 # Modo debug
export OMEGA_TIMEOUT=30 # Timeout web (segundos)
export OMEGA_HEADLESS=false # Mostrar navegador{
"ticker": "SPY",
"strategy": "Iron Condor",
"starting_funds": "100000",
"margin_allocation_percent": "10",
"start_date": "01/01/2024",
"end_date": "31/12/2024",
"output_folder": "~/Documents/AutoOmega Bot/Output"
}- Error de Conexión: Verificar internet y firewall
- Playwright no funciona: Ejecutar
playwright install - Archivos no se guardan: Verificar permisos en Documents
- PyQt5 no se instala: Instalar dependencias del sistema
from Utiles.utils import test_documents_detection
test_documents_detection() # Verificar estructura de carpetas- Fork el repositorio
- Crear rama para tu feature:
git checkout -b feature/nueva-funcionalidad - Commit cambios:
git commit -am 'Agregar nueva funcionalidad' - Push a la rama:
git push origin feature/nueva-funcionalidad - Crear Pull Request
- PEP 8 para estilo de Python
- Docstrings para todas las funciones
- Type hints cuando sea posible
- Comentarios en código complejo
- Velocidad: ~2-5 análisis por minuto (dependiendo de la web)
- Memoria: ~100-300MB RAM durante ejecución
- CPU: Bajo uso, principalmente I/O y red
- Compatibilidad: 99% de sitios web modernos
- Sin datos sensibles almacenados en código
- Configuración local únicamente
- Respeto a robots.txt y términos de servicio
- Rate limiting automático para evitar sobrecarga
- Soporte para múltiples exchanges
- Análisis en paralelo
- Dashboard web opcional
- API REST integrada
- Plugins personalizables
- Análisis de riesgo avanzado
- Exportación a múltiples formatos
- Notificaciones push
- Modo batch automatizado
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
- Issues: Reporta bugs en GitHub Issues
- Documentación: Ver
DOCUMENTACION.md - Email: [tu-email@empresa.com]
- Discord: [servidor-de-soporte]
💡 Tip: Visita la documentación completa para guías detalladas y casos de uso avanzados.