El lucero del alba

Puede que algunos de mis lectores sepan que el lucero del alba es el nombre con que se conoce al planeta Venus cuando es visible en el cielo al amanecer.

En contextos menos poéticos se conoce por tal nombre a esto:

Es decir, una determinada configuración de los precios de apertura y cierre de tres días de cotización (bursátil, por ejemplo) de forma que:

  • El primer día hay una bajada
  • El tercer día hay una subida
  • Los precios de apertura y cierre del segundo día son inferiores a los del cierre del primero y apertura del segundo.

Se ve que eso es cosa güena. De El Economista extraigo el siguiente párrafo atribuido a un tal Joan Cabrero:

Después del fallido intento que protagonizaron los alcistas ayer, hoy la presión compradora sí ha conseguido dominar la sesión de principio a fin, y mucho tendrían que cambiar las cosas para que al cierre de Wall Street los futuros europeos no consigan desplegar un patrón triple de velas que es conocido en el argot técnico oriental como lucero del alba y que sería otro elemento más que apoyaría el giro alcista señalado

Efectivamente, un lucero del alba parece ser indicio de subidas bursátiles.

Y uno se pregunta: ¿en serio? Y si es verdad, ¿por qué? Y como ya somos mayorcitos para no creer todo lo que se nos cuenta, vamos a Yahoo Finance y bajamos las cotizaciones históricas de Telefónica (desde el 2000), por ejemplo, y ejecutamos lo siguiente:

tef <- read.table( "table_tef.csv", sep = ",", header = T )
tef <- tef[ order( tef$Date ), ]

morning.star <- function( block ){

	if( nrow( block ) < 23 ) return( NULL )

	apertura <- block$Open
	cierre   <- block$Close

	if( !(
		apertura[1] > cierre[1] &
		apertura[3] < cierre[3] &
		max( apertura[2], cierre[2] )
			< min( apertura[3], cierre[1] )
		)
	) return( c( 0, rep( 0, 20 ) ) )

	else return( c( 1, ( cierre[4:23] - cierre[3] ) / cierre[3] ) )
}

tmp     <- sapply( 1:nrow( tef ),
		function( i )
			morning.star( tef[ i:nrow( tef ), ] ) )

res.all <- do.call( rbind, tmp )
res.ms  <- res.all[ res.all[,1] == 1, ]

El resultado muestra cómo en los 10 últimos años ha habido 48 luceros del alba. ¿Y qué pasó un mes después? Lo indica el histograma siguiente:

Y en 20 años de cotización del IBEX 35, ¿cuáles serían los resultados? Helos:

ibex    <- read.table( "table_ibex.csv", sep = ",", header = T )
ibex    <- ibex[ order( ibex$Date ), ]
tmp     <- sapply( 1:nrow( ibex ), 
                  function( i ) morning.star( ibex[ i:nrow( ibex ), ] ) )
res.all <- do.call( rbind, tmp )
res.ms  <- res.all[ res.all[,1] == 1, ]

Y al cabo de un mes de los 78 luceriles prodigios ocurridos desde el 92, la rentabilidad acumulada por el IBEX 35 fue la indicada en el siguiente histograma:

Ah, Joan, Joan, ¿cuánto te pagarán por no decir nada (útil)?

5 comentarios sobre “El lucero del alba

  1. jjgibaja 27 diciembre, 2011 8:48

    ¡Desde luego, hay que ver cómo son estos escépticos! Ya veo dónde está el truco: ¿por qué has elegido 21 días y no cualquier otra cifra? 21 días es 3 veces 7 y no hace falta que te diga que 3 y 7 son números mágicos en la «cultura oriental». Prueba con cualquier otra cifra y verás como brilla el lucero del alba.

  2. Gustavo 27 diciembre, 2011 23:56

    Ay ay ay, ¿cuándo aprenderás? Con esa manía tuya de cuestionarte lo que lees por ahí y preguntarle a los números no llegarás nunca a «reconocido experto».

    En serio, gran entrada

  3. Ender Muab'Dib 25 abril, 2012 10:27

    Una demostración muy interesante, Carlos, ¡derribando mitos!
    Aunque yo también tengo curiosidad por saber a qué se debe la elección de los 21 días…

  4. datanalytics 25 abril, 2012 12:22

    21 días es un mes (en términos de días laborales). Pero igualmente podría probarse otros plazos, por supuesto.

Los comentarios están desabilitados.