Herramienta CLI de noticias financieras con la API Sonar de Perplexity
Una herramienta de línea de comandos que obtiene y analiza noticias financieras en tiempo real usando la API Sonar de Perplexity. Obtén información completa del mercado, resúmenes de noticias y análisis de inversiones para cualquier tema financiero.
Características
- Agregación de noticias financieras en tiempo real de múltiples fuentes
- Análisis del sentimiento del mercado (Alcista/Bajista/Neutral)
- Evaluación del impacto de las noticias (Alto/Medio/Bajo)
- Análisis específico por sector y empresa
- Información y recomendaciones de inversión
- Rangos de tiempo personalizables (de 24h a 1 año)
- Soporte para salida JSON estructurada
- Hermosa salida CLI con emojis
Instalación
1. Instala las dependencias requeridas
# Install from requirements file (recommended)
pip install -r requirements.txt
# Or install manually
pip install requests pydantic
2. Haz el script ejecutable
chmod +x financial_news_tracker.py
Configuración de la clave API
La herramienta requiere una clave API de Perplexity. Puedes proporcionarla de una de estas maneras:
1. Como variable de entorno (recomendado)
export PPLX_API_KEY=YOUR_API_KEY
2. Como argumento de línea de comandos
./financial_news_tracker.py "tech stocks" --api-key YOUR_API_KEY
3. En un archivo
Crea un archivo llamado pplx_api_key o .pplx_api_key en el mismo directorio:
echo "YOUR_API_KEY" > .pplx_api_key
chmod 600 .pplx_api_key
Inicio rápido
Obtén las últimas noticias sobre acciones tecnológicas:
./financial_news_tracker.py "tech stocks"
Esto obtendrá noticias financieras recientes sobre acciones tecnológicas, analizará el sentimiento del mercado y proporcionará información útil.
Ejemplos de uso
Uso básico - Obtener noticias para un tema específico
./financial_news_tracker.py "S&P 500"
Obtener noticias de criptomonedas de la última semana
./financial_news_tracker.py "cryptocurrency" --time-range 1w
Seguir noticias de una empresa específica
./financial_news_tracker.py "AAPL Apple stock"
Obtener noticias sobre sectores del mercado
./financial_news_tracker.py "energy sector oil prices"
Salida como JSON para uso programático
./financial_news_tracker.py "inflation rates" --json
Usar un modelo diferente
./financial_news_tracker.py "Federal Reserve interest rates" --model sonar
Habilitar salida estructurada (requiere acceso a la API de Nivel 3+)
./financial_news_tracker.py "tech earnings" --structured-output
Opciones de rango de tiempo
24h- Últimas 24 horas (predeterminado)1w- Última semana1m- Último mes3m- Últimos 3 meses1y- Último año
Formato de salida
La herramienta proporciona un análisis financiero completo que incluye:
1. Resumen ejecutivo
Una breve descripción de los principales desarrollos financieros
2. Análisis de mercado
- Sentimiento del mercado: Estado de ánimo general del mercado (🐂 Alcista, 🐻 Bajista, ⚖️ Neutral)
- Factores clave: Factores que influyen en el mercado
- Riesgos: Riesgos y preocupaciones actuales del mercado
- Oportunidades: Posibles oportunidades de inversión
3. Noticias
Cada noticia incluye:
- Titular: El título principal de la noticia
- Impacto: Nivel de impacto en el mercado (🔴 Alto, 🟡 Medio, 🟢 Bajo)
- Resumen: Breve descripción de la noticia
- Sectores afectados: Industrias o empresas impactadas
- Fuente: Atribución de la fuente de noticias
4. Información de inversión
Recomendaciones y análisis prácticos basados en las noticias
Ejemplo de salida
📊 FINANCIAL NEWS REPORT: tech stocks
📅 Period: Last 24 hours
📝 EXECUTIVE SUMMARY:
Tech stocks showed mixed performance today as AI-related companies surged while
semiconductor stocks faced pressure from supply chain concerns...
📈 MARKET ANALYSIS:
Sentiment: 🐂 BULLISH
Key Drivers:
• Strong Q4 earnings from major tech companies
• AI sector momentum continues
• Federal Reserve signals potential rate cuts
⚠️ Risks:
• Semiconductor supply chain disruptions
• Regulatory scrutiny on big tech
• Valuation concerns in AI sector
💡 Opportunities:
• Cloud computing growth
• AI infrastructure plays
• Cybersecurity demand surge
📰 KEY NEWS ITEMS:
1. Microsoft Hits All-Time High on AI Growth
Impact: 🔴 HIGH
Summary: Microsoft stock reached record levels following strong Azure AI revenue...
Sectors: Cloud Computing, AI, Software
Source: Bloomberg
💼 INSIGHTS & RECOMMENDATIONS:
• Consider diversifying within tech sector
• AI infrastructure companies show strong momentum
• Monitor semiconductor sector for buying opportunities
Funciones avanzadas
Consultas personalizadas
Puedes combinar varios temas para un análisis completo:
# Get news about multiple related topics
./financial_news_tracker.py "NVIDIA AMD semiconductor AI chips"
# Track geopolitical impacts on markets
./financial_news_tracker.py "oil prices Middle East geopolitics"
# Monitor economic indicators
./financial_news_tracker.py "inflation CPI unemployment Federal Reserve"
Salida JSON
Para integración con otras herramientas o scripts:
./financial_news_tracker.py "bitcoin" --json | jq '.market_analysis.market_sentiment'
Consejos para obtener los mejores resultados
- Sé específico: Incluye tickers de empresas, nombres de sectores o eventos específicos
- Combina temas: Mezcla nombres de empresas con temas relevantes (por ejemplo, "TSLA vehículos eléctricos")
- Usa rangos de tiempo: Haz que el rango de tiempo coincida con tu horizonte de inversión
- Monitoreo regular: Configura tareas cron para actualizaciones diarias del mercado
Limitaciones
- Los resultados dependen de la información pública disponible
- No es asesoramiento financiero, siempre haz tu propia investigación
- Los datos históricos pueden ser limitados para eventos muy recientes
- La salida estructurada requiere acceso a la API de Perplexity de Nivel 3+
Manejo de errores
La herramienta incluye un manejo de errores completo para:
- Claves API inválidas
- Problemas de conectividad de red
- Límites de tasa de la API
- Consultas inválidas
- Errores de análisis
Ejemplos de integración
Informe diario del mercado
Crea un script para actualizaciones diarias:
#!/bin/bash
# daily_market_report.sh
echo "=== Daily Market Report ===" > market_report.txt
echo "Date: $(date)" >> market_report.txt
echo "" >> market_report.txt
./financial_news_tracker.py "S&P 500 market overview" >> market_report.txt
./financial_news_tracker.py "top gaining stocks" >> market_report.txt
./financial_news_tracker.py "cryptocurrency bitcoin ethereum" >> market_report.txt
Integración con Python
def get_financial_news(query, time_range="24h"):
result = subprocess.run(
["./financial_news_tracker.py", query, "--time-range", time_range, "--json"],
capture_output=True,
text=True
)
if result.returncode == 0:
return json.loads(result.stdout)
else:
raise Exception(f"Error fetching news: {result.stderr}")
# Example usage
news = get_financial_news("tech stocks", "1w")
print(f"Market sentiment: {news['market_analysis']['market_sentiment']}")