Todos atentos a la clase magistral sobre Google sheets y GoogleFinance ¡Hola, cazadividendos!  El artículo de hoy es para presentar dos hojas de Google que han preparado dos lectores del blog para solventar algunas necesidades relacionadas con el cambio de divisas que han ido apareciendo en la comunidad. Más allá de las dos hojas, que obviamente podréis descargar y utilizar, creo que el artículo será muy interesante, porque nos describirá cómo utilizar GoogleFinance y nos permitirá adaptarlas a nuestras necesidades. Yo particularmente no utilizo Google Sheets, a pesar de que me gustaría para tener las pestañas de seguimiento de valores del blog actualizadas en todo momento. La razón fundamental para no utilizarlas es que mi excel de seguimiento personal es bastante complejo y cuando he intentado migrarlo a Google Sheets, he topado con dificultades técnicas que no he sabido superar. A ver si, con lo que nos expliquen en el artículo de hoy, me animo a hacer un segundo intento…

Empecemos con la de Javier, que participa normalmente en el blog con nick J, y que además de regalarnos la hoja, en las siguientes líneas nos imparte una lección magistral sobre cómo utilizar Google Finance. Tanto los que no habéis utilizado hojas de Google como los que lo hemos hecho a un nivel muy básico creo que podemos aprender mucho y, más importante, aplicarlo fácilmente al seguimiento de nuestras inversiones. A partir de aquí, paso la palabra a J.

Crear un screener con la función GoogleFinance

Hace unas semanas surgió en el blog la duda de cómo seguir en un único gráfico el precio histórico de las acciones en la divisa local de la acción y en euros. Vamos a intentar explicar cómo hacer esto y algunas otras cosas con la función GoogleFinance de GoogleSheets.

La mayoría conoceréis GoogleFinance, la web de información bursátil de Google. En ella se puede consultar ratios financieros y datos para análisis fundamental tanto de las empresas cotizadas, como de la competencia del sector, casi en “tiempo real” (los 20 minutos de demora con que proporciona datos son despreciables para nuestras carteras de B&H). Algunos también conoceréis la suite ofimática online de google y en concreto su hoja de cálculo Google Sheets. Pues bien, la función GOOGLEFINANCE de GoogleSheets permite incorporar los datos de GoogleFinance a nuestras hojas de cálculo.

Con ayuda de esta función podemos construir nuestros propios screeners de acciones (casi todos los que he encontrado están más orientados a una estrategia especulativa que a un seguimiento con estrategia B&H), obtener cotizaciones históricas o lleva una hoja de control de nuestra cartera, con cotizaciones históricas en moneda local o en euros.

La descripción completa de la función GOOGLEFINANCE podéis obtenerla en este enlace, pero os explico lo más relevante. Esta función tiene 6 parámetros:

=GOOGLEFINANCE(ticker, atributo, fecha_inicio, fecha_fin, intervalo)

En  ticker se indica el ticker usado por GoogleFinance, por ejemplo “GE” para General Electric, “PG” par Procter&Gamble…. Es importante poner las comillas o hacer referencia a una celda donde estén los datos, por ejemplo A1 pero entonces sin usar comillas. Para acciones de otros mercados se prefija con el mercado donde cotizan , por ejemplo, “LON:GSK” para Glaxo en el FTSE. Lo mejor es buscar la empresa en Google Finance y utilizar el ticker que aparezca allí.

En atributo se indica el dato que queremos obtener, por ejemplo “close” para el precio de cierre, “price” para el actual. En el enlace de antes tenéis una larga lista con la descripción de todos los atributos disponibles.

El resto de parámetros son opcionales y por ahora solo los mencionaremos. fecha_inicio y fecha_fin son las fechas entre las que queremos obtener datos. intervalo indica la frecuencia de los datos recuperados y sólo permite dos valores: 1 (o DAILY) para datos diarios y 7 (o WEEKLY) para datos semanales

Veamos unos ejemplos sencillos para  Exxon Mobil Corporation, que tiene de ticker NYSE:XOM:

=GOOGLEFINANCE(“NYSE:XOM”;”LOW”) devuelve el mínimo de la cotización de hoy.
=GOOGLEFINANCE(“NYSE:XOM”;”PRICE”) devuelve la cotización actual.
=GOOGLEFINANCE(“NYSE:XOM”;”EPS”) devuelve el beneficio por acción.
=GOOGLEFINANCE(“NYSE:XOM”;”PE”) devuelve el PER.
=GOOGLEFINANCE(“NYSE:XOM”;”NAME”) devuelve el nombre de la empresa.

Lo que queráis incorporar o no en vuestro screener dependerá de vuestros gustos. En mi screener tengo por ejemplo datos de capitalización, volumen negociado, etc…  que me indican si el valor a seguir es un “chicharrete”. Algunos valores que aparecen recomendados en webs inglesas y americanas de alto dividendo lo son para mi gusto. Quizás sean atractivos para un inversor local que puede seguir las noticias sobre esas empresas, pero no para seguirlas a distancia.

Algunos de los atributos documentados en la ayuda de GoogleFinance no están implementados para acciones, como por ejemplo “yieldpct” que debería proporcionarnos la rentabilidad por dividendo, campo básico de filtro en cualquier screener  de inversión por dividendo. En general todos los atributos relacionados con dividendos y rentabilidades no están disponibles para acciones (si para algunos ETF y fondos).

Veamos cómo solucionar esto para montar nuestro screener basado en dividendo personalizado con una sencillísima función:

=SPLIT(INDEX(ImportHtml(concatenate(“https://www.google.com/finance?q=”;A1);”table”; 3);1;2);”/”)

¿Una función sencillísima?Vaaaale, no hace falta que pongáis esa cara… Admito que no es tan sencilla como decía, así que intentaremos desgranarla para que todos la entendamos perfectamente y podamos adaptarla a nuestras necesidades. Supongamos que tenemos en la celda A1 el valor GE (correspondiente al ticker de General Electric) y en B1 la fórmula que hemos escrito arriba. Lo primero es construir la url de donde obtendremos los datos, cosa que haremos concatenando (concatenate) la url base “https://www.google.com/finance?q” con el ticker del cuál queremos buscar la información (“GE” que está en A1). La fórmula, por lo tanto, será esta:

concatenate(“https://www.google.com/finance?q=”;A1)

que nos daría el resultado:

https://www.google.com/finance?q=GE

Como lo habitual es usar un listado de valores (supongamos que los situamos en las celdas de la columna A: A1, A2, A3,…),  bastaría con extender la fórmula para consultar todos ellos.


ImportHtml permite importar datos de cualquier web. Podríais incorporar datos de Yahoo finance, MSN finance,… o cualquier otra web que tenga datos útiles para vuestro screener (bursátiles, fundamentales, ….). Lo que estamos haciendo es importar datos de https://www.google.com/finance?q=GE.

Los parámetros “table”, 3 indican la tabla que tiene que importar la tercera tabla de la hoja:

Página resumen de GE en Google Finance

¿Cómo sabemos qué tabla tenemos que exportar? Pues la única manera que conozco es hacerlo por prueba y error.

INDEX importa una celda de una tabla. INDEX(table, 1, 2) extrae la celda de la fila 1 y columna 2, es decir, el dato de dividendo y rentabilidad por dividendo (0.23/3.38 ).

Este dato necesitamos dividirlo en 2 , con la función SPLIT y el parámetro “/” para indicarle por donde tenemos que partirlo. SPLIT(dato, separador) separa el dato en dos partes en el carácter indicado en separador. Ahora ya tenemos nuestra rentabilidad por dividendo en 2 columnas (en $ y %), que buscamos para nuestro screner de dividendos.

Para carteras en formación resulta relativamente sencillo obtener listados con los tickers de todos los valores de diferentes mercados, para ir aplicando diferentes filtros: Dividendo superior al x%, capitalización mayor que x M€, PER entre X e Y,…. Para finalmente cribar unos pocas acciones a las que hacer un seguimiento más detallado.

Vayamos ahora la pregunta inicial que ha motivado este artículo:

Histórico de cotización en euros con GoogleFinance

Podemos obtener cotizaciones de divisas, exactamente igual que de valores bursátiles, cambiando el ticker, por ejemplo “CURRENCY:EURUSD” (o casi cualquier otro par de divisas que se desee). Vamos a introducir en una columna A las fechas, por ejemplo separadas con 7 días de distancia (periodicidad semanal).  En la columna B ponemos la cotización de cierre de una acción, por ejemplo IBM para esas fechas (ahora usamos el parámetro de fecha  inicio que hemos “desperdiciado” al  principio del artículo)

= GOOGLEFINANCE(“ibm”,”close”,A2,)

Y habrá que extender la fórmula para A4, A5,….

Cotización de cierre de Chevron en Google Finance

 

Ooops. Esto devuelve una tabla. ¡Qué fallo…! Bueno, no pasa nada. Como lo que nos interesa es la cotización, nos tenemos que quedar con la celda de la fila 2 y  columna 2. Para ello utilizaremos la función index, que hemos explicado más anteriormente:

= index(GOOGLEFINANCE(“cvx”,”close”,A2,),2,2)

Después copiamos esta misma fórmula en la columna C, cambiando Chevron por la cotización del dólar, que nos servirá para hacer la conversión a euros posteriormente:

=index(GOOGLEFINANCE(“CURRENCY:EURUSD”,”close”,A2,),2,2)

 

En una nueva columna D convertimos la cotización en dólares a cotización en Euros, con una simple división  (D3= B3/C3). Ojo si usáis libras, porque las cotizaciones suelen venir en peniques y el cambio en libras. Basta con corregir por 100 el cambio.Si extendemos la tabla lo que consideremos necesario, tendríamos algo como esto:

Cotizaciones de Chevron en dólares y euros

Sacar un gráfico con esto entiendo que debería ser algo sencillo si habéis llegado hasta este punto.

Como muestra os pongo un gráfico de IBM. La cotización en dólares desde el primer trimestre de 2013 o incluso desde mediados de 2014 ha tenido un recorte considerable. Sin embargo, si compramos en euros observamos que el momento de compra hubiese sido hasta final de 2014, ya que en estos momentos estamos en “máximos”.
Gráfica de cotización de IBM en dólares y euros

Espero que este articulo haya despertado vuestra curiosidad y os sirva para hacer vuestro propio screener.

Como decíamos al principio del artículo, podéis encontrar una hoja de ejemplo con todo lo que hemos explicado en este enlace. La hoja tiene acceso sólo para verla. Si queréis modificarla a vuestro gusto, teneis que hacer una copia desde el menú “Archivo”.

Hola de Google para el seguimiento de la cartera

Fernando, otro lector del blog, nos ofrece esta hoja para el seguimiento de nuestra cartera, que parte de la de Don Dividendo y que ha ampliado para usarla para el control de su cartera, dividendos, anotaciones y empresas en seguimiento desde una sola herramienta. Muestra un uso mas simple de la función GoogleFinance que la de J, principalmente para las cotizaciones y cambio de divisas, pero es fácilmente ampliable, sobretodo utilizando las explicaciones de la primera parte de este artículo.

A continuación dos imágenes de la hoja de Fernando, para que os hagáis una idea de lo que ofrece:

Seguimiento de cartera de Fernando

 

Punto de mira de Fernando

Con lo que he aprendido hoy gracias a J y Fernando, creo que intentaré automatizar la gestión de mi cartera y la presentación de las empresas en cartera y en seguimiento en el blog mediante una hoja de Google.

¿Y vosotros? ¿Cómo hacéis el seguimiento de vuestras inversiones? ¿Utilizais Excel, Google Sheets, las tablas de seguimiento de vuestro broker, …?

Si os ha gustado el artículo, como siempre, os pido que lo compartáis en las redes sociales. Es muy sencillo, sólo tenéis que pulsar en uno de los iconos que tenéis bajo estas líneas y seguir las instrucciones, y con esto ayudáis a que la comunidad siga creciendo.  ¡Qué tengáis buena caza y un buen fin de semana!