Science Score: 31.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (1.4%) to scientific vocabulary
Repository
Asistente Financiero Inteligente
Basic Info
- Host: GitHub
- Owner: FernandoA182
- License: mit
- Language: Jupyter Notebook
- Default Branch: main
- Size: 1.76 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
- Releases: 0
Metadata Files
README.md
Desarrollo de un Asistente Financiero Inteligente
En este repositorio se pretende desarrollar un Asistente Financiero Inteligente para la Optimización de Decisiones de Inversión en el Mercado de Acciones.
Abstract
En el contexto actual de los mercados financieros, la cantidad de información disponible para los inversores es abrumadora. La toma de decisiones de inversión eficiente requiere no solo del análisis de datos históricos, sino también de la interpretación del sentimiento del mercado reflejado en noticias, redes sociales y otros medios de comunicación. La inteligencia artificial (IA) y, específicamente, el procesamiento del lenguaje natural (PLN), ofrecen herramientas poderosas para abordar este desafío.
El presente proyecto propone el desarrollo de un asistente financiero inteligente que optimice las decisiones de inversión en el mercado de acciones.
Análisis exploratorio de datos (EDA)
Se analizaron las acciones de AAPL, MSFT, AMZN, GOOGL y META durante 2020-2021. Se observó una tendencia alcista en los precios de cierre ajustado, con una caída notable en marzo de 2020 por la pandemia de COVID-19. Las acciones presentaron alta correlación positiva, lo que es común en empresas del mismo sector o en mercados alcistas generales, esto sugiere que factores macroeconómicos y sentimentales podrían estar afectando a estas acciones de manera similar. Los volúmenes de negociación mostraron variaciones que reflejan eventos específicos del mercado. Este análisis proporciona una base sólida para integrar el análisis de sentimientos y desarrollar modelos predictivos más precisos.
Web Scraping y Análisis de Sentimientos
Extracción de Datos
Se realizó web scraping de noticias financieras a través de Finviz, enfocándonos en las cinco principales empresas tecnológicas (AAPL, MSFT, AMZN, GOOGL y META). La extracción incluye:
- Fecha de publicación
- Ticker de la empresa
- Título de la noticia
- Fuente original de la noticia
- URL de la noticia
Análisis de Sentimientos
Se desarrolló un analizador avanzado de texto que procesa las noticias extraídas utilizando:
TextBlobpara análisis de sentimientoSpaCypara procesamiento de lenguaje naturalAltairpara visualizaciones interactivas
Características principales del análisis:
- Cálculo de polaridad del sentimiento para cada noticia
- Extracción de entidades nombradas
- Generación de métricas por empresa
- Visualizaciones de tendencias temporales
Visualizaciones Generadas
El análisis produce tres visualizaciones principales:
- Tendencias de sentimiento por empresa a lo largo del tiempo
- Distribución del sentimiento para cada compañía
- Frecuencia de palabras clave en los títulos
Aspectos Cubiertos del Proyecto
- Análisis de texto avanzado con
spaCy/NLTK - Visualizaciones interactivas con
Altair - Análisis de sentimiento
- Procesamiento de datos estructurados
- Extracción de entidades y relaciones
- Análisis estadístico y tendencias
2do Web Scraping y Análisis de Sentimientos
En el notebook "AFI.ipynb", a partir del punto 6, se realiza otro web scraping y análisis de sentimientos con las siguientes características:
Descarga de Noticias Financieras:
- Fuente: Utilización de la API de NewsAPI para recopilar hasta 19 artículos diarios por empresa en un periodo de 7 días.
- Proceso: Implementación de web scraping inicial fallida en Yahoo Finance, seguida del uso exitoso de NewsAPI para asegurar la extracción de noticias relevantes.
- Limpieza de Datos: Eliminación de títulos inválidos, vacíos y duplicados, y conversión de fechas al formato adecuado.
Análisis de Sentimientos:
- Preprocesamiento de Texto: Tokenización, eliminación de stopwords, limpieza de puntuación y normalización de texto.
- Extensión del Léxico de VADER: Incorporación de términos específicos del dominio financiero como
bullish,bearish,profitylosspara mejorar la precisión del análisis. - Clasificación de Sentimientos: Uso de VADER para categorizar los títulos de las noticias en Positivo, Neutral o Negativo.
- Resultados: Distribución de sentimientos con un 40% positivo, 35% neutral y 25% negativo, destacando tendencias positivas en Microsoft y Amazon, y negativas en Google.
Más adelante se continuará desarrollando los siguientes puntos:
- Correlación de Sentimientos con Rendimiento de Acciones
- Construcción de un Modelo Predictivo
- Desarrollo de una Plataforma para Usuarios
Flujo de Trabajo
- Análisis EDA
- Análisis de sentimientos
- Extracción de noticias mediante web scraping
Dónde encontrar información detallada de este proyecto
- Los resultados detallados de este análisis se pueden encontrar en la carpeta resultados.
- Para más detalles sobre la implementación y resultados específicos, consulte los notebooks correspondientes en la carpeta src.
Colaboración en el proyecto
Este proyecto forma parte de la Maestría en Ciencias de los Datos de la Universidad de Guadalajara y constituye el proyecto final de la asignatura Desarrollo de Proyecto I impartida por el Mtro. Cuspinera Contreras.
Se desarrolló el proyecto titulado "Asistente Financiero Inteligente", el cual está siendo elaborado por Fernando Arévalo como tema de tesis. Asimismo, contó con la valiosa colaboración de Carmen Herrera, quien realizó importantes aportes en el análisis.
Estructura de repositorio
La estructura que tiene nuestro repositorio es la siguiente:
├── data <- Carpeta de bases de datos.
| |── README.md <- Descripción general del contenido de la carpeta.
| └── datos_acciones.csv <- Base de datos.
| └── tech_news.csv <- Base de datos para análisis de texto y sentimientos.
|
├── doc <- Carpeta de archivos de texto.
| └── README.md <- Descripción de Problematica, Objetivo y Justificación del proyecto.
|
├── results <- Carpeta de resultados.
| └── README.md <- Descripción de los resultados del análisis EDA, análisis de texto y de sentimientos.
|
├── src <- Carpeta de archivos de código.
| |── AFI.ipynb <- Archivo notebook de código (Análisis EDA, Web scraping).
| |── sentiment_analysis.py <- Archivo de código para análisis de sentimiento y visualización de noticias de empresas/acciones tecnológicas.
| └── README.md <- Descripción general del contenido del notebook.
|
├── CITATION.md <- Información sobre como citar este trabajo.
|
├── CONTRIBUTING.md <- Información para contribuir en este trabajo.
|
├── LICENSE <- Información sobre la Licencia: MIT License.
|
├── README.md <- Información general del proyecto.
Owner
- Login: FernandoA182
- Kind: user
- Repositories: 1
- Profile: https://github.com/FernandoA182
Citation (CITATION.md)
# Citation Please cite this work as: Arevalo, F., & Herrera, C. 2024. "Asistente Financiero Inteligente para la Optimización de Decisiones de Inversión en el Mercado de Acciones". https://github.com/FernandoA182/AFI
GitHub Events
Total
- Issues event: 9
- Member event: 1
- Issue comment event: 8
- Push event: 32
- Create event: 2
Last Year
- Issues event: 9
- Member event: 1
- Issue comment event: 8
- Push event: 32
- Create event: 2