El problema que resuelve
Los traders e investigadores quieren saber de qué activos hablan las voces influyentes y si el sentimiento está cambiando, pero esa información está encerrada en vídeos largos. Cuando un clip se viraliza en redes sociales, puede que el movimiento ya haya ocurrido. Un feed estructurado convierte los comentarios hablados en datos que se pueden revisar, buscar y usar en backtesting.
Qué incluir en tu primera versión
- Una lista seleccionada de canales de analistas y comentaristas
- Extracción de tickers y activos de cada vídeo nuevo
- Sentimiento alcista, bajista o neutral por mención
- Un resumen diario ordenado por número de menciones y cambio de sentimiento
- Un feed JSON o una API para usuarios cuantitativos
Cómo construirlo, paso a paso
- 01
Selecciona los canales
Elige canales por categoría e influencia. Resuelve cada uno una vez para guardar su ID de canal.
- 02
Consulta cada hora
Resuelve cada canal con un límite pequeño y transcribe solo los IDs de vídeo nuevos con /transcribe.
- 03
Extrae señales estructuradas
Pide a un LLM que devuelva un JSON con cada activo mencionado, la afirmación hecha, el sentimiento y la marca de tiempo.
- 04
Agrega y publica
Guarda las señales en una base de datos, ordénalas cada día y publica una newsletter, un panel o un feed por API.
Código de inicio
Esta idea se basa en el patrón "Receta 2: vigila canales y avisa de los nuevos vídeos". Usa tus propios canales, prompts y almacenamiento.
import requests
API = "https://www.youtubetranscript.dev/api/v2"
HEADERS = {"Authorization": "Bearer yt_sk_live_YOUR_KEY"}
WATCHLIST = ["@somechannel", "@anotherchannel"]
KEYWORDS = ["your brand", "competitor"]
seen = set() # persist this in a database in production
for handle in WATCHLIST:
latest = requests.post(f"{API}/channels/resolve", headers=HEADERS,
json={"handle": handle, "limit": 10}).json()
for video in latest["items"]:
if video["video_id"] in seen:
continue
seen.add(video["video_id"])
t = requests.post(f"{API}/transcribe", headers=HEADERS,
json={"video": video["video_id"]}).json()
text = t.get("data", {}).get("transcript", {}).get("text", "").lower()
hits = [k for k in KEYWORDS if k in text]
if hits:
print(f"ALERT {video['title']}: {hits}")Cómo genera ingresos
Ofrécelo como newsletter de pago para traders minoristas, como suscripción a un panel para equipos de análisis o como feed por API con precio según la cobertura. Los datos históricos ganan valor con el tiempo para hacer backtesting.
Errores que debes evitar
- Presentar las señales como asesoramiento financiero: etiqueta el feed como información e incluye avisos legales claros.
- Confundir tickers con palabras comunes: valida los símbolos con una lista de tickers y el contexto que los rodea.
- Guardar solo los resúmenes: conserva las transcripciones originales para poder volver a extraer señales a medida que mejoren tus prompts.
Preguntas sobre esta idea
¿El sentimiento en YouTube puede predecir los movimientos del mercado?
Es una señal entre muchas. El valor de un feed está en la velocidad y la cobertura: saber qué dicen las voces influyentes sin ver todos los vídeos.
¿Con qué rapidez se pueden procesar los vídeos nuevos?
Si consultas cada hora y transcribes los nuevos vídeos con subtítulos, normalmente los nuevos comentarios aparecen en menos de una hora.
¿Es legal vender una newsletter basada en vídeos de YouTube?
Los resúmenes y análisis son habituales, pero eres responsable de cumplir los términos de YouTube y la legislación sobre derechos de autor. Evita republicar transcripciones completas y enlaza a los vídeos originales.