Paseos aleatorios en Excel

Paseo Aleatorio

Paseo Aleatorio generado en Excel

En este post trataré de explicar brevemente como generar un paseo aleatorio, también conocido como random walk, con Microsoft Excel 2010 (aunque también funciona en Excel 2007 y, con pequeñas adaptaciones, en versiones anteriores del programa).  Los paseos aleatorios son muy usados en Finanzas ya que muchas variables financieras se comportan como tales.
Un paseo aleatorio es un proceso según el cual el valor en un momento del tiempo de una variable cualquiera, por ejemplo el precio de un activo financiero, yt, puede obtenerse como la suma del valor de esa variable en un momento anterior, yt-1, y una variable aleatoria, εt, cuya esperanza es cero y cuya varianza es constante e igual a σε2. A esta variable aleatoria se le denomina innovación y, a nuestros efectos, podemos identificarla con todo lo que sucede entre el momento t-1 y el momento t que hace que el precio varíe de yt-1 a yt.

Es decir, que yt = yt-1 + εt.  A su vez, yt-1 = yt-2 + εt-1; e yt-2 = yt-3 + εt-2 ; y así sucesivamente hasta llegar a que y1 = y0 + ε1.  Substituyendo recursivamente deducimos que yt = y0 + εt  + εt-1  + εt-2 + … + ε1.  Tenemos que darnos cuenta de que, como la esperanza matemática de todas las innovaciones es cero, el valor esperado de nuestra variable es igual a su valor esperado en el punto de partida; en otras palabras, el precio de nuestro activo financiero no depende del momento de tiempo en que estemos: E[yt] = E[y0 + εt + εt-1  + εt-2 + … + ε1] = E[y0] ∀t (puede suponerse, sin pérdida de generalidad, que la esperanza del valor de la variable en el punto de partida es cero).

No sucede lo mismo con la varianza (ni, consecuentemente, con la desviación típica) de nuestra variable.  Si calculamos la varianza de la expresión anterior, VAR[yt] = VAR[y0 + εt  + εt-1  + εt-2 + … + ε1] = t·σε2.  Aquí debemos aclarar que estamos suponiendo que la varianza del valor de la variable en el punto de partida es cero y, lo que es más importante, que las innovaciones no dependen de las condiciones iniciales, del valor de la variable en dicho punto de partida (y, por lo tanto, la covarianza entre dicho punto de partida y la innovación de cualquier período es nula).  Es precisamente de la expresión anterior de donde obtenemos la conocida regla de que la volatilidad de un activo financiero, medido por su desviación típica (la raíz cuadrada de la varianza), es proporcional a la raíz cuadrada del tiempo (véase este post donde nos referimos a esta práctica regla).

Para construir nuestra hoja de Excel debemos tener en cuenta las características que acabamos de comentar para un paseo aleatorio.  En concreto, necesitaremos generar números aleatorios entre 0 y 1, para obtener en base a ellos, el valor de la variable εt para un momento t determinado.  Para esto necesitaremos  saber cómo se distribuyen los εt.  Podemos suponer que lo hacen normalmente, con media cero y varianza σε2.

En la hoja podemos definir tanto el valor inicial de la variable, y0 (celda D5), como el valor de la varianza de las innovaciones, σε2 (celda B2).  En base a esos dos valores generamos un paseo aleatorio de 100 pasos, combinando la función ALEATORIO() (que nos devuelve un número aleatorio entre 0 y 1), en la columna B, con la función INV.NORM(probabilidad; media; desviación típica), que nos devuelve el valor para el que la función de distribución de probabilidad de una variable aleatoria que se distribuya normalmente (con media la que se le pasa a la función como segundo parámetro y con varianza igual al cuadrado del tercer parámetro) toma un valor igual al primer parámetro, en la columna C.  Cada fila de esta columna C representa a cada uno de los εt.

Por último, la columna D, contiene el proceso yt = yt-1 + εt que, dicho sea de paso, desde el punto de vista del análisis estadístico de series temporales, es un proceso autoregresivo de orden 1, un AR(1) con raíz unitaria (es decir, un AR(1) cuyo único coeficiente es igual a la unidad).

La hoja se presenta protegida sin contraseña y, dado el comportamiento de la función ALEATORIO(), cada vez que cambiemos algo en ella o presionemos F9, se generará un nuevo paseo aleatorio.

Podéis descargar el fichero aquí: Paseo Aleatorio.xlsx.

Advertisements