Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Graduado en Ingeniería Informática
Universidad Politécnica de Madrid
Escuela Técnica Superior deIngenieros Informáticos
TRABAJO FIN DE GRADO
CONTROLMET: Gestión de riesgo estructural enbalances bancarios
Autor: Laura Flores Martínez
Director: José Manuel Burgos Ortiz
MADRID, JUNIO DE 2019
La carrera se hace en público,el talento en la vida privada
- Marilyn Monroe -
Dedicado a las personas que me han acompañado estos cuatro años,a mi familia por aguantarme y tener tanta paciencia,
y a ti C.
ÍNDICE
Índice I
Índice de Figuras III
Índice de Tablas V
Glosario VII
Acrónimos IX
Resumen XI
Abstract XIII
1. Introducción 1
1.1. Área de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Problema a resolver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4. Aproximación a la solución . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5. Estructura del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Estado del arte 5
2.1. Trabajos similares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Qué aporta CONTROLMET . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3. Herramientas utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
I
2.3.1. SQLite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.2. SQLiteStudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.3. Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.4. Spyder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3. Desarrollo del sistema 11
3.1. Elección de Productos financieros . . . . . . . . . . . . . . . . . . . . . 11
3.2. Entradas al sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3. Diseño de la Base de Datos . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.4. Implementación de la herramienta . . . . . . . . . . . . . . . . . . . . . 35
3.5. Ejecución de CONTROLMET . . . . . . . . . . . . . . . . . . . . . . . 38
4. Navegando en la aplicación 39
5. Pruebas realizadas 47
5.1. Pruebas unitarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2. Pruebas de integración . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.3. Pruebas del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6. Líneas futuras 57
7. Conclusiones 59
Referencias 61
II
ÍNDICE DE FIGURAS
1. Logotipo de Management Solutions. . . . . . . . . . . . . . . . . . . . . 1
2. Logotipo de SQLite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Logotipo de SQLiteStudio. . . . . . . . . . . . . . . . . . . . . . . . . . 7
4. Ejemplo de interfaz en SQLiteStudio. . . . . . . . . . . . . . . . . . . . 8
5. Logotipo de Python. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6. Logotipo de Spyder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7. Ejemplo de interfaz en Spyder. . . . . . . . . . . . . . . . . . . . . . . . 10
8. Diagrama de la Base de Datos (BBDD). . . . . . . . . . . . . . . . . . . 34
9. Ventana de Log in. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10. Mensaje mostrado al pulsar el botón No soy usuario de la ventana Log in. 39
11. Mensaje si se quiere acceder a la aplicación sin introducir los datos de
usuario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
12. Mensaje que indica que el nombre de usuario o contraseña son incorrectos. 40
13. Ventana de Alta de Usuario . . . . . . . . . . . . . . . . . . . . . . . . . 40
14. Ventana de inicio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
15. Ventana emergente al seleccionar en el menú Abrir fichero. . . . . . . . . 42
16. Ventana de Añadir fichero. . . . . . . . . . . . . . . . . . . . . . . . . . 43
17. Ventana de Obtener informe. . . . . . . . . . . . . . . . . . . . . . . . . 43
18. Ventana de Añadir fichero. . . . . . . . . . . . . . . . . . . . . . . . . . 44
19. Ventana emergente de Acerca de .... . . . . . . . . . . . . . . . . . . . . 44
20. Ventana emergente de Ayuda. . . . . . . . . . . . . . . . . . . . . . . . . 45
III
21. Pantalla Datos de usuario. . . . . . . . . . . . . . . . . . . . . . . . . . 45
22. Ventana Modificar datos de usuario. . . . . . . . . . . . . . . . . . . . . 46
IV
ÍNDICE DE TABLAS
1. Relación subproductos-atributos I. . . . . . . . . . . . . . . . . . . . . . 17
2. Relación subproductos-atributos II. . . . . . . . . . . . . . . . . . . . . . 18
3. Relación subproductos-atributos III. . . . . . . . . . . . . . . . . . . . . 19
4. Relación subproductos-atributos IV. . . . . . . . . . . . . . . . . . . . . 20
5. Relación subproductos-atributos V. . . . . . . . . . . . . . . . . . . . . . 21
6. Relación subproductos-atributos VI. . . . . . . . . . . . . . . . . . . . . 22
7. Relación subproductos-atributos VII. . . . . . . . . . . . . . . . . . . . . 23
8. Relación subproductos-atributos VIII. . . . . . . . . . . . . . . . . . . . 24
9. Relación subproductos-atributos IX. . . . . . . . . . . . . . . . . . . . . 25
10. Relación subproductos-atributos X. . . . . . . . . . . . . . . . . . . . . . 26
11. Relación subproductos-atributos XI. . . . . . . . . . . . . . . . . . . . . 27
12. Relación subproductos-atributos XII. . . . . . . . . . . . . . . . . . . . . 28
13. Relación subproductos-atributos XIII. . . . . . . . . . . . . . . . . . . . 29
14. Relación subproductos-atributos XIV. . . . . . . . . . . . . . . . . . . . 30
V
GLOSARIO
API comandos, funciones y protocolos que permiten desarrollar programas para ciertos
sistemas operativos [18].
CONTROLMET aplicación o herramienta objetivo de este Trabajo de Fin de Grado.
Depos un cliente da una cantidad de dinero a una entidad bancaria y tras un período de
tiempo se le devuelve con remuneración[22].
Dinámico factores que ayudan a analizar cambios o movimientos entre un período y otro
del balance general y el estado de resultados[29].
Esquema de amortización calendario de pagos.
Estático características que ayudan a analizar un subproducto en un momento determi-
nado, sin tener en cuenta posibles cambios ocurridos en el tiempo [28].
Interest Rate Risk in the Banking Book o Riesgo de tasa de Interés en la Cartera de
Inversión; riesgo actual o futuro para el capital o ganancias de un banco a raíz
de oscilaciones adversas de las tasas de interés que afecten a las posiciones de
su cartera de inversión. Lo importante es que sus medidas se basen en el valor
económico y en las ganancias[1].
Métricas financieras miden el coste de operaciones, de ocupación totales, ingresos se-
manales y rentabilidad de operaciones y recursos del lugar de trabajo[3].
Principal Outstanding cantidad que queda por pagar de la operación sin contar los in-
tereses por cada mes del plazo establecido.
Productos financieros contrato, acción, bono u obligación de deuda equivalente a una
cantidad monetaria[20].
Préstamos Retail acuerdo entre partes en el que se da un activo a cambio de obtener un
interés[21].
Python lenguaje de programación de alto nivel, orientado a objetos y con semántica di-
námica integrada principalmente para desarrollo web y de aplicaciones [15].
Riesgo Estructural de Balance de tipo de Interés posibilidad de tener pérdidas ante mo-
vimientos adversos en factores de riesgo de mercado, concretamente por diferen-
cias, referencias y cadencias de repreciación de partidas que forman un balance[4].
SQL lenguaje de consulta estructurado.
VII
TIR o Tasa Interna de Retorno, es la rentabilidad que genera un proyecto. Puede ser
positiva (genera beneficio) o negativa (genera pérdidas) [30].
Tratamiento End-to-End visión integral de cada uno de los departamentos y procesos
en los que se fija un resultado y objetivos, en base a costes, tiempo y calidad[5].
Valor Económico relación que surge al asignar un significado a un objeto valorado[6].
VIII
ACRÓNIMOS
BBDD Base de Datos.
CLI Command-Line Interface.
DNI Documento Nacional de Identificación.
MS Management Solutions.
IX
Resumen
En el día a día de una entidad bancaria es necesario analizar múltiples
métricas para la gestión y el control de los riesgos. Este proceso requiere
a su vez, de la aplicación de metodologías de evaluación y mitigación de los
efectos derivados, y para que esta tarea sea más afable surge CONTROLMET .
Esta aplicación, objetivo de este trabajo, permitirá automatizar y asegu-
rar el cálculo de distintas Métricas financieras, como Valor Económico, para
conseguir una gestión más fiable del control del Riesgo Estructural de Balan-ce de tipo de Interés, así como el cálculo del consumo de capital por ese tipo
de riesgo.
Dichas Métricas financieras permitirán a la entidad la identificación de
las partidas con mayor rentabilidad así como el cumplimiento de los requi-
sitos regulatorios relativos a su gestión y control de Interest Rate Risk in theBanking Book (IRRBB).
Además, la aplicación permitirá monitorizar el proceso y actuar sobre él
para visualizar las cargas, lanzar los procesos de agregación y emitir los re-
portes de explotación.
Palabras clave: Métricas financieras, Valor Económico, Interest Rate Riskin the Banking Book.
XI
Abstract
On the day-to-day of a banking entity it is necessary to analyze multiple
metrics to manage and control risks. This process requires the application of
methodologies of evaluation and mitigation of derivatives effects and to make
this task more friendly CONTROLMET has been developed.
This application, the goal of this project, will automate and secure the cal-
culation of different financial metrics, like Economic Value, to get a precise
manage of the structural balance of interest rate risk, as well as to calculate
the consumption of capital for this type of risk.
These financial metrics will allow the entity to identify items with higher
profitability as well as determine compliance with regulatory requirements
relating to the management and control of Interest Rate Risk in the BankingBook (IRRBB).
In addition, the application will allow to monitor the process and act on
it to visualise loads, launching aggregation processes and show exploitation
reports.
Keywords: financial metrics, Economic Value, Interest Rate Risk in theBanking Book.
XIII
1. INTRODUCCIÓN
Como la mayor parte de la sociedad, los bancos han tenido una evolución tecnológica
comenzando con simples trueques hasta llegar al uso, por ejemplo, de tarjetas bancarias.
Este progreso también puede apreciarse en el uso de herramientas utilizadas para realizar
labores internas; y en este contexto aparece CONTROLMET .
1.1. Área de trabajo
La aplicación aparece como iniciativa de la consultora Management Solutions (MS),
una consultora internacional orientada al asesoramiento financiero, de negocio, riesgos,
organización, tecnología y procesos[7].
El principal sector en el que trabaja MS es el financiero, ayudando a diferentes empre-
sas a tomar decisiones, analizar sus inversiones y capitales, o evaluar estados financieros,
entre otras muchas tareas.
Figura 1: Logotipo de Management Solutions.
[8]
1.2. Problema a resolver
Entre las muchas tareas que realiza una entidad bancaria existe el análisis de diferentes
contratos, específicamente de Métricas financieras, que miden el coste de operaciones,
1
ocupaciones totales, ingresos semanales y rentabilidad de operaciones y recursos del lugar
de trabajo. Que éste análisis sea conciso o que no presente errores de operación es algo
muy difícil de conseguir de forma manual.
Por ello aparece la propuesta de CONTROLMET , automatizando todo el proceso que
necesita dicho análisis y consiguiendo a su vez reducir el tiempo de obtención de resulta-
dos correctos. Otra ventaja es que esta herramienta puede utilizarse en cualquier entidad
bancaria.
1.3. Objetivos
CONTROLMET será un software independiente que permitirá calcular Métricas fi-
nancieras, como el Valor Económico (relación que surge al asignar un significado a un
objeto valorado [6]) entre ellas, para gestionar y controlar el Riesgo Estructural de Ba-
lance de tipo de Interés (la posibilidad de tener pérdidas ante movimientos adversos en
factores de riesgo de mercado, concretamente por diferencias referencias y cadencias de
repreciación de partidas que forman un balance), así como calcular el consumo de capital
por este tipo de riesgo. Pero realmente su objetivo es identificar las partidas con mayor
rentabilidad y el asegurar el cumplimiento de los requerimientos regulatorios a la gestión
y control de IRRBB o Interest Rate Risk in the Banking Book, riesgo actual o futuro para
el capital o ganancias de un banco a raíz de oscilaciones adversas de las tasas de interés
que afecten a las posiciones de su cartera de inversión.
1.4. Aproximación a la solución
La herramienta será desarrollada desde cero incluyendo un Tratamiento End-to-End
de la información: partiendo de un análisis de las entradas provenientes de los sistemas
fuente de las entidades, hasta la explotación y reporte de cálculos a través de una interfaz
de usuario.
Destacar que el formato de dichas entradas será estandarizado pudiendo utilizar la
aplicación, gracias a ligeras modificaciones, con distintas entidades bancarias.
2
1.5. Estructura del trabajo
En los siguientes capítulos se explicará de forma progresiva como se ha implementado
la herramienta, comenzando en el capítulo 2 con el estado del arte, seguido del capítulo 3
donde se describe la resolución al problema, en el apartado 4 se muestra visualmente la in-
terfaz, en el 5 las pruebas realizadas y por último, las secciones 7 y 6 con las conclusiones
y líneas futuras.
De forma independiente, al final del documento se encontrarán las referencias utiliza-
das para el desarrollo del Trabajo de Fin de Grado.
3
2. ESTADO DEL ARTE
En este capítulo se habla sobre herramientas similares que se han desarrollado, por
qué este proyecto aporta novedad y las herramientas utilizadas para poder conseguir los
objetivos definidos.
2.1. Trabajos similares
Conocer el mundo financiero es complejo hasta para personas especializadas en este
área, por lo que no es de extrañar que haya herramientas existentes con objetivos similares
a los de este Trabajo de Fin de Grado, es decir, el análisis de Métricas financieras.
Un ejemplo es el software Confluence Counterparty Risk creado por la empresa Indi-
zen, una consultoría en el área de Riesgos y Mercado de Capitales para grandes entidades
financieras de España. Su herramienta calcula métricas como Ajuste de Validación de
Crédito, o Ajuste de Validación de Débito, entre otras; generando escenarios, calculando
exposiciones crediticias y valorando instrumentos financieros. [10]
CONTROLMET no será tan completa como esta aplicación ya que se espera que ob-
tenga un número concreto de posibles informes sobre el análisis de las Métricas financie-
ras que trate, pero aportará novedad al tratar métricas diferentes como el Valor Económi-
co.
2.2. Qué aporta CONTROLMET
Como se dice en el subapartado 2.1, actualmente no se han encontrado aplicaciones o
herramientas que realicen un análisis de la métrica Valor Económico; lo que es un proble-
ma para MS ya que quiere optimizar el tiempo utilizado por sus trabajadores en realizar
esta tarea. Consiguiendo una interfaz sencilla para el usuario y la obtención de informes
que corroboren el análisis de esta métrica sea funcional, se podrán alcanzar los objetivos
citados en el capítulo 1.
5
2.3. Herramientas utilizadas
Uno de los primeros pasos para realizar este proyecto ha sido definir y diseñar la
arquitectura a utilizar. En este subapartado se describen cada una de las herramientas y
lenguajes utilizados.
2.3.1. SQLite
Figura 2: Logotipo de SQLite.
[11]
Librería en lenguaje C que implementa un pe-
queño, rápido, independiente, de alta fiabilidad y
completo motor de bases de datos SQL, un lengua-
je de consulta estructurado [9]. Destacar que es de
libre disposición y es de dominio público, lo que lo
convierte en uno de los motores de BBDD, Bases
de Datos, más utilizados mundialmente en todo ti-
po de tecnologías como computadoras, aplicación
de uso diario, o telefonía móvil . Para facilitar que
los archivos puedan intercambiarse entre distintos sistemas el formato de sus archivos es
multiplataforma, estable y compatible con las distintas versiones.
Entre sus características se encuentran las siguientes: [12]
Las transacciones son atómicas, consistentes, remotas y durables, incluso tras blo-
queos del sistema o fallos de energía.
No se necesita configuración ni administración previa a su uso.
Dispone de una implementación completa con capacidades avanzadas como índices
parciales, o expresiones comunes en tablas.
Una BBDD completa se almacena en un único archivo de disco multiplataforma.
Admite BBDD de tamaño terabyte, y strings y blobs de tamaño de gigabyte.
La huella de código es pequeña: menor a 600 kibibytes.
6
Interfaz simple y de uso sencillo.
Más rápido que el sistema de archivos directo de entrada/salida.
Escrito en ASCI-C (una docena de lenguajes más están disponibles por separado).
Código fuente bien comentado con cobertura de test.
Disponible como un único fichero de código ANSI-C, haciéndolo fácil de compilar
y de añadir a un proyecto largo.
Auto-contenido, lo que evita dependencias externas.
Multiplataforma: algunos ejemplos son Android, *BSD, IOS o Linux; siendo fácil
la conversión entre sistemas.
Las rutas son de dominio público, siendo usadas para cualquier propósito.
Dispone de un cliente Command-Line Interface (CLI) que puede usarse para admi-
nistrar las BBDD.
2.3.2. SQLiteStudio
Para que el uso de la librería SQLite fuera más sencillo se utilizó SQLiteStudio, un
administrador de BBDD.
Figura 3: Logotipo de SQLiteStudio.
[14]
Presenta las siguientes características: [13]
No necesita instalarse, simplemente ejecutarlo.
Interfaz intuitiva.
7
Potente a la vez que ligero y rápido.
Unifica todas las características de SQLite3 y SQLite2, dos versiones de SQLite, en
una sola interfaz gráfica.
Multiplataforma.
Puede exportar a varios formatos como CSV o XML.
Importa datos de distintos formatos (CSV o ficheros de texto personalizados).
Incluye detalles como el formato de código, historial de consultas ejecutadas, o
comprobación de sintaxis sobre la marcha.
Dispone de soporte de Unicode.
Adaptable al entorno en que se ejecuta.
Pueden configurarse sus colores, fuentes y accesos directos.
De código abierto y gratuito.
En la siguiente figura, puede apreciarse como se visualizaría la herramienta en un
entorno MACOS X.
Figura 4: Ejemplo de interfaz en SQLiteStudio.
8
2.3.3. Python
Python es un lenguaje de programación de alto nivel orientado a objetos y con se-
mántica dinámica integrada principalmente para desarrollo web y de aplicaciones[15].
Admite el uso de módulos y paquetes, haciendo que los programas puedan diseñarse mo-
dularmente y que el código sea reutilizable entre proyectos.
Figura 5: Logotipo de Python.
[16]
Como características: [17]
Fácil y sencillo de usar, con una sintaxis que hace que sea de lectura sencilla.
Incluye la biblioteca estándar de Python, ofreciendo soporte integrado para tareas
como sincronización con servidores web o modificación de ficheros.
Posee un modo iterativo que simplifica las pruebas sobre pequeños fragmentos de
código.
Existe la posibilidad de poder ampliar el lenguaje añadiendo módulos, utilizables
como accesos directos en proyectos futuros una vez ya han sido creados.
Puede integrarse en una aplicación, lo que proporciona una interfaz programable.
Multiplataforma, disponible en sistemas operativos como Windows, Linux o MA-
COS.
Consta de licencia de código abierto.
Destacar además el uso de una de sus librerias, tkinter, para poder obtener la interfaz
de la aplicación.
9
2.3.4. Spyder
Figura 6: Logotipo de Spyder.
[19]
Para que trabajar con Python sea más sencillo se
ha utilizado el entorno de programación Spyder, es-
crito en y para Python. Ofrece una combinación de
edición, análisis, depuración y perfilación de fun-
cionalidades en una herramienta de desarrollo inte-
gral con la exploración de datos, ejecución interac-
tiva, inspección profunda y vistosas capacidades de
visualización. [19]
Su capacidad podría ampliarse gracias a su sis-
tema de plugins, o complementos, y API (comandos, funciones y protocolos que permiten
desarrollar programas para ciertos sistemas operativos [18]). Además, puede usarse como
biblioteca de extensión PyQt5, permitiendo a desarrolladores aprovechar su funcionalidad
e integrar sus componentes en su propio software.
A continuación, se visualiza un ejemplo de la interfaz.
Figura 7: Ejemplo de interfaz en Spyder.
[19]
10
3. DESARROLLO DEL SISTEMA
En esta sección se hablará de las diferentes fases en las que se ha dividido el proyecto
para poder conseguir los objetivos definidos, desde la elección de qué Productos finan-
cieros (contratos, acciones, bonos u obligaciones de deuda equivalentes a una cantidad
monetaria[20]) se analizarán, a la implementación del Front de Usuario.
3.1. Elección de Productos financieros
CONTROLMET tiene como principal objetivo, dados un ficheros de entrada, realizar
múltiples informes analizando sus métricas financieras. Por ello se comenzó examinando
que contendrían dichos ficheros iniciales, concretamente los Productos financieros sobre
los que pueden hablar.
El conjunto de dichos productos es muy amplio y complejo, por lo que se decidió
escoger un grupo inicial de dos Productos financieros por su frecuencia y mayor utilidad
para MS:
Préstamos Retail: acuerdo entre partes en el que se da un activo a cambio de obtener
un interés. [21]
Depos: un cliente da una cantidad de dinero a una entidad bancaria y tras un período
de tiempo se le devuelve con remuneración. [22]
Su descripción es muy general por lo que se dividieron en niveles más especializados,
concretamente en un total de 22. Dicha fracción es la siguiente:
1. Assets.Securities.Carteras.FixedIncomeSecLT: documentos que confirman los de-
rechos de propiedad o emisión factual de un préstamo [23], con el objetivo de obte-
ner un beneficio económico. Específicamente, un conjunto de activos (dependientes
del tipo de inversión o preferencias, entre otras características) de renta fija a largo
plazo.
11
2. Assets.Securities.Carteras.FixedIncomeSecST: trata los mismos aspectos que el sub-
producto anterior, pero a corto plazo.
3. Assets.Securities.Repos: operaciones de recompra en las que una entidad vende a
un inversor un activo con el compromiso de comprarlo en una fecha determinada y
a un precio determinado[24].
4. Assets.Customer.Loans.Mortgages: este subproducto obtiene su beneficio a partir
de préstamos hipotecarios.
5. Assets.Customer.Loans.ConsumerLoans: todos aquellos préstamos a clientes con
fines familiares, personales o domésticos[25].
6. Assets.Customer.Loans.CreditCards: financiaciones relacionadas con tarjetas de cré-
dito.
7. Assets.Customer.Loans.SMEs(PYMES): prestaciones a pequeños y grandes nego-
cios.
8. Assets.Customer.Loans.Dudosos/Morosos: todos aquellos impagos por parte de un
cliente.
9. Assets.WholesaleDepos.Depos.Sight: depósitos de venta al por mayor en los que
una entidad financiera custodia el dinero de un cliente, para que a cambio remunere
según el plazo y cantidad por inmovilizar su dinero[26]. Ser sight indica que el
dinero depositado está disponible constantemente.
10. Assets.WholesaleDepos.Depos.Term: similar al caso anterior, pero con disponibili-
dad limitada.
11. Assets.Cash: beneficios obtenidos a partir de dinero en efectivo.
12. Assets.Derivatives: contrato entre dos o más partes, cuyo valor es determinado por
las fluctuaciones en el activo subyacente[27].
13. Liabilities.RetailDepo.Depo.Sight: deudas y cargas relacionadas a operaciones en
las que una entidad financiera custodia el dinero de un cliente, concretamente de-
pósitos de venta al por menor, estando el dinero totalmente disponible.
14. Liabilities.RetailDepo.Depo.Term: en este caso el dinero es de limitada disposición.
12
15. Liabilities.Issuance.FinanciacionCP.FixedIncomeSecST: emisiones, por deudas y
cargas, a corto plazo y con valores de renta fija a largo plazo.
16. Liabilities.Issuance.FinanciacionMLP.FixedIncomeSecLMT: subproducto similar, pe-
ro a medio y largo plazo.
17. Liabilities.WholesaleDepo.Depo.Sight: cargas y deudas en depósitos al por mayor,
con disponibilidad total del dinero.
18. Liabilities.WholesaleDepo.Depo.Term: depósitos al por mayor enfocados a cargas
y deudas, con disposición limitada del dinero.
19. Liabilities.Securities.Repos: adeudos de operaciones de recompra en las que una
entidad financiera vende un activo con la promesa de comprarlo a una fecha y precio
determinados.
20. Liabilities.Derivatives: deudas y cargas en contratos realizados entre dos o más
partes, cuyo valor reside en las fluctuaciones en el activo subyacente.
21. OffBalanceSheet.Derivatives.IRS.PayFixed/Floating: operación en la que se custo-
dia el dinero de un cliente que no aparece en el balance contable de una empresa,
analizando las tasas de interés a tipo fijo o flotante.
22. OffBalanceSheet.Derivatives.CCY.PayFixed/Floating: mismas operaciones que el
subproducto anterior, pero analizando la divisa a tipo fijo o flotante.
Destacar que existe una correspondecia entre productos y subproductos. Para los pro-
ductos definidos sería la siguiente:
Préstamos Retail: los subproductos cuatro a ocho.
Depósitos: los subproductos nueve, diez, diecisiete y dieciocho.
Aclarar que no todos los subproductos están asociados ya que se han definido con el
objetivo de que en un futuro puedan ser analizados, como puede apreciarse en el capítulo
6.
Cada uno de los 22 subproductos definidos tiene un conjunto de atributos divididos en
dos categorías:
13
Estático: características que ayudan a analizar un subproducto en un momento de-
terminado, sin tener en cuenta posibles cambios ocurridos en el tiempo[28]. Entre
ellas se encuentran:
• Legal Entity: entidad bancaria en la que está registrada la operación.
• Contract ID: código único identificativo de la operación en cada banco o en-
tidad local.
• EFAN SPG Area: área de gestión de cada uno de los contratos.
• Banking Book Perimeter: marca que identifica el perímetro prudencial al que
pertenece una operación desde un punto de vista de gestión del Balance: Ban-
king Book (Cartera de Inversión) o Trading (estudio de mercados).
• GL Account Minimum Level: código de cuenta contable, a mínimo nivel, don-
de está contablizada la operación de manera principal.
• L/S Position Indicator: indica si la posición es larga (se espera que el valor se
incremente en un futuro) o corta (al vender un activo se toma dicha posición).
• Original Currency (MO): divisa de la operación.
• Base Currency (ML): divisa en la que se registra la operación a efectos conta-
bles (por ejemplo en España sería euro).
• FX Spot Rate: tipo de cambio entre la divisa original y la divisa base.
• DDA Local Segment: clasificación local de la tipología de depósitos: depósitos
a plazo, a la vista, híbridos, etc.
• Face Amount: saldo contable de la operación viva a la fecha de datos.
• MTM (NPV): valor de mercado de la operación.
• Balance Amount: saldo por el que se contabiliza la operación, sin tener en
cuenta ajustes de valoración (por ejemplo deterioro), o importe de la cuenta
contable principal de la operación.
• Balloon Amount: importe de principal aplazado hasta la fecha de vencimiento.
• Rate Type: indicador del rendimiento de la operación. Diferencia entre: fijo,
variable, fijo y posteriormente pasa a variable, variable y posteriormente pasa
a fijo, variable con unas características y posteriormente variable con otras, y
fijo con unas características y posteriormente fijo con otras.
14
• Contractual Interest Rate: tipo de interés contractual que aplica actualmente a
la operación, hasta su próxima repreciación o vencimiento.
• Total Interest Rate: tipo de interés efectivo total de la operación, incluyendo el
tipo de interés, el spread así como la periodificación correspondiente de cual-
quier comisión, coste de transacción y otras primas y descuentos aplicables.
• Standard Rate Index: índice de referencia normalizado conforme al catálogo
corporativo. Refleja el índice de referencia al que a la fecha de datos está
referenciada la operación o al que le correspondería en la parte variable. Tiene
que estar compuesto y hacer referencia a: divisa, tenor e índice.
• Margin: spread que se aplica sobre el tipo del índice de referencia a la opera-
ción cuando reprecia.
• Standard Day Count Convention: base de cálculo a considerar para el pago y
periodificación de intereses del contrato. Contempla los valores admitidos en
el catálogo corporativo.
• Origination Date: se informará de la fecha (año, mes y día) de apertura, con-
tratación y originación del contrato.
• Settlement Date: fecha en la que el contrato entra en vigor.
• Maturity Date: fecha de finalización del contrato en el momento de enviar los
datos.
• Next Principal Payment Date: próxima fecha, posterior a la fecha de datos, en
la que se va a producir el siguiente pago de principal.
• Next Interest Payment Date: próxima fecha, posterior a la fecha de datos, en
la que se va a producir el siguiente pago de intereses.
• Amortization Delay End Date: en el caso de acordar un periodo en el que
el cliente no pague principal, intereses o ambos, fecha en la que finaliza ese
periodo.
• Next Reset Day: primera fecha, posterior a la fecha de datos, en la que se
revisará el cupón para las partidas que actualmente tiene un tipo de cupón
variable o doble variable.
• Option Exercise Date: siguiente fecha de ejercicio de la opción con posterio-
ridad a la fecha de datos.
15
• Standard Amortization Frequency: frecuencia con la que la operación amortiza
principal conforme a la segmentación definida a nivel corporativo.
• Standard Interests Payment Frequency: frecuencia en la que la operación paga
intereses.
• Standard Repricing Frequency: frecuencia con la que se revisa el rendimiento
de la operación.
• Cancellation Option (Call/Put): indica la tipología de la opción: cancelación
a favor del emisor (Call) o del comprador (Put).
• Null Floor Indicator: indica si la posición tiene un suelo asignado.
• Next Life Floor: suelo que se aplica sobre el tipo total de la operación.
• Next Life Cap: tapa que se aplica sobre el tipo total de la operación.
Dinámico: factores que ayudan a analizar cambios o movimientos entre un periodo
y otro del balance general y el estado de resultados[29]. Dichos agentes son:
• Legal Entity: entidad bancaria en la que está registrada la operación.
• Contract ID: código único identificativo de la operación en cada banco o en-
tidad local.
• Principal Cash-Flow Amount: importe de amortizacion del principal de la
cuota del período.
• Interest Cash-Flow Amount: importes de intereses incluidos en la cuota del
período.
• Installment Amount: importe de la cuota total del período.
• Cash Flow Average Maturity Date: fecha de vencimiento de la cuota.
En el caso de los atributos estáticos, no todos los rasgos corresponden con todos los
subproductos. Por ello se estableció la matriz de correspondencia adjunta de la tabla 1 a
la 14.
16
No
mb
reS
ub
pro
du
cto
Leg
alE
nti
tyC
on
trac
tID
EFA
NS
PG
Are
aB
ank
ing
Bo
ok
Per
imet
er
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecL
Tx
xx
x
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecS
Tx
xx
x
Ass
ets.
Sec
uri
ties
.Rep
os
xx
xx
Ass
ets.
Cust
om
er.L
oan
s.M
ort
gag
esx
xx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Co
nsu
mer
Lo
ans
xx
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Cre
dit
Car
ds
xx
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
SM
Es(
PY
ME
S)
xx
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Du
do
sos/
Mo
roso
sx
xx
x
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Sig
ht
xx
xx
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Ter
mx
xx
x
Ass
ets.
Cas
hx
xx
x
Ass
ets.
Der
ivat
ives
xx
xx
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Sig
ht
xx
xx
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Ter
mx
xx
x
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
CP.
Fix
edIn
com
eSec
ST
xx
xx
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
ML
P.F
ixed
Inco
meS
ecL
MT
xx
xx
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.S
igh
tx
xx
x
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.T
erm
xx
xx
Lia
bil
itie
s.S
ecu
riti
es.R
epo
sx
xx
x
Lia
bil
itie
s.D
eriv
ativ
esx
xx
x
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.IR
S.P
ayF
ixed
/Flo
atin
gx
xx
x
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.CC
Y.P
ayF
ixed
/Flo
atin
gx
xx
x
Tab
la1
:R
elac
ión
sub
pro
du
cto
s-at
ribu
tos
I.
17
No
mb
reS
ub
pro
du
cto
GL
Acc
ou
nt
Min
imu
mL
evel
L/S
Po
siti
on
Ind
icat
or
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecL
Tx
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecS
Tx
Ass
ets.
Sec
uri
ties
.Rep
os
x
Ass
ets.
Cust
om
er.L
oan
s.M
ort
gag
esx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Co
nsu
mer
Lo
ans
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Cre
dit
Car
ds
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
SM
Es(
PY
ME
S)
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Du
do
sos/
Mo
roso
sx
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Sig
ht
x
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Ter
mx
Ass
ets.
Cas
hx
x
Ass
ets.
Der
ivat
ives
x
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Sig
ht
x
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Ter
mx
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
CP.
Fix
edIn
com
eSec
ST
x
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
ML
P.F
ixed
Inco
meS
ecL
MT
x
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.S
igh
tx
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.T
erm
x
Lia
bil
itie
s.S
ecu
riti
es.R
epo
sx
Lia
bil
itie
s.D
eriv
ativ
esx
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.IR
S.P
ayF
ixed
/Flo
atin
gx
x
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.CC
Y.P
ayF
ixed
/Flo
atin
gx
x
Tab
la2
:R
elac
ión
sub
pro
du
cto
s-at
ribu
tos
II.
18
No
mb
reS
ub
pro
du
cto
Ori
gin
alC
urr
ency
(MO
)B
ase
Cu
rren
cy(M
L)
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecL
Tx
x
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecS
Tx
x
Ass
ets.
Sec
uri
ties
.Rep
os
xx
Ass
ets.
Cust
om
er.L
oan
s.M
ort
gag
esx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Co
nsu
mer
Lo
ans
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Cre
dit
Car
ds
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
SM
Es(
PY
ME
S)
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Du
do
sos/
Mo
roso
sx
x
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Sig
ht
xx
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Ter
mx
x
Ass
ets.
Cas
hx
x
Ass
ets.
Der
ivat
ives
xx
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Sig
ht
xx
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Ter
mx
x
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
CP.
Fix
edIn
com
eSec
ST
xx
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
ML
P.F
ixed
Inco
meS
ecL
MT
xx
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.S
igh
tx
x
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.T
erm
xx
Lia
bil
itie
s.S
ecu
riti
es.R
epo
sx
x
Lia
bil
itie
s.D
eriv
ativ
esx
x
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.IR
S.P
ayF
ixed
/Flo
atin
gx
x
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.CC
Y.P
ayF
ixed
/Flo
atin
gx
x
Tab
la3
:R
elac
ión
sub
pro
du
cto
s-at
ribu
tos
III.
19
No
mb
reS
ub
pro
du
cto
FX
Sp
ot
Rat
eD
DA
Lo
cal
Seg
men
tF
ace
Am
ou
nt
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecL
Tx
x
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecS
Tx
x
Ass
ets.
Sec
uri
ties
.Rep
os
xx
Ass
ets.
Cust
om
er.L
oan
s.M
ort
gag
esx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Co
nsu
mer
Lo
ans
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Cre
dit
Car
ds
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
SM
Es(
PY
ME
S)
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Du
do
sos/
Mo
roso
sx
x
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Sig
ht
xx
x
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Ter
mx
xx
Ass
ets.
Cas
hx
x
Ass
ets.
Der
ivat
ives
xx
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Sig
ht
xx
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Ter
mx
x
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
CP.
Fix
edIn
com
eSec
ST
xx
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
ML
P.F
ixed
Inco
meS
ecL
MT
xx
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.S
igh
tx
xx
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.T
erm
xx
x
Lia
bil
itie
s.S
ecu
riti
es.R
epo
sx
x
Lia
bil
itie
s.D
eriv
ativ
esx
x
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.IR
S.P
ayF
ixed
/Flo
atin
gx
x
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.CC
Y.P
ayF
ixed
/Flo
atin
gx
x
Tab
la4
:R
elac
ión
sub
pro
du
cto
s-at
ribu
tos
IV.
20
No
mb
reS
ub
pro
du
cto
MT
M(N
PV
)B
alan
ceA
mo
un
tB
allo
nA
mo
un
t
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecL
Tx
xx
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecS
Tx
xx
Ass
ets.
Sec
uri
ties
.Rep
os
xx
Ass
ets.
Cust
om
er.L
oan
s.M
ort
gag
esx
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Co
nsu
mer
Lo
ans
xx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Cre
dit
Car
ds
xx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
SM
Es(
PY
ME
S)
xx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Du
do
sos/
Mo
roso
sx
x
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Sig
ht
xx
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Ter
mx
x
Ass
ets.
Cas
hx
Ass
ets.
Der
ivat
ives
x
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Sig
ht
x
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Ter
mx
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
CP.
Fix
edIn
com
eSec
ST
xx
x
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
ML
P.F
ixed
Inco
meS
ecL
MT
xx
x
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.S
igh
tx
x
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.T
erm
xx
Lia
bil
itie
s.S
ecu
riti
es.R
epo
sx
Lia
bil
itie
s.D
eriv
ativ
esx
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.IR
S.P
ayF
ixed
/Flo
atin
gx
x
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.CC
Y.P
ayF
ixed
/Flo
atin
gx
x
Tab
la5
:R
elac
ión
sub
pro
du
cto
s-at
ribu
tos
V.
21
No
mb
reS
ub
pro
du
cto
Rat
eT
yp
eC
on
trac
tual
Inte
rest
Rat
eT
ota
lIn
tere
stR
ate
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecL
Tx
xx
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecS
Tx
xx
Ass
ets.
Sec
uri
ties
.Rep
os
xx
Ass
ets.
Cust
om
er.L
oan
s.M
ort
gag
esx
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Co
nsu
mer
Lo
ans
xx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Cre
dit
Car
ds
xx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
SM
Es(
PY
ME
S)
xx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Du
do
sos/
Mo
roso
sx
x
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Sig
ht
xx
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Ter
mx
x
Ass
ets.
Cas
h
Ass
ets.
Der
ivat
ives
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Sig
ht
xx
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Ter
mx
x
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
CP.
Fix
edIn
com
eSec
ST
xx
x
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
ML
P.F
ixed
Inco
meS
ecL
MT
xx
x
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.S
igh
tx
x
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.T
erm
xx
Lia
bil
itie
s.S
ecu
riti
es.R
epo
sx
x
Lia
bil
itie
s.D
eriv
ativ
es
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.IR
S.P
ayF
ixed
/Flo
atin
g
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.CC
Y.P
ayF
ixed
/Flo
atin
g
Tab
la6
:R
elac
ión
sub
pro
du
cto
s-at
ribu
tos
VI.
22
No
mb
reS
ub
pro
du
cto
Sta
nd
ard
Rat
eIn
dex
Mar
gin
Sta
nd
ard
Day
Co
un
tC
onv
enti
on
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecL
Tx
xx
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecS
Tx
xx
Ass
ets.
Sec
uri
ties
.Rep
os
xx
x
Ass
ets.
Cust
om
er.L
oan
s.M
ort
gag
esx
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Co
nsu
mer
Lo
ans
xx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Cre
dit
Car
ds
xx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
SM
Es(
PY
ME
S)
xx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Du
do
sos/
Mo
roso
sx
xx
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Sig
ht
xx
x
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Ter
mx
x
Ass
ets.
Cas
h
Ass
ets.
Der
ivat
ives
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Sig
ht
xx
x
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Ter
mx
xx
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
CP.
Fix
edIn
com
eSec
ST
xx
x
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
ML
P.F
ixed
Inco
meS
ecL
MT
xx
x
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.S
igh
tx
xx
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.T
erm
xx
x
Lia
bil
itie
s.S
ecu
riti
es.R
epo
sx
xx
Lia
bil
itie
s.D
eriv
ativ
esx
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.IR
S.P
ayF
ixed
/Flo
atin
gx
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.CC
Y.P
ayF
ixed
/Flo
atin
gx
Tab
la7
:R
elac
ión
sub
pro
du
cto
s-at
ribu
tos
VII
.
23
No
mb
reS
ub
pro
du
cto
Ori
gin
atio
nD
ate
Set
tlem
ent
Dat
eM
atu
rity
Dat
e
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecL
Tx
xx
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecS
Tx
xx
Ass
ets.
Sec
uri
ties
.Rep
os
xx
x
Ass
ets.
Cust
om
er.L
oan
s.M
ort
gag
esx
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Co
nsu
mer
Lo
ans
xx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Cre
dit
Car
ds
xx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
SM
Es(
PY
ME
S)
xx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Du
do
sos/
Mo
roso
sx
xx
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Sig
ht
xx
x
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Ter
mx
xx
Ass
ets.
Cas
hx
xx
Ass
ets.
Der
ivat
ives
xx
x
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Sig
ht
xx
x
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Ter
mx
xx
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
CP.
Fix
edIn
com
eSec
ST
xx
x
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
ML
P.F
ixed
Inco
meS
ecL
MT
xx
x
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.S
igh
tx
xx
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.T
erm
xx
x
Lia
bil
itie
s.S
ecu
riti
es.R
epo
sx
xx
Lia
bil
itie
s.D
eriv
ativ
esx
xx
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.IR
S.P
ayF
ixed
/Flo
atin
gx
xx
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.CC
Y.P
ayF
ixed
/Flo
atin
gx
xx
Tab
la8
:R
elac
ión
sub
pro
du
cto
s-at
ribu
tos
VII
I.
24
No
mb
reS
ub
pro
du
cto
Nex
tP
rin
cip
alP
aym
ent
Dat
eN
ext
Inte
rest
Pay
men
tD
ate
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecL
Tx
x
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecS
Tx
x
Ass
ets.
Sec
uri
ties
.Rep
os
xx
Ass
ets.
Cust
om
er.L
oan
s.M
ort
gag
esx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Co
nsu
mer
Lo
ans
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Cre
dit
Car
ds
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
SM
Es(
PY
ME
S)
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Du
do
sos/
Mo
roso
s
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Sig
ht
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Ter
mx
x
Ass
ets.
Cas
h
Ass
ets.
Der
ivat
ives
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Sig
ht
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Ter
mx
x
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
CP.
Fix
edIn
com
eSec
ST
xx
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
ML
P.F
ixed
Inco
meS
ecL
MT
xx
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.S
igh
t
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.T
erm
xx
Lia
bil
itie
s.S
ecu
riti
es.R
epo
s
Lia
bil
itie
s.D
eriv
ativ
es
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.IR
S.P
ayF
ixed
/Flo
atin
g
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.CC
Y.P
ayF
ixed
/Flo
atin
g
Tab
la9
:R
elac
ión
sub
pro
du
cto
s-at
ribu
tos
IX.
25
No
mb
reS
ub
pro
du
cto
Am
ort
izat
ion
Del
ayE
nd
Dat
eN
ext
Res
etD
ate
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecL
Tx
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecS
Tx
Ass
ets.
Sec
uri
ties
.Rep
os
x
Ass
ets.
Cust
om
er.L
oan
s.M
ort
gag
esx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Co
nsu
mer
Lo
ans
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Cre
dit
Car
ds
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
SM
Es(
PY
ME
S)
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Du
do
sos/
Mo
roso
s
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Sig
ht
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Ter
mx
Ass
ets.
Cas
h
Ass
ets.
Der
ivat
ives
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Sig
ht
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Ter
mx
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
CP.
Fix
edIn
com
eSec
ST
x
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
ML
P.F
ixed
Inco
meS
ecL
MT
x
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.S
igh
t
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.T
erm
x
Lia
bil
itie
s.S
ecu
riti
es.R
epo
s
Lia
bil
itie
s.D
eriv
ativ
es
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.IR
S.P
ayF
ixed
/Flo
atin
g
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.CC
Y.P
ayF
ixed
/Flo
atin
g
Tab
la1
0:
Rel
ació
nsu
bp
rod
uct
os-
atri
bu
tos
X.
26
No
mb
reS
ub
pro
du
cto
Op
tio
nE
xer
cise
Dat
eS
tan
dar
dA
mo
rtiz
atio
nF
recu
ency
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecL
Tx
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecS
Tx
Ass
ets.
Sec
uri
ties
.Rep
os
x
Ass
ets.
Cust
om
er.L
oan
s.M
ort
gag
esx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Co
nsu
mer
Lo
ans
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Cre
dit
Car
ds
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
SM
Es(
PY
ME
S)
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Du
do
sos/
Mo
roso
s
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Sig
ht
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Ter
mx
Ass
ets.
Cas
h
Ass
ets.
Der
ivat
ives
x
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Sig
ht
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Ter
mx
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
CP.
Fix
edIn
com
eSec
ST
x
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
ML
P.F
ixed
Inco
meS
ecL
MT
x
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.S
igh
t
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.T
erm
x
Lia
bil
itie
s.S
ecu
riti
es.R
epo
s
Lia
bil
itie
s.D
eriv
ativ
esx
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.IR
S.P
ayF
ixed
/Flo
atin
gx
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.CC
Y.P
ayF
ixed
/Flo
atin
gx
Tab
la1
1:
Rel
ació
nsu
bp
rod
uct
os-
atri
bu
tos
XI.
27
No
mb
reS
ub
pro
du
cto
Sta
nd
ard
Inte
rest
Pay
men
tF
recu
ency
Sta
nd
ard
Rep
rici
ng
Fre
cuen
cy
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecL
Tx
x
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecS
Tx
x
Ass
ets.
Sec
uri
ties
.Rep
os
xx
Ass
ets.
Cust
om
er.L
oan
s.M
ort
gag
esx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Co
nsu
mer
Lo
ans
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Cre
dit
Car
ds
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
SM
Es(
PY
ME
S)
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Du
do
sos/
Mo
roso
s
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Sig
ht
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Ter
mx
x
Ass
ets.
Cas
h
Ass
ets.
Der
ivat
ives
x
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Sig
ht
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Ter
mx
x
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
CP.
Fix
edIn
com
eSec
ST
xx
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
ML
P.F
ixed
Inco
meS
ecL
MT
xx
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.S
igh
t
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.T
erm
xx
Lia
bil
itie
s.S
ecu
riti
es.R
epo
s
Lia
bil
itie
s.D
eriv
ativ
es
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.IR
S.P
ayF
ixed
/Flo
atin
g
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.CC
Y.P
ayF
ixed
/Flo
atin
g
Tab
la1
2:
Rel
ació
nsu
bp
rod
uct
os-
atri
bu
tos
XII
.
28
No
mb
reS
ub
pro
du
cto
Can
cell
atio
nO
pti
on
(Cal
l/P
ut)
Nu
llF
loo
rIn
dic
ato
r
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecL
Tx
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecS
Tx
Ass
ets.
Sec
uri
ties
.Rep
os
x
Ass
ets.
Cust
om
er.L
oan
s.M
ort
gag
esx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Co
nsu
mer
Lo
ans
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Cre
dit
Car
ds
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
SM
Es(
PY
ME
S)
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Du
do
sos/
Mo
roso
sx
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Sig
ht
x
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Ter
mx
Ass
ets.
Cas
hx
Ass
ets.
Der
ivat
ives
xx
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Sig
ht
x
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Ter
mx
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
CP.
Fix
edIn
com
eSec
ST
x
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
ML
P.F
ixed
Inco
meS
ecL
MT
x
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.S
igh
tx
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.T
erm
x
Lia
bil
itie
s.S
ecu
riti
es.R
epo
sx
Lia
bil
itie
s.D
eriv
ativ
esx
x
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.IR
S.P
ayF
ixed
/Flo
atin
gx
x
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.CC
Y.P
ayF
ixed
/Flo
atin
gx
x
Tab
la1
3:
Rel
ació
nsu
bp
rod
uct
os-
atri
bu
tos
XII
I.
29
No
mb
reS
ub
pro
du
cto
Net
Lif
eF
loo
rN
etL
ife
Cap
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecL
Tx
x
Ass
ets.
Sec
uri
ties
.Car
tera
s.F
ixed
Inco
meS
ecS
Tx
x
Ass
ets.
Sec
uri
ties
.Rep
os
xx
Ass
ets.
Cust
om
er.L
oan
s.M
ort
gag
esx
x
Ass
ets.
Cu
sto
mer
.Lo
ans.
Co
nsu
mer
Lo
ans
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Cre
dit
Car
ds
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
SM
Es(
PY
ME
S)
xx
Ass
ets.
Cu
sto
mer
.Lo
ans.
Du
do
sos/
Mo
roso
sx
x
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Sig
ht
xx
Ass
ets.
Wh
ole
sale
Dep
os.
Dep
os.
Ter
mx
x
Ass
ets.
Cas
hx
x
Ass
ets.
Der
ivat
ives
xx
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Sig
ht
xx
Lia
bil
itie
s.R
etai
lDep
o.D
epo
.Ter
mx
x
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
CP.
Fix
edIn
com
eSec
ST
xx
Lia
bil
itie
s.Is
suan
ce.F
inan
ciac
ion
ML
P.F
ixed
Inco
meS
ecL
MT
xx
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.S
igh
tx
x
Lia
bil
itie
s.W
ho
lesa
leD
epo
.Dep
o.T
erm
xx
Lia
bil
itie
s.S
ecu
riti
es.R
epo
sx
x
Lia
bil
itie
s.D
eriv
ativ
esx
x
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.IR
S.P
ayF
ixed
/Flo
atin
gx
x
Off
Bal
ance
Sh
eet.
Der
ivat
ives
.CC
Y.P
ayF
ixed
/Flo
atin
gx
x
Tab
la1
4:
Rel
ació
nsu
bp
rod
uct
os-
atri
bu
tos
XIV
.
30
3.2. Entradas al sistema
Una vez definidos los Productos financieros se decidió establecer especificaciones de
formato a los ficheros de entrada a la aplicación, para así facilitar el análisis de informa-
ción. Concretamente:
Los ficheros serán de tipo excel (extensión .xlsx) y deberán utilizarse como plantilla
los dados como estándares por la herramienta.
Habrá una plantilla o estándar a seguir por cada tipo de subproducto y categoría, es
decir un total de 44, con sus atributos relacionados.
Se leerán únicamente los datos de la primera hoja del documento excel, por lo que
todos los atributos deben aparecer en esta hoja de forma obligatoria.
La primera fila de datos que aparece en el estándar no debe modificarse, ya que
corresponde a los atributos relacionados con el subproducto tratado, y evitaría con-
seguir que los análisis que se realicen en CONTROLMET sean lo más precisos
posibles.
Es recomendable rellenar todos los campos para favorecer la generación de infor-
mes. Si algún valor es deconocido, en su defecto, deberá escribirse INDEFINIDO.
Al añadir los ficheros a la aplicación, estos deben tener un nombre significativo,
para facilitar su identificación.
3.3. Diseño de la Base de Datos
Gracias al administrador de BBDD, SQLiteStudio, del que se habla en el capítulo 2, se
han generado las tablas necesarias para poder implementar la herramienta de CONTROL-
MET .
Según las necesidades del proyecto se han creado las siguientes tablas, con sus res-
pectivos atributos:
31
usuario: almacena la información de todo usuario que puede acceder a la aplica-
ción.
• dni: atributo identificador, número del Documento Nacional de Identificación
(DNI) del usuario.
• user: alias del usuario.
• password: contraseña utilizada para poder acceder a CONTROLMET .
• nombre: nombre real del usuario.
• apellido-1: primer apellido del usuario.
• apellido-2: segundo apellido del usuario.
• telefono: número de contacto.
• email: correo electrónico utilizado por el usuario dentro de la empresa MS.
fichero: guarda datos identificativos de cada fichero de entrada.
• id-fichero: atributo identificador, asignado automáticamente por el sistema.
• nombre-fichero: nombre del fichero.
• descripcion-fichero: breve descripción sobre el asunto tratado en el archivo.
• id-subproducto: identificador del subproducto con el que está relacionado.
• fecha: momento de inserción del fichero al sistema.
• fich-entrada: ruta donde se encuentra almacenado el archivo.
• categoria: indica la categoria del producto relacionado, pudiendo tomar dos
únicos valores: Estático o Dinámico.
producto: almacena los posibles Productos financieros que analiza la herramienta.
• id-producto: atributo identificador, generado de forma automática.
• nombre-producto: nombre del producto financiero.
subproducto: guarda el desglose de subproductos que trata la herramienta.
• id-subproducto: clave primaria, asignada por el sistema.
• nombre-subproducto: nombre del subproducto financiero.
32
• id-producto: número identificador del producto financiero con el que está re-
lacionado.
atributo: conjunto de posibles atributos que puede contener un fichero de entrada,
ya sea de tipo Estático o Dinámico.
• id-atributo: atributo identificador, asignado automáticamente por el sistema.
• nombre-atributo: nombre propio del atributo.
• descripcion-atributo: breve descripción sobre que abarca dicho atributo.
atributo-estatico: agrupación de los atributos de un fichero ya cargado, de categoría
Estático.
• id: atributo identificador, fijado por el sistema.
• id-fichero: número identificativo sobre el fichero fuente del que procede.
• id-atributo: identificador del atributo que se trata.
• valor-atributo: valor concreto que toma el atributo.
atributo-flow: agrupación de los atributos de un fichero ya cargado, de categoría
Dinámico.
• id: atributo identificador, generado automáticamente por la herramienta.
• id-fichero: identificador del fichero fuente del que procede.
• id-atributo: clave del atributo que se trata.
• valor-atributo: valor que toma el atributo.
informe-intermedio-credito: listado de informes realizados por CONTROLMET
respecto al análisis de Préstamos Retail.
• id-informe: atributo identificador, propagado por el sistema.
• nombre-informe: nombre del informe.
informe-intermedio-depo: grupo de informes de Depos generados por la herra-
mienta.
• id-informe: atributo identificador, identificador del informe.
• nombre-informe: nombre del informe.
33
resumen-credito: almacena información relevante de los informes de Préstamos
Retail generados.
• id: atributo identificador, producido automaticamente por el sistema.
• id-resumen: identificador del informe sobre el que procede el dato.
• id-atributo: valor que indica el atributo del que se trata.
• valor-atributo: valor que toma un atributo concreto en un informe concreto.
resumen-depo: guarda datos importantes sobre los informes generados de producto
financiero Depos.
• id: atributo identificador, asignado automaticamente por el sistema.
• id-resumen: identificador del informe sobre el que procede el dato.
• id-atributo: clave del atributo almacenado.
• valor-atributo: valor que toma un atributo concreto en un informe concreto.
A continuación, en la figura 8 puede apreciarse un diagrama con las tablas anterior-
mente citadas y la relación entre ellas.
Figura 8: Diagrama de la BBDD.
34
3.4. Implementación de la herramienta
Gracias al lenguaje Python, el siguiente paso fue programar las distintas funcionali-
dades marcadas como objetivos del proyecto.
Se crearon un total de diecinueve ficheros .py, en los que se separa la parte de interfaz
gráfica de la funcional. Cabe destacar dos en concreto, informes1-Fijo.py e informes-VE,
donde se realizaron algoritmos propios para poder obtener un análisis específico sobre los
datos bancarios que contenían.
A continuación se describe como se procedió cada uno de ellos:
Informes1-Fijo. Incluye el algoritmo más costoso de elaborar debido a su comple-
jidad y a la recursividad de los datos. Su principal objetivo es, dado un importe y
plazos de una operación bancaria, calcular la cuota, duración y pagos a realizar en
cada plazo.
Primero se obtienen los intereses proyectados por cada mes y el total:
intPi =1
1 + 0.0212
i
intPTotal =
i=plazos∑
i=0
intPi
Para así poder obtener la cuota de la operación:
cuota =importe
intPTotal
A continuación se calcula el Esquema de amortización, o calendario de pagos, que
consta de tres partes:
• Pago de intereses: intereses que se pagan durante el mes i.
◦ si i = 1: pagosInt1 = importe ∗ 0.0212
◦ si i > 1: pagosInti = ppalOut1i−1 ∗ 0.0212
El valor ppalOut1 no esta definido aún, pero se hablará de él unos pasos más
adelante.
35
• Pago de principal: cantidad del importe original pagado durante el mes i, don-
de i es mayor o igual a uno.
pagosPrinci = cuota− pagosInti
• Pago total: suma del pago de intereses y de principal en el mes i, tal que i
mayor o igual a uno.
pagosTi = pagosPrinci + pagosInti
El siguiente paso es obtener el Principal Outstanding, o cantidad que queda por
pagar de la operación sin contar los intereses por cada mes del plazo establecido.
Por petición de la empresa sólo se calculará hasta el mes doce, excepto su primera
fila que se cuantificará para el total de plazos de los que se dispone.
Pero para poder obtenerlo es necesario conseguir once operaciones ficticias, una
menos que el número de meses de un año. Una operación ficticia tiene una estruc-
tura similar al Esquema de amortización, pero añade una fila de Principal Outstan-
ding y varía la forma de calcular los distintos valores.
Dichas operaciones ficticias tienen un dato del que partir que es:
• si el número del mes es igual a uno: op1 = pagosPrinc1
• si el número del mes es mayor que uno: opi =∑i
i=1 oPFi−1
Por lo tanto, la forma de obtener estas operaciones es la siguiente:
• para el primer mes:
pagosIntF ict1 = op1 ∗ 0.02
12
pagosTF ict1 =op1
intPTotal
pagosPrincF ict1 = pagosTF ict1 − pagosIntF ict1
pagosOutF ict1 = op1 − pagosPrincF ict1
• para el resto de meses i:
pagosIntF icti = pagosTF icti ∗ 0.02
12
36
pagosPrincF icti = pagosPrincF icti−1 − pagosIntF icti
pagosTF icti = pagosPrincF icti + pagosIntF icti
pagosOutF ict1 = pagosTF icti−1 − pagosPrincF icti
Ahora puede obtenerse el Principal Outstanding:
• Su primera parte corresponde con los pagos principales del Esquema de amor-
tización.
• La segunda, incumbe el valor ppalOut1 también calculado en el Esquema de
amortización. Pero debe asignarse un valor a ppalOut11, este es:
ppalOut11 = importe− pagosPrinc1
• Los puntos restantes, un total de once, se calculan de manera similar entre
ellos. Por ejemplo, la tercera parte serán once valores, donde cada uno es el
resultado de sumar el pago principal y Principal Outstanding del mes para
cada una de cada una de las operaciones ficticias. El cuarto punto tendrá diez
valores, sumando dichos campos del mes dos de cada una de las operaciones
ficticias. Así hasta que en el treceavo, sólo habrá un valor que sume el pago
principal y principal outstanding del mes once de la operación ficticia uno.
Otros datos a enseñar son los relacionados con los interes generados, calculados
también para los doce primeros meses. Constan de operación principal (los mismos
valores que en los pagos de interés del Esquema de amortización), nuevo negocio
(capital dirigido a nuevos Productos financieros) y el total de ambos campos.
Para calcular los valores de nuevo negocio, cada mes se obtiene de forma distinta
pero entre ellos la cuenta realizada guarda relación. Para el primer mes el valor
corresponde al pago de interés del mes uno de la operación ficticia uno; en el mes
dos será la suma del pago de interés del mes dos de la operación ficticia uno con
el pago de interés del mes uno de la operación ficticia dos; el mes tres corresponde
a la suma del pago de interés del mes tres de la operación ficticia uno, el pago de
interés del mes dos de la operación ficticia dos y el pago de interés del mes uno de
la operación ficticia tres; y así sucesivamente con los nueve meses restantes.
37
Por último se calcula la duración de la operación:
duracion =
∑i=plazosi=1
i∗pagosTi
12
importe
Todos los cálculos explicados se mostrarán de forma más visual en un fichero excel.
Infomes-VE. En este fichero se analiza la métrica financiera Valor Económico y
para ello se estudian dos ficheros de entrada, resultado de informes1-Fijo, uno de
Préstamos Retail y otro de Depos, a partir de ahora denominados activo y pasivo
respectivamente. De cada uno de estos informes se extrae su duración, precio y TIR
(la rentabilidad que genera un proyecto).
En primer lugar, tanto para el activo como el pasivo, se calcula la duración mo-
dificada:
dM =duracion
1 + TIR
Y con ello, el impacto del Valor Económico que consta de subidas y bajadas:
subidas = [(−precioActivo)∗dMActivo∗0.01]+[precioPasivo∗dMPasivo∗0.01]
bajadas = [precioActivo∗dMActivo∗0.01]−[(precioPasivo)∗dMPasivo∗0.01]
Este último resultado, junto con un resumen de la información más importante del
activo y pasivo, se mostrará en un pdf para que el usuario pueda comprender la
conclusión obtenida.
3.5. Ejecución de CONTROLMET
Por propia petición del equipo de MS, para poder utilizar CONTROLMET desde la ter-
minal de comandos se escribirá: python ../../CONTROLMET/Code/main.py; descargando
previamente la carpeta con el nombre CONTROLMET de la nube de la empresa.
Esta solución se debe a que los ordenadores de la propia empresa tienen problemas
al reconocer ficheros de extensión .exe o .bat, los cuales harían más sencilla la forma de
acceder a CONTROLMET .
38
4. NAVEGANDO EN LA APLICACIÓN
Durante este capítulo se hará una ruta guiada por la interfaz, analizando de forma
visual que puede hacer un usuario .
En primer lugar al acceder a la aplicación, el usuario se encontrará con la ventana de
Log in donde se le solicita el nombre de usuario y contraseña.
Figura 9: Ventana de Log in.
Si no se tiene una cuenta en CONTROLMET se podrá pulsar en el botón No soy usuario
visible en la figura 10, que mostrará un aviso de cómo actuar para poder tener acceso.
Figura 10: Mensaje mostrado al pulsar el botón No soy usuario de la ventana Log in.
Otro factor a tener en cuenta es que si se intentase acceder a la aplicación sin introducir
los datos o con datos no registrados, aparecerían los mensajes de las figuras 11 y 12
respectivamente.
Algo curioso es que si accede con un usuario especial, altaUsuario, se llegará a la ventana
utilizada para dar de alta a un usuario, imagen 13. El hecho de ser de acceso restringido
hace que sólo aquellas personas con poder de administrador puedan dar entrada al uso de
la herramienta.
39
Figura 11: Mensaje si se quiere acceder a la aplicación sin introducir los datos de usuario.
Figura 12: Mensaje que indica que el nombre de usuario o contraseña son incorrectos.
Figura 13: Ventana de Alta de Usuario
Como se muestra en la figura 13, para po-
der dar de alta a un usuario habrá que introducir
su DNI, nombre de usuario, contraseña, nom-
bre real de la persona, primer y segundo ape-
llido, teléfono de contacto y correo electróni-
co. Completar todos los campos es de carácter
obligatorio, si no se hiciese al pulsar el botón
Registar usuario el usuario obtendrá un aviso
donde se le indicará que debe rellenar todos los
campos para poder continuar.
Al escribir todos los valores y dar al botón ci-
tado, se añadirán dicha información a la BBDD
y se mostrará un mensaje indicando que la ope-
ración se ha ejecutado con éxito, junto a la pre-
gunta de si se quiere dar de alta a más usuarios.
En el caso de contestar que si, los campos de la
ventana se vaciarían, preparándose así para po-
der escribir nuevos datos. Si se contesta que no
se producirá el mismo efecto que si se pulsase
sobre el botón Volver a Log in, se volverá a la ventana de Log in (figura 9).
40
Volviendo a la pantalla de Log in, si se introduce cualquier otro nombre de usuario,
dado de alta en la herramienta, se saltará a la ventana de inicio de CONTROLMET , imagen
14.
Figura 14: Ventana de inicio.
Como puede apreciarse, en el centro de la pantalla aparece el logotipo de la aplicación y
un mensaje de bienvenida. En la parte inferior se situan dos botones, Cerrar sesión y Salir
de CONTROLMET, para cerrar sesión y volver a la pantalla de Log in, y para salir de la
aplicación respectivamente. Además en la parte superior, y común a todas las ventanas de
aquí en adelante, aparece una barra de menú con tres opciones:
Archivo: sus opciones más básicas serán poder cerrar sesión y salir de la aplica-
ción, seguidas de abrir o eliminar un fichero. Estas dos últimas abrirán una pantalla
emergente mostrando la carpeta que contiene los ficheros de CONTROLMET; la
única diferencia entre ellas será el título de la ventana, Seleccione fichero a abrir o
Seleccione fichero a eliminar, y la acción que conlleva cada una.
41
Figura 15: Ventana emergente al seleccionar en el menú Abrir fichero.
Pero la elección más destacable es Añadir fichero. Da acceso a la pantalla mostra-
da en la figura 16, donde escogiendo un fichero (que debe seguir las pautas de la
sección 3.2) e incluyendo información sobre él (una breve descripción de que con-
tiene, el subproducto financiero relacionado y la categoria del producto), se añadirá
el fichero al sistema y se guardará su información en la BBDD.
Si faltasen datos por completar, se avisará al usuario de que debe rellenar todos; y
podrá volverse a la ventana de inicio si se pulsa sobre el botón Volver a Inicio.
Informes: este desplegable sólo tiene una posibilidad, Obtener Informe, que abre la
ventana con dicho nombre. Como primera posibilidad da la oportunidad de abrir
un informe generado con anterioridad por la herramienta, y si no de crear un nuevo
informe.
Para crear nuevos dossieres, en primer lugar se escogerá una de las tres opciones
posibles de producto: Préstamos Retail, Depósitos o Valor Económico. Cada una
de ellas tiene un número diferente de ficheros que deben seleccionarse para poder
realizar el informe, cinco, cuatro y dos respectivamente. A continuación se indicará
el tipo de informe que desea obtenerse: Crédito a tipo fijo, Depósito a tipo fijo, o
Conclusión Valor Económico a tipo fijo. El último paso será pulsar el botón Obte-
ner informe, que indicará que los documentos han sido creados con éxito y donde
42
Figura 16: Ventana de Añadir fichero.
se almacenan. De nuevo hay un botón en la parte inferior a la izquierda que se podrá
pulsar si se desea volver a la pantalla de inicio.
Figura 17: Ventana de Obtener informe.
43
Destacar, como es visible en la imagen 18, que al seleccionar el producto se mos-
trará en pantalla tanto el número de ficheros que ya han sido seleccionados como el
número total que deben seleccionarse.
Figura 18: Ventana de Añadir fichero.
Ayuda: última opción de la barra del menú con tres posibilidades.
En primer lugar está Acerca de ..., que muestra la pantalla emergente de la figura
19, indicando información sobre CONTROLMET .
Figura 19: Ventana emergente de Acerca de ....
También está la opción Ayuda, que indica con quien contactar si se tienen proble-
mas con la aplicación.
44
Figura 20: Ventana emergente de Ayuda.
Y en último lugar, Datos de usuario, una nueva ventana donde el usuario podrá ver
todos sus datos registrados. Como puede apreciarse en la imagen 21, aparece el bo-
tón Volver a inicio (con la misma utilidad que en otras ventanas) y el de Modificar
datos, que lleva a la ventana con dicho nombre.
Figura 21: Pantalla Datos de usuario.
Modificar usuario ayudará al usuario a modificar cualquiera de sus datos, o todos
ellos, siempre que introduzca su contraseña actual para verificar la variación. Una
vez se hayan cambiado los campos deseados, podrán visualizarse de nuevo todos
sus datos clicando el botón Mostrar datos de Usuario.
45
Figura 22: Ventana Modificar datos de usuario.
46
5. PRUEBAS REALIZADAS
Tras desarrollar e implementar CONTROLMET , se realizaron diferentes tipos de prue-
bas para comprobar que el comportamiento de la aplicación era el esperado.
5.1. Pruebas unitarias
Como pruebas unitarias se realizaron las siguientes:
Prueba U.1: Comprobar que el método añadir de la clase AltaUsuario funcionacorrectamente.El método recibe todos los campos que forman un usuario (dni, nombre de usua-
rio, contraseña, nombre de la persona, sus dos apellidos, teléfono y email) y debe
añadirlos a la BBDD de la aplicación si todo ha ido bien.
Prueba U.2: Comprobar que el método obtenerNombre de la clase Añadir-fichero funciona correctamente.El método recibe la ruta donde se encuentra un fichero y tendrá que devolver úni-
camente el nombre del fichero.
Prueba U.3: Comprobar que el método revisionCampos de la clase Añadir-fichero funciona correctamente.Se tiene que comprobar que todos los campos de entrada no son vacíos, devolviendo
uno si es así.
Prueba U.4: Comprobar que el método añadir de la clase Añadir-fichero fun-ciona correctamente.Si funciona correctamente, se introducirán en la BBDD los datos relacionados con
un fichero, pasados como parámatros.
Prueba U.5: Comprobar que el método insertarAtrib de la clase Añadir-ficherofunciona correctamente.Lee el fichero de entrada y tendrá que extraer los campos que contiene para alma-
cenarlos en la BBDD como atributos relacionados a ese fichero.
47
Prueba U.6: Comprobar que el método mostrar de la clase DatosUsuario fun-ciona correctamente.Si hay un correcto funcionamiento, el método devolverá todos los datos relaciona-
dos al usuario pasado como argumento.
Prueba U.7: Comprobar que el método paso1 de la clase Informes-VE funcionacorrectamente.Comprobar que, teniendo como entrada tres datos, se calcula correctamente la du-
ración modificada y la sensibilidad.
Prueba U.8: Comprobar que el método paso2 de la clase Informes-VE funcionacorrectamente.Teniendo como entrada un precio y una duración modificada, debe obtenerse una
nueva duración.
Prueba U.9: Comprobar que el método paso3 de la clase Informes-VE funcionacorrectamente.Debe obtenerse un valor de subida y otro de bajada a partir de los valores y dura-
ciones pasados como parámetro.
Prueba U.10: Comprobar que el método ejecutar de la clase Informes-VE fun-ciona correctamente.El método recibe como parámetros datos relevantes de dos ficheros, y deberá ob-
tener un informe en formato pdf analizando dichas características para la métrica
financiera Valor Económico.
Prueba U.11: Comprobar que el método obtenerNombre de la clase Informesfunciona correctamente.Al igual que en la prueba U.2, se devolverá el nombre del fichero cuya ruta se pasa
como parámetro.
Prueba U.12: Comprobar que el método abrirInforme de la clase Informes fun-ciona correctamente.Teniendo como parámetro la ruta de un fichero, el método tendrá que abrirlo desde
la aplicación de Microsoft Excel.
Prueba U.13: Comprobar que el método informe1 de la clase Informes funcionacorrectamente.
48
Comprobar que se realiza un análisis sobre los ficheros pasados como argumento,
teniendo en cuenta el tipo de informe indicado.
Prueba U.14: Comprobar que el método informe2 de la clase Informes funcionacorrectamente.El método debe preparar los datos para que pueda ejecutarse el método de la prueba
U.10 correctamente.
Prueba U.15: Comprobar que el método calculoOpFicticia de la clase Informe1-Fijo funciona correctamente.Desde un valor de partida, pasado como parámetro, el método debe calcular una
operación bancaria ficticia.
Prueba U.16: Comprobar que el método bucle-aux de la clase Informe1-Fijofunciona correctamente.Calculará valores denominados como excepcionales, necesarios para la elaboración
de un informe, a partir de sus dos parámetros de entrada.
Prueba U.17: Comprobar que el método ejecutar de la clase Informe1-Fijo fun-ciona correctamente.A partir de los parámetros de entrada, se obtendrán todos los resultados necesarios
para obtener un informe a tipo fijo.
Prueba U.18: Comprobar que el método generarExcel de la clase Informe1-Fijo funciona correctamente.Este método mostrará en un fichero excel los resultados del informe calculado,
teniendo en cuenta los parámetros de entrada.
Prueba U.19: Comprobar que el método almacenar de la clase Informe1-Fijofunciona correctamente.Si funciona correctamente, el método guardará en la BBDD la información pasada
como parámetro según el tipo indicado.
Prueba U.20: Comprobar que el método acceso de la clase Login funciona co-rrectamente.Teniendo como parámetros un nombre de usuario y una contraseña, el método debe
comprobar si dicho usuario pertenece a la información incluida en la BBDD.
49
Prueba U.21: Comprobar que el método revision de la clase Login funcionacorrectamente.El método devolverá uno si el nombre de usuario y la contraseña recibidos como
argumentos no son vacíos.
Prueba U.22: Comprobar que el método esAlta de la clase Login funciona co-rrectamente.Analizará si el nombre de usuario es el específico para poder acceder a dar de alta
a un usuario.
Prueba U.23: Comprobar que el método notVacio de la clase ModificarUsuariofunciona correctamente.Si todos los parámetros de entrada son cadenas vacías, el método tendrá que devol-
ver -1.
Prueba U.24: Comprobar que el método revision de la clase ModificarUsuariofunciona correctamente.Analizará si la contraseña pasada como parámetro coincide con el nombre de usua-
rio, también parámetro de entrada del método.
Prueba U.25: Comprobar que el método update de la clase ModificarUsuariofunciona correctamente.Su objetivo será actualizar todas aquellas cadenas, no vacías, pasadas como pará-
metros como información del usuario en la BBDD.
Prueba U.26: Comprobar que el método borrarFichero de la clase Menu fun-ciona correctamente.El método deberá borrar el fichero pasado como parámetro.
5.2. Pruebas de integración
Respecto a las pruebas de integración:
Prueba I.1: Realizar Log in en la aplicación.Un usuario introducirá su nombre de usuario y contraseña para entrar en la apli-
50
cación. El resultado será que el usuario se encontrará en la pantalla de inicio de la
aplicación.
Prueba I.2: Intentar hacer Log in sin introducir la contraseña.Un usuario introducirá su nombre de usuario, pero no su contraseña, para acceder
a la aplicación. Como resultado aparecerá un mensaje de error indicando que de-
ben introducirse tanto el nombre de usuario como la contraseña para poder utilizar
CONTROLMET .
Prueba I.3: Probar a realizar Log in sin introducir el usuario.Un usuario sólo introducirá su contraseña, y como en la prueba I.2, se mostrará un
error indicando que deben introducirse tanto el nombre de usuario como la contra-
seña para poder utilizar CONTROLMET .
Prueba I.4: Tratar de hacer Log in sin introducir ni la contraseña ni el usuario.Un usuario intentará acceder a la herramienta sin introducir su nombre de usuario
ni contraseña. Lo que ocurrirá será que obtendrá un mensaje de error indicando que
debe introducir dichos campos.
Prueba I.5: Elegir la opción No soy usuario.Si un cliente no está registrado, pulsará el botón No soy usuario. Se mostrará en
pantalla un mensaje con el correo del administrador de la aplicación para que con-
tacte con él.
Prueba I.6: Acceder a la opción de dar de alta a un usuario.
Un usuario introduce un nombre de usuario y contraseña concreto para poder dar
de alta a un usuario. El resultado será que se encontrará en la ventana de poder dar
de alta a un usuario.
Prueba I.7: Dar de alta a un usuario sin introducir ningún campo.El usuario da de alta a un usuario sin haber introducido ninguno de los campos
solicitados. En este caso la aplicación mostrará un mensaje indicando que todos los
campos deben ser rellenados para poder continuar.
Prueba I.8: Dar de alta a un usuario introduciendo algunos campo.Se da de alta a un usuario sin introducir todos los campos solicitados. CONTROL-
MET pedirá que se rellenen todos los parámetros.
51
Prueba I.9: Dar de alta a un usuario introduciendo todos los campo.Tras escribir todos los campos, el usuario registra un nuevo usuario. Se indicará que
se ha dado de alta con éxito y se preguntará si quiere añadirse algún usuario más: si
es así se quedará en la misma ventana, si no volverá a la pantalla de Log in.
Prueba I.10: Interactuar con el botón Volver a Log in desde la ventana de darde alta a un usuario.El usuario pulsa dicho botón, y el resultado será que vuelve a la pantalla de Log in.
Prueba I.11: Pulsar el botón ’Cerrar sesión’ en la pantalla de inicio.El usuario clica el botón ’Cerrar sesión’ desde la pantalla de inicio. Lo que sucederá
será que, tras comprobar que realmente se quiere hacer dicha acción, se volverá a
la pantalla de Log in.
Prueba I.12: Accionar el botón Salir de CONTROLMET en la pantalla de inicio.Un usuario pulsa el botón Salir de CONTROLMET en la pantalla de inicio. La
aplicación preguntará si está seguro de querer salir, si es así cerrará al completo la
herramienta, si no permanecerá en la misma ventana.
Prueba I.13: En la barra de menú, en la opción de Archivo, seleccionar Añadirfichero.El usuario elige esta opción en el menú. La aplicación cambiará de la pantalla en la
que se encuentre a la de Añadir fichero
Prueba I.14: Desde el menú, escoger la opción Abrir fichero, parte de Archivo.Un usuario escoge la opción Abrir fichero desde la opción Archivo del menú. El pro-
grama abrirá una ventana mostrando las carpetas donde se encuentran los ficheros
generados por la herramienta y los subidos a la aplicación; al entrar en cualquiera
de ellas y clicar sobre uno de los ficheros excel, éste se abrirá en la propia aplicación
de Microsoft Excel.
Prueba I.15: En la barra de menú, en la opción de Archivo, seleccionar Elimi-nar fichero.En este caso el usuario elige la opción Eliminar fichero en Archivo desde el menú.
Aparecerá una ventana con las carpetas de ficheros que almacena CONTROLMET ,
y al seleccionar uno de los ficheros, lo eliminará.
52
Prueba I.16: Desde el menú, en la opción Archivo, seleccionar Salir de CON-TROLMET.Un usuario acciona la opción de Salir de CONTROLMET en el menú. Como re-
sultado se obtiene el mismo que en la prueba I.12, se preguntará si está seguro de
querer salir, si es así cerrará al completo la herramienta, si no permanecerá en la
misma ventana.
Prueba I.17: En la opción de Archivo del menú, escoger ’Cerrar sesión’.El cliente elige ’Cerrar sesión’ en el menú. Tras confirmar que se quiere cerrar
sesión, se cambiará de la ventana actual a la de Log in, como en la prueba I.11.
Prueba I.18: El usuario escoge la opción Obtener informe, desde Informes en labarra del menú.El cliente escoge dicha opción en el menú, y con ello se cambia de la ventana en la
que se encontrase a la de Obtener informe.
Prueba I.19: En la barra del menú, desde la opción Ayuda, escoger la opciónAcerca de ....El usuario escoge dicha opción, y con ello se muestra un mensaje en el que se indica
información sobre CONTROLMET .
Prueba I.20: Desde Ayuda en el menú, el usuario escoge la opción Ayuda.Un usuario escoge la opción Ayuda desde Ayuda en la barra del menú. En pantalla
se mostrará un mensaje con el correo del administrador para que contacte con él.
Prueba I.21: En el menú en la opción Ayuda, el usuario escoge Datos de usua-rio.El usuario decide escoger dicha opción. Como consecuencia se cambia de la venta-
na actual a una en la que se muestran sus datos de usuario.
Prueba I.22: Pulsar el botón Volver a Inicio de la ventana.El usuario clica el botón Volver a Inicio desde la ventana de Añadir fichero, Obtener
informe o Datos de usuario. Desde cualquiera de ellas se pasará a la ventana de
inicio de la aplicación.
Prueba I.23: Añadir un fichero al sistema sin introducir los campos que apa-recen en pantalla.Un usuario quiere añadir un fichero al sistema, pero lo hace sin introducir ninguno
53
de los campos. Se mostrará un error indicando que debe seleccionarse un fichero a
introducir.
Prueba I.24: Al añadir un fichero al sistema, el usuario no introduce alguno delos campos solicitados.Un usuario quiere añadir un fichero pero olvida completar alguno de los campos.
CONTROLMET indicará con un mensaje de error que campo falta por introducir.
Prueba I.25: Un usuario añade un fichero al sistema, introduciendo todos loscampos solicitados.Un usuario completa todos los campos mostrados en pantalla para añadir un fichero
al sistema. Como respuesta, la herramienta mostrará un mensaje indicando que la
operación se ha realizado con éxito.
Prueba I.26: Un usuario abre un informe existente desde la ventana de Obtenerinforme.Un usuario pulsa el botón abrir en la ventana Obtener informe. Como resultado
se abrirá una ventana emergente mostrando el contenido de la carpeta donde se
almacenan los informes ya generados, y si se escoge uno éste se abrirá, pudiendo
ver su contenido.
Prueba I.27: El cliente genera un nuevo informe indicando el contenido de loscampos visibles en pantalla.El usuario quiere generar un nuevo informe y para ello rellena todos los campos
que se muestran en pantalla. Para validar la acción, se muestra un mensaje en pan-
talla indicando que todo ha funcionado correctamente y donde se ha guardado el
informe.
Prueba I.28: Un usuario quiere generar un nuevo informe pero escoge el nú-mero correcto de ficheros con subproductos.Un usuario quiere realizar un nuevo informe pero no escoge el total de ficheros es-
tablecidos a analizar según el producto financiero escogido. El sistema devolverá
un mensaje de error señalando que debe escoger el número de ficheros mostrado en
pantalla.
Prueba I.29: Un usuario quiere generar un nuevo informe sin decir cuál enconcreto.
54
Un usuario va a generar un nuevo informe, y tras seleccionar el producto y los sub-
productos que deben indicarse para poder continuar, olvida elegir el tipo de informe
a generar y pulsa el botón de Obtener informe. Como resultado aparece un mensaje
en pantalla indicando que debe seleccionarse el informe que desea obtenerse.
Prueba I.30: Un usuario quiere cambiar sus datos de usuario desde la ventanaDatos de usuario.Mientras un usuario está en la ventana de Datos de usuario decide cambiar alguno,
o todos, sus datos de usuario por lo que clica el botón Modificar datos. La aplicación
le llevará a una nueva ventana, Modificar datos.
Prueba I.31: Desde la ventana de Modificar datos se pulsa el botón Modificardatos sin haber introducido ningún campo.Un usuario, sin haber introducido ningún valor en la ventana, pulsa el botón Modi-
ficar datos. En pantalla aparecerá un mensaje indicando que no se ha introducido
ningún parámetro a modificar.
Prueba I.32: Un usuario introduce uno o varios datos de usuario a modificar,pero no introduce la contraseña actual.Un usuario escribe varios campos que desea cambiar sobre sus datos actuales pero
olvida introducir la contraseña que usa actualmente. CONTROLMET indicará que
debe introducirse la contraseña actual para poder continuar.
Prueba I.33: Un usuario introduce uno o varios datos de usuario a modificar,incluyendo su contraseña actual.Un usuario rellena uno o varios campos que desea modificar, además de la contra-
seña que utiliza actualmente. Se mostrará un mensaje señalando que los cambios se
han realizado correctamente.
5.3. Pruebas del sistema
Para realizar estas pruebas se contó con la ayuda de dos miembros de MS, ambos
involucrados en el sector bancario. Tras ponerles en situación y explicarles brevemente
como funcionaba el ordenador con el que se realizó la prueba, se les entregó una lista
55
de objetivos, iguales para los dos participantes para poder comparar los resultados, que
debían intentar cumplir. Esta lista es la siguiente:
1. Abrir la aplicación.
2. Acceder a ella con el usuario prueba y contraseña prueba.
3. Ver los datos de usuario.
4. Modificar el segundo apellido introducido como dato de usuario al suyo propio.
5. Añadir el fichero excel , disponible en el escritorio, a la herramienta con nombre
EstoEsUnaPrueba.xlsx.
6. Obtener información sobre la aplicación.
7. Generar un informe sobre Valor Económico a partir de los informes Informe546885.xlsx
e Informe964382.xlsx.
8. Salir de la aplicación sin pulsar la x roja de la esquina superior derecha.
Si tení an alguna duda al comprender las tareas mandadas se les resolvió y acto seguido
comenzó la prueba con una duración de veinte minutos. Destacar que según realizaban
las tareas debían indicar en una escala del uno al diez cómo de complicadas les habían
resultado.
Ambas personas acabaron el ensayo en menos de quince minutos y concluyeron en
que fue sencillo realizar todas las labores asignadas. Como recomendaciones señalaron
cambiar los colores de la interfaz y añadir en la ventana de inicio el logotipo de la aplica-
ción, lo que se tuvo en cuenta.
56
6. LÍNEAS FUTURAS
Durante el desarrollo de este proyecto ha habido ideas de mejora o recortes en posibles
funcionalidades, principalmente por cuestión de tiempo.
En un futuro al seguir trabajando con CONTROLMET , como sugerencias de mejora
se plantean las siguientes:
Al añadir ficheros de entrada al sistema, realizar una revisión sobre sus atributos,
comprobando que siguen las especificaciones definidas en la subsección 3.2.
Cada vez que se añade un fichero nuevo, comprobar que éste no se ha añadido con
anterioridad antes de proseguir.
Mejorar la seguridad en la BBDD, principalmente en el almacenamiento de contra-
señas.
Aumentar el número de Productos financieros, para así analizar todos los subpro-
ductos definidos en la subsección 3.1.
Obtener reportes sobre más Métricas financieras.
Migrar la aplicación a una aplicación web.
57
7. CONCLUSIONES
CONTROLMET acaba de llegar al mundo empresarial cumpliendo su principal objeti-
vo, analizar Métricas financieras. Se ha comenzado estudiando el Valor Económico, pero
como se indica en las líneas futuras (capítulo 6) se pretende analizar muchas más.
Para obtener los informes que muestran dicho análisis se realizó un gran período de
estudio sobre los datos que podría ser útil analizar, además de interesar a la empresa, y
cómo trabajar con ellos. Esta etapa fue la que más tiempo requirió al estar implicadas
personas que trabajan en varios continentes; el resultado pueden verse en la subsección
3.1.
Gracias a este Trabajo de Fin de Grado he adquirido nuevos conocimientos, como
el manejo de interfaces gráficas y uso de lenguajes de programación que no conocía en
profundidad, desde un punto de vista técnico; pero también entendimiento en el sector
bancario. El mundo financiero tiene mucha terminología propia y depende en gran media
del día a día, y por ello en un primer momento es difícil de comprender.
La parte más compleja de implementar fue la generación de los informes en formato
excel y pdf ya que nunca había trabajo con librerías para crear este tipo de documentos,
pero por suerte nos encontramos en un mundo digitalizado en el que encontrar documen-
tación sobre cómo poder obtener estos formatos es sencillo.
Por último quiero destacar que el haber podido realizar este proyecto en la empresa MS
me ha ayudado a comprender que en la vida laboral es muy importante la comunicación
entre equipos y que no todo es tan sencillo como una práctica que se nos pueda pedir en
la universidad.
59
REFERENCIAS
[1] Bank for International Settlements. (2015, Sept 11). Consultative Do-
cument. Interest rate risk in the banking book [Online]. Available:
https://www.bis.org/bcbs/publ/d319.pdf.
[2] P. N. Roldán. Margen financiero - Definición, que és y concepto [Online]. Available:
https://economipedia.com/definiciones/margen-financiero.html.
[3] IBM Knowledge Center. Métricas financieras [Online]. Avai-
lable: https://www.ibm.com/support/knowledgecenter/es/SSFCZ3-
10.5.0/com.ibm.tri.doc/sfp-metrics/r-ctr-financial-metrics.html.
[4] J. Padilla. (2018, Nov 8). ¿Qué es ALM? ¿Y Riesgo Estructural? [Online]. Available:
https://blog.mirai-advisory.com/que-es-alm-y-riesgo-estructural/
[5] M. Marrero. (2017, Dic 14). La visión “end to end” y su impor-
tancia en la gestión estratégica de las empresas [Online]. Available:
http://momomarrero.com/2017/12/14/la-vision-end-to-end-y-su-importancia-en-
la-gestion-estrategica-de-las-empresas/
[6] A. Medina. (2011, Jun). Valor económico de la empresa: alcances y
consideraciones. Contabilidad y Negocios [en linea][Online]. Available:
https://www.redalyc.org/html/2816/281622822004/
[7] Management Solutions. (2019). Servicios profesionales de consultoría [Online].
Available: https://www.managementsolutions.com/index.php/es/inicio
[8] Universidad Pontficia Comillas. Management Solutions [Online]. Available:
https://www.comillas.edu/en/foro-de-empleo-imagenes/management-solutions
[9] SQLite. What Is SQLite? [Online]. Avaible: https://www.sqlite.org/
[10] Indizen. Cálculo de CVA [Online]. Avaible: https://indizen.com/project/calculo-de-
cva/
[11] WorldVectorLogo. SQLite vector logo [Online]. Avaible:
https://worldvectorlogo.com/es/logo/sqlite
61
[12] SQLite. Featues Of SQLite [Online]. Avaible: https://www.sqlite.org/features.html
[13] SQLiteStudio. About [Online]. Avaible: https://sqlitestudio.pl/index.rvt?act=about
[14] Atareao. (2017, Jun 6). SQliteStudio o como trabajar con SQLite en Ubuntu, Linux,
Mint, etc [Online]. Avaible: https://www.atareao.es/software/ofimatica/sqlitestudio-o-
como-trabajar-con-sqlite/
[15] PythonForBeginners. What is Python[Online]. Avaible:
https://www.pythonforbeginners.com/learn-python/what-is-python/
[16] Kyro. (2010, Mar 17). Archivo:Python-logo-notext.svg [Online]. Avaible:
https://es.wikipedia.org/wiki/Archivo:Python-logo-notext.svg
[17] PythonForBeginners. What Features Does Python Offer? [Online]. Avaible:
https://www.pythonforbeginners.com/learn-python/what-features-does-python-offer/
[18] ABC Tecnologia. (2015, Feb 16)¿Qué es una API y para qué sirve? [Online]. Avai-
ble: https://www.abc.es/tecnologia/consultorio/20150216/abci–201502132105.html
[19] Spyder. Sypder Home[Online]. Avaible: https://www.spyder-ide.org/
[20] Finanzas para mortales. Producto financiero [Online]. Avaible: http://wiki-
finanzas.com/index.php?seccion=Contenido-id=2011C008
[21] Pedrosa, Steven Jorge. Préstamo [Online]. Avaible:
https://economipedia.com/definiciones/prestamo.html
[22] BBVA. Depósito bancario [Online]. Avaible:
https://www.bbva.es/general/diccionario-economico/d/deposito-bancario
[23] Alpari. (2019). ¿Qué es Securities (valores)? [Online]. Avaible:
https://alpari.com/es/beginner/glossary/securities/
[24] Alpari. (2015, Dic 23). ¿Qué es un repo? [Online]. Avaible:
https://www.bbva.com/es/que-es-un-repo/
[25] BusinessDictionary. (2019). What is consumer loan? Definition and meaning [Onli-
ne]. Avaible: http://www.businessdictionary.com/definition/consumer-loan.html
62
[26] Sevilla, Andrés. Depósito bancario. Definición, qué es y concepto [Online]. Avaible:
https://economipedia.com/definiciones/deposito-bancario.html
[27] Chen, James. (2019, May 16) Derivative Definition [Online]. Avaible:
https://www.investopedia.com/terms/d/derivative.asp
[28] Duque Navarro, Jannier. (2016, Nov 24) Análisis vertical o estático [Online]. Avai-
ble: https://www.abcfinanzas.com/administracion-financiera/analisis-financiero/que-
es-un-analisis-vertical-o-estatico
[29] Duque Navarro, Jannier. (2016, Nov 24) Análisis horizontal o dinámico
[Online]. Avaible: https://www.abcfinanzas.com/administracion-financiera/analisis-
financiero/analisis-horizontal
[30] Restrepo, Mariana. (2017, Oct 23) ¿Qué es la TIR y para qué sirve? [Online]. Avai-
ble: https://www.rankia.co/blog/mejores-cdts/3718561-que-tir-para-sirve
63
Este documento esta firmado porFirmante CN=tfgm.fi.upm.es, OU=CCFI, O=Facultad de Informatica - UPM,
C=ES
Fecha/Hora Sun Jun 02 20:56:49 CEST 2019
Emisor delCertificado
[email protected], CN=CA Facultad deInformatica, O=Facultad de Informatica - UPM, C=ES
Numero de Serie 630
Metodo urn:adobe.com:Adobe.PPKLite:adbe.pkcs7.sha1 (AdobeSignature)