MATLAB 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)
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
Archivos.m de Función function [a,i,p] = amortiza(C,n,r,t) Palabra clave Nombre de función Argumentos de entrada Argumentos de salida (Gp:) plazo (Gp:) Cnrt (Gp:) pago intereses amort. capital
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 function v = 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
Fórmulas de Black-Scholes
Líneas telefónicas / 100 habitantes
Nodos: (x1, y1), (x2, y2),…, (xm, ym) Recta de regresión: Error cuadrático Recta de regresión
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)
Recta de regresión (Gp:) 1988 (Gp:) 1989 (Gp:) 1990 (Gp:) 1991 (Gp:) 1992 (Gp:) 1993 (Gp:) 1994 (Gp:) 1995 (Gp:) 28 (Gp:) 30 (Gp:) 32 (Gp:) 34 (Gp:) 36 (Gp:) 38 (Gp:) 40 (Gp:) Líneas telefónicas / 100 habitantes
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
Regresión parabólica (Gp:) 1988 (Gp:) 1989 (Gp:) 1990 (Gp:) 1991 (Gp:) 1992 (Gp:) 1993 (Gp:) 1994 (Gp:) 1995 (Gp:) 28 (Gp:) 30 (Gp:) 32 (Gp:) 34 (Gp:) 36 (Gp:) 38 (Gp:) 40 (Gp:) Líneas telefónicas / 100 habitantes
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 Ajuste polinómico Mínimo-Cuadrático
Ajuste Mínimo Cuadrático con MATLAB (Gp:) -4 (Gp:) -3 (Gp:) -2 (Gp:) -1 (Gp:) 0 (Gp:) 1 (Gp:) 2 (Gp:) 3 (Gp:) 4 (Gp:) 28 (Gp:) 30 (Gp:) 32 (Gp:) 34 (Gp:) 36 (Gp:) 38 (Gp:) 40 (Gp:) Grado 4. Índice de determinación: 0.9968
Transformación de datos