280 likes | 514 Views
MATLAB para Economistas(2). José Luis Hueso Matemática Aplicada Universidad Politécnica de Valencia. Itinerario. 1ª Etapa: Invertir en MATLAB 2ª Etapa: MATLAB funciona 3ª Etapa: MATLAB marca la diferencia. Importación de datos de hoja de cálculo Archivos.m Más gráficos de barras
E N D
MATLAB para Economistas(2) José Luis Hueso Matemática Aplicada Universidad Politécnica de Valencia
Itinerario • 1ª Etapa: Invertir en MATLAB • 2ª Etapa: MATLAB funciona • 3ª Etapa: MATLAB marca la diferencia
Importación de datos de hoja de cálculo Archivos.m Más gráficos de barras Recta de regresión Ajuste polinómico Ajuste exponencial La amortización de un préstamo Líneas telefónicas/100h Volatilidad del IGBM Fórmulas de Black-Scholes (opciones sobre acciones) MATLAB funciona
Importar datos de una Hoja de Cálculo • Nombrar el rango a importar: datos • Posición inicial del rango: fila, columna • Guardar el fichero como .wk1: mihoja • Leer los datos desde MATLAB • f=fila-1; c=columna-1; • A=wk1read('mihoja',f,c,'datos')
Exportar una matriz a una Hoja de Cálculo • A=magic(5) • wk1write('Cuadradomagico',A,4,2) Nombre de fichero (.wk1) Matriz a exportar Filas y columnas de margen
Importar de un fichero ASCII • load fichero.txt • Lee filas de datos numéricos separados por espacios. • Admite comentarios precedidos por %. • Genera una variable llamada "fichero".
Gráfico de líneas • load igbm.txt –ascii • plot(igbm(:,2)),hold • plot(igbm(:,2),'ro') • Títulos • title('IGBM del 3/9 al 26/10') • xlabel('Sesión') • ylabel('Índice') • gtext('11 de Septiembre')
Archivos.m • Contienen órdenes de MATLAB. • Se invocan desde la ventana de órdenes, o desde otro archivo.m. • Se editan y graban como ficheros ASCII. • Extienden las funciones definidas en MATLAB.
La amortización de un préstamo Para comprar un piso, pides un préstamo de 10 millones al 10% anual a 15 años. Lo devuelves pagando una cantidad constante al final de cada año. ¿Cuál es esta cantidad? C = 10.000.000 n = 15 r = 0.1 plazo = C.r.(1+r)n/((1+r)n–1)
Función para calcular el plazo function plazo=amortiza(C,n,r) % plazo = amortiza(C,n,r) % C: Importe del préstamo % r: Interés por periodo % n: Número total de periodos j=1+r; plazo=C*r*j^n/(j^n-1);
La amortización de un préstamo ¿Cuánto corresponde a intereses y cuánto a amortización del capital en el pago correspondiente al año t = 1, ..., 15? principal = plazo.(1+r) t – 1 – n interes = plazo – principal
Calculo del interés pagado function[plazo,interes,principal] =amortiza(C,n,r,t) % t:número de pago j=1+r; plazo=C*r*j^n/(j^n-1); principal = plazo.(1+r)^(t–1–n); interes = plazo – principal
Cnrt plazo pago intereses amort. capital Archivos.m de Función function[a,i,p] = amortiza(C,n,r,t) Argumentos de salida Argumentos de entrada Palabra clave Nombre de función
Gráficos de barras múltiples • Vectorializar la función amortiza.m • [a,p,i]=amortiza2(1e7,15,0.1) • Barras adosadas • bar([p',i']), gtext('Intereses') • Barras separadas • bar([p 0 0 0 0 i]) • Barras apiladas • bar([p',i'],'stacked')
Volatilidad del IGBM • Valor del índice • Rentabilidadlogarítmica • Desviación tipica • Volatilidad (t: intervalo entre datos)
Volatilidad del IGBM functionv = volatilidad(S,t) % S: Valores de la acción % t: intervalo de tiempo u = diff(log(S)); s = std(u); v = s/sqrt(t);
Fórmulas de Black-Scholes • Opciones europeas sobre acciones • c: precio de la opción de compra (call) • p: precio de la opción de venta (put) • S: precio de la acción • X: precio de ejercicio • r: tipo de interés libre de riesgo • T: tiempo hasta el vencimiento de la opción • : volatilidad de la acción
Recta de regresión • Nodos: (x1, y1), (x2, y2),..., (xm, ym) • Recta de regresión: • Error cuadrático
Líneas telefónicas • Recta de regresión • x = (1988:1995)' • y = [28.1 30 32.3 34.6 35.3 36.4 37.5 38.5]' • p = polyfit(x,y,1) • yr = polyval(p,x) • plot(x,y,'r*',x,yr)
40 Líneas telefónicas / 100 habitantes 38 36 34 32 30 28 1988 1989 1990 1991 1992 1993 1994 1995 Recta de regresión
Líneas telefónicas • Ajuste polinómico • p = polyfit(x,y,2) • xg = linspace(1988,1995) • yg = polyval(p,xg) • plot(x,y,'r*',xg,yg) • Cambio de origen Estabilidad de los cálculos
Líneas telefónicas / 100 habitantes 40 38 36 34 32 30 28 1988 1989 1990 1991 1992 1993 1994 1995 Regresión parabólica
Ajuste polinómico Mínimo-Cuadrático • Error cuadrático • px = polyval(p,x) • R2 = norm(px-y)^2 • Índice de determinación • I = (norm(px-mean(y))/...norm(y-mean(y)))^2
Grado 4. Índice de determinación: 0.9968 40 38 36 34 32 30 28 -4 -3 -2 -1 0 1 2 3 4 Ajuste Mínimo Cuadrático con MATLAB