Sie sind auf Seite 1von 13

Programación en VBA

Aplicaciones Financieras

Richard P. Pérez Palma Ponce


Parte I:
Grabadora de Macros
Ejemplo 1: Grabadora de Macros (Formatos)

Primera Macro:
Problema Planteado
• Pintar el fondo de los títulos de color azul.
• Pintar la letra de color blanco
• Cambiar la fuente a Cambria

Segunda Macro:
• Graficar los indicadores.
• Los cambios deberán ser realizados para todas las pestañas

• Grabadora de Macros.
Herramientas: • Asignación de Macros a ShortCuts
• Formatos.
• Gráficos.
Ejemplo 2: Grabadora de Macros (Datos de Internet)

Descripción de Datos: En la pagina web: DatosMacro.com presenta un set de variables


macroeconómicas históricas. Una de estas variables es el Rating
otorgado por las agencias FITCH, S&P y Moody’s. Se puede obtener de
la siguiente página: https://www.datosmacro.com/ratings

Problema Planteado
• Con el uso de la grabadora de Macros, descargar el rating soberano
de cada país.
• Realizar las modificaciones necesarias en el editor VBA para hacer
el procedimiento automático.

Herramientas: • Grabadora de Macros.


• Obtener datos de Web.
Parte II:
Programación en VBA
Entorno de desarrollo VBA (IDE)

4
5

1- Ventana Explorador de Proyectos 4- Barra de Menú


2- Ventana de Código 5- Barra de Herramientas
3- Ventana Inmediato 6- Ventana de Propiedades
Tipo de Variables

TIPO DE DATOS ABREVIATURA MEMORIA REQUERIDA RANGO DE VALORES OBSERVACIONES

- 32768 a 32767 ó -
Integer 2.147.483.648 a Uso en contadores, control
% 2 bytes ó 4 bytes según versión
(Entero) 2.147.483.647 según de bucles etc.
versión
- 2147483648 a Igual que integer pero
Long
& 4 bytes ó 8 bytes según versión 2147483647 ó -9,2E+18 a admite un rango más
(Entero largo) 9,2E+18 según versión amplio
- 3,4·1038 Hasta 6 decimales o más
Single
! 4 bytes a según versión. También
(Decimal simple) 3,4·1038 admite enteros
- 1,79·10308 Hasta 14 decimales o más
Double
# 8 bytes a según versión. También
(Decimal doble) 1,79·10308 admite enteros
True False es el valor
Boolean
No tiene 2 bytes o predeterminado y va
(Booleano) False asociado a cero
0
10 bytes + 1 byte por cada
String $ a Texto de longitud variable
carácter 2·109 caracteres
Los del tipo double para
Variant (Object en otras Admite números enteros,
No tiene Variable números o los del tipo
versiones) decimales o texto
string para texto

Fuente: http://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=140:tipos-de-variables-en-visual-basic-
integer-single-double-string-object-boolean-etc-ejemplos-cu00308a&catid=37&Itemid=61
Hoja de Trabajo 01: PBI y Población Total

Se cuenta con dos Base de Datos. Se muestra el crecimiento del PIB (%)
Descripción de Datos:
y la Población Total en el año 2015 para 192 países.

• Crear una lista con los 192 países.


• Crear un módulo que te permita mostrar un mensaje (MsgBox) con
Problema Planteado
los indicadores de PBI y Población.
• Los indicadores deben estar uno debajo del otro.
• El título del MsgBox deberá ser el nombre del país.
• Asignar la macro a un objeto (Autoforma)

• Insertar MsgBox
Herramientas: • Funciones de Excel en VBA (BUSCARV, FORMAT)
• Uso de objetos y propiedades: Sheets, Range, Cells.
• Asignación de Macro a un objeto.
Hoja de Trabajo 02: Utilidad Neta del SF

Descripción de Datos: Se presenta un Excel externo con los Estados Financieros publicados
por la SBS del Sistema Bancario. Se maneja la información desde enero
del 2015 hasta noviembre del 2016

Problema Planteado En la estructura mostrada en el Excel, completar los datos de Utilidad


por Banco para las fechas que el usuario defina.

Herramientas: • Uso de objetos y propiedades: Workbooks, Sheets, Range, Cells.


• Abrir libros de Excel.
• Funciones de Excel en VBA (BUSCARV, FORMAT)
Hoja de Trabajo 03: Simulación Montecarlo

Descripción de Datos: Se tiene el flujo de caja de un proyecto de inversión donde el VAN


estático resulta positivo, es decir, viable. El evaluador ha escuchado
sobre incorporar variabilidad (riesgo) a los supuestos que ha realizado
y desea usar Simulaciones de Montecarlo para este objetivo.

Problema Planteado • Se pide realizar 1000 simulaciones y determinar el valor esperado


del proyecto (VAN) y determinar si al percentil 5% el proyecto es
viable.
• Incorporar variabilidad asumiendo que el crecimiento de la
demanda sigue una distribución normal con media 3% y
desviación estándar 5% y el crecimiento del precio sigue una
distribución uniforme que oscila entre -1&% y 3%,

Herramientas: • Funciones de Distribución


• Bucles: For-Next
Hoja de Trabajo 04: Estadísticos Descriptivos

Descripción de Datos: Se tiene la serie de retornos diarios de una acción de una empresa. Se
está pensando en invertir en dicha acción por lo que se busca conocer el
comportamiento de su distribución.

Problema Planteado • Crear una macro que permita al usuario ingresar un conjunto de
datos para calcular los siguientes estadísticos: Media, Desviación
Estándar, Asimetría, Exceso de Curtosis, Percentil 5%, Percentil 1%.

• Crear una macro que permita al usuario calcular los últimos n


datos para calcular los siguientes estadísticos: Media, Desviación
Estándar, Asimetría, Exceso de Curtosis, Percentil 5%, Percentil 1%.

Herramientas: • Uso del Application.InputBox


• Funciones de Excel en VBA (Application.WorksheetFunction.)
• Ubicar último dato: .End(xlUp).row
Hoja de Trabajo 05: Informe de Commodities

Descripción de Datos: Se tiene los precios de los commodities Cobre, Plata, Oro y Petróleo con
frecuencia diaria desde el año 1997 hasta la fecha.

• Buscar en la pestaña Commodities e identificar si se encuentra la


Problema Planteado fecha seleccionada.
• Proveer el precio de cierre, la variación diaria y mensual del activo
según sea el caso.

• IF-Then-Else Statement
Herramientas: • Select Case- End Select Statemnt
• Función de Excel : MATCH
• Clng, solución para trabajar con fechas.
Hoja de Trabajo 06: Indicadores SBS del SF

Descripción de Datos: En el portal de la SBS, se tiene un histórico de los principales


indicadores de las instituciones financieros (Banca Múltiple)
almacenados en archivos de Excel con frecuencia mensual:
http://www.sbs.gob.pe/app/stats_net/stats/EstadisticaBoletinEstadist
ico.aspx?p=1#

Problema Planteado • Descargar datos históricos del último año. Se deberá almacenar los
indicadores por mes en cada pestaña.
• Generar una macro que limpie las pestañas cuando se solicte.

Herramientas: • Workbooks.Open para Abrir Datos de Internet