top of page

OBJETIVOS

Extraer información relevante en redes sociales sobre empresas de la bolsa londinense (LSE).

Desarrollar una aplicación para la descarga de tweets de empresas del LSE.

Implementar un extractor que busque y descargue entradas en Reddit sobre compañías del LSE.

Desarrollar una aplicación de Web Scrapping para la descarga de post y noticias en foros especializados sobre empresas del LSE.

Implementar una interfaz web que permita el control y monitorización de los sistemas anteriores.

Extracción de posts financieros

en redes sociales

API

REST

INTERFAZ WEB

DJANGO

PYTHON

WEB SCRAPPING

BEAUTIFULSOUP

LSE

TWITTER

REDDIT

METODOLOGÍA

Extracción de tweets ya publicados mediante la API Rest de Twitter en Python.

Generación de un listener empleando las funciones de streamer de la API para la captura en tiempo real sobre Python.

Extracción y almacenamiento de post de Reddit mediante su API Rest sobre Python.

Descarga de foros financieros mediante WebScrapping empleando la librearía BeautifulSoup sobre Python.

Implementación de una interfaz Web empleando Django.

INTRODUCCIÓN

La inclusión de la tecnología en los mercados financieros ha llevado a un continuo crecimiento en su negocio. Estas nuevas tecnologías ayudan tanto a las grandes compañías como a los inversores particulares a obtener información sobre diferentes temas de interés como serían la situación de una empresa, la opinión de los clientes, noticias sobre cambios significativos, rumores… A medida que las redes sociales han invadidos los hábitos de la gente, también las compañías, brokers y otros papeles clave en el mercado financiero empezaron a publicar en este tipo de redes más y más información de utilidad y opiniones profesionales sobre las bolsas de valores. Toda esta información disponible de forma pública vuelve las redes sociales, especialmente Twitter, en una de las mayores, si no la mayor, fuente de información para brokers e inversores particulares.

 

El objetivo de este proyecto es la extracción de información financiera desde diferentes redes sociales, de manera que pueda ser empleada para futuros análisis. Más concretamente, se buscará poder descargar entradas de Twitter, Reddit y foros online especializados en finanzas. Estas entradas deberán contener referencias a ciertas compañías de la bolsa de valores de Londres (LSE), especificadas de antemano por el usuario.

 

Adicionalmente, se implementará una interfaz web, accesible públicamente, que permita el control, seguimiento y monitorización de las capturas activas para cada una de estas redes sociales.

DESARROLLO

Para la extracción de entradas de Twitter se ha hecho uso de la API que este provee. En concreto, se han implementado dos estrategias diferentes para ello. La primera, haciendo uso de las funciones de extracción convencionales, descarga aquellos tweets recientemente publicados que contengan al menos una referencia a alguna de las compañías de interés.

La segunda estrategia, haciendo uso de la PowerTrack API de Twitter, genera un streamer que captura los tweets que se van publicando en tiempo real que contengan alguna de las referencias especificadas. Este listener ha sido configurado para mantenerse activo un tiempo o un límite de extracción especificado por el usuario o en su defecto permanecer funcionando de forma indefinida hasta que se le indique explícitamente que se detenga.

La adquisición de datos de Reddit se ha realizado de manera similar a la de Twitter, empleando en este caso su API Rest. Para esta plataforma se han identificado una serie de subforos financieros de espacial relevancia y sobre estos, así como en el buscador general, se han aplicado las mismas cadenas de extracción que en Twitter. Sin embargo, en este caso únicamente se descargan los posts ya realizados que contengan alguna de los términos fijados y no se mantiene un streamer activo que capture las entradas en tiempo real. Por ello, esta extracción se realiza periódicamente comenzando la descarga a partir de la fecha de la última entrada registrada.

01.png
02.png
03.png
04.png

Para la especificación de los tweets a descargar se ha empleado una cadena que contiene los nombres y los cashtags de las compañías pertenecientes al FTSE-100 y al AIM-100, el mercado principal y secundario del LSE. Un cashtag es una etiqueta formada por el ticker de una compañía precedido por del símbolo $. Este funciona de manera similar al hashtag pero relacionado con compañías bursátiles. Dadas las restricciones de extracción de Twitter para cada clave de usuario, esta macro cadena ha sido descompuesta en pequeñas subcadenas distribuidas entre diferentes aplicaciones de extracción.

05.png

RESULTADOS

Como resultado de este proyecto se ha obtenido un servidor web que permite la descarga desde diferentes redes sociales de posts relacionados con una temática especificada por el usuario, en este caso las empresas constituyentes del FTSE-100 y AIM-100. Empleando esta plataforma, se ha obtenido una extensa base de datos de varios cientos de miles de entradas que recogen gran parte de la información financiera publicada en estas redes sociales.

Los foros financieros empleados no cuentan con una interfaz web que facilitase su extracción. Por ello, se ha desarrollado una aplicación de Web Scrapping, empleado la librería Beatifull Soup sobre Python, que procesa directamente el contenido de las propias páginas HTML y extrae de estas la información de interés. Esta aplicación de extracción gestiona automáticamente la presencia de entrada duplicadas, habituales en este tipo de foros, y las políticas ante ataques de denegación de servicio que poseen algunos de estos sitios web, adecuando la velocidad a la que se realizan las peticiones a la respuesta proporcionada por la página.

06.png

Por último, para controlar estas aplicaciones de extracción se ha implementado un servidor web que facilite su lanzamiento y monitorización. Para esto se ha empleado la librería Django sobre Python, junto con una base de datos Mongo sobre la que se almacena toda la información acerca de las descargas existentes y su estado.

07.png
08.png
09.png

Ponte en contacto

  • descarga (1)
  • Icono social LinkedIn
bottom of page