Entradas

Mostrando entradas de noviembre, 2014

Gráficos con fechas en Matlab

Como poner fechas en el eje x, en Matlab

Un problema que suele surgir al trabajar con Matlab, es el de querer colocar el tiempo en el eje x del gráfico de linea. En este documento se muestran dos formas de obtener estos gráficos en Matlab. (La segunda alternativa es mucho mas fácil y general) En la siguiente rutina se muestra como hacerlo, utilizando datos financieros que el fichero descarga automáticamente de Yahoo finance.

Alternativa 1
*----------------------------------------------------------------------------------------

%% Grafico de serie de tiempo
%Cargando bases
clear
conect = yahoo;
   activos={'SPY','GDX'};
   fromdate = '1/01/2011';
   todate = floor(now);
 dates = builduniverse(conect,activos,fromdate,todate);
 [f,c]=size(dates)

%% Grafica de serie de tiempo
ts=dates(:,2:end)
ts1 = timeseries(ts,1:f);

ts1.Name = 'Daily Count';
ts1.TimeInfo.Units = 'days';
ts1.TimeInfo.StartDate =  '01-Jan-2011';     % Set start date.
ts1.T…

Cartera de Mínima Varianza para n Activos en Matlab

%% Modelo Unifactoriales
 % Master en Banca y Finanzas Cuantitativas
 % Nerys Ramirez

%% Cartera minima varianza para n activos
             c = yahoo;
      fromdate = '1/01/2010';
        todate = floor(now);
       activos = {'SPY','GDX','GLD'};
         dates = builduniverse(c,activos,fromdate,todate);

   %Calculando rentabilidades
         returns = diff(log(dates(:,2:end))).*100;
            plot(returns(:,1))

   %Buscando los ponderadores de la cartera
    matrix_cov = cov(returns);
             I = ones(size(matrix_cov,1),1);
W_cart_min_var = (inv(matrix_cov)*I)/(I'*inv(matrix_cov)*I)


%% Versión 1/Nov/2007