miércoles, 3 de octubre de 2018

Como poner cotización de fondos de inversión en hojas de cálculo de Google




La mayoría de inversores tenemos nuestra cartera escrita o bien en un Excel o bien en Google Sheets.
A pesar de que me manejo mejor con Excel yo lo tengo todo en Google por su facilidad al coger datos de webs y compartirlos a traves del blog, así como acceder desde cualquier ordenador.

Una duda que me llevo un tiempo resolver fue ¿cómo pongo la cotización de mis fondos de inversión actualizada? Me costo un tiempo encontrar como hacerlo pero os explico como hacerlo por si os es útil.

El concepto:

Google deja coger información de Google Finance con una simple formula, así es como tenemos todos nuestra cartera publicada... pero los fondos no es tan simple. Lo que haremos será ir a una página con datos fiables y actualizados como Morningstar, buscar en el código HTML en que tabla esta y trasladarlo a nuestra hoja de Google.

¿por qué si por ejemplo tengo el fondo de cobas no cojo el dato directamente de la web de cobas?
Quiero estandarizar todo lo máximo posible independientemente del fondo que tenga. Morningstar trata todos los fondos de igual manera por tanto es perfecta.

Empezando:
Para bajar los datos deberíamos saber algo de HTML pero os ahorro el problema y os pongo que tenéis que poner directamente en la hoja de Google:

=INDEX(split(importXml(CONCATENATE("http://www.morningstar.es/es/funds/snapshot/snapshot.aspx?id=","F00000WI0D"),"(//td[@class='line text'])[1]")," "),1,2)

¿Veis donde pone "F00000WI0D" en naranja? ahí va el "valor" del fondo que quiero buscar y variará según el fondo que se trate. Yo lo tengo asociado una celda para luego al arrastrar la formula hacia abajo va avanzando la casilla y me da el valor de las celdas siguientes ¿como consigo ese valor?

En este caso el valor es: "F00000WI0D" que corresponde a AzValor internacional. Simplemente me voy a la pagina de Morningstar de AzValor internacional poniendo en Google:
"Morningstar AzValor internacional" y en la url encontraremos el valor:

Con esto tendremos el valor en la hoja de Google y se actualizara automáticamente. Algunas veces veréis que pone el texto REF eso es debido a que por cualquier motivo Google no puede acceder a la web de Morningstar en ese momento. Dando a F5 se suele resolver y sino pues a esperar a que funcione no suele ser habitual y no suele ser mas de un par de horas.

Hilando fino:

Morningstar pone los decimales con , y Google usa . por lo que con el valor tal cual le tenemos no nos dejará hacer operaciones matemáticas. Para cambiar la , por el punto automáticamente podéis copiar esta formula:

=left(J13,(len(J13)-3))&"."&right(J13,2)



Donde J13 tiene que ser la celda donde hayáis puesto la anterior formula. Con esto cambiáis la coma por el punto y ya tendréis el valor del fondo de manera correcta.

Espero que os sea útil cualquier duda dejadmela en los comentarios.

El Joven Inversor

Autor & Editor

Invierto en bolsa desde 2013. Te muestro mi camino para alcanzar la libertad financiera. Si tienes alguna duda o alguna sugerencia deja tu comentario.

20 comentarios:

  1. también funciona en Excel?
    De todas formas, muchas gracias por la aportación
    José María

    ResponderEliminar
    Respuestas
    1. Hola Jose Maria,

      Para excel no funciona la misma formula. En excel tienes que bajarte los datos desde web desde Datos> desde web o si eso no sirve deberás crearte una macro que al ejecutarla abra internet explorer, la web y finalmente coja los datos del HTML. Suena más complicado de lo que realmente es si sabes programar.

      Un saludo

      Eliminar
  2. Muchas gracias por tu inestimable información. Un saludo.
    Juan P.

    ResponderEliminar
  3. Muchas gracias por la aportación, muy buen trabajo con la web.

    ResponderEliminar
  4. Recientemente he abierto una pequeña cartera de fondos indexados y esto me viene muy bien para su seguimiento. Muchas gracias por este gran trabajo!

    ResponderEliminar
  5. Respuestas
    1. Hola Anónimo,

      Sigue funcionando solo que a veces la web de morningstar falla. Si quieres otro metodo mira este video que pongo aquí donde explico como conseguir el valor de los fondos desde Rankia:
      http://eljoveninversor.blogspot.com/2019/02/crear-cartera-en-power-bi.html?showComment=1549211899778#c5753112626953838411
      Un saludo

      Eliminar
  6. muy interesante... tienes también la fórmula para planes de pensiones? y para ETFs?

    gracias

    ResponderEliminar
    Respuestas
    1. Para planes de pensiones no lo se, para ETF es igual solo tienes que buscar el ETF en morningstar y ya esta... si no te saca el valor tendrás que ajustarlo un poco pero vamos yo uso exactamente la misma para un ETF the world

      Eliminar
  7. Buenas. Gracias por el aporte. ¿Sería posible conseguir el dato de volatilidad del fondo? Gracias. Saludos

    ResponderEliminar
    Respuestas
    1. Hola Helios,
      Cualquier valor si aparece en una web con paciencia se puede llegar a poner. Si tienes una web donde te de el dato de la volatilidad no veo porque no.

      Eliminar
  8. Hola,
    No se si será culpa mía pero cada vez que introduzco la formula me sale error puede ser por que bien los datos o algo.
    Un saludo

    ResponderEliminar
    Respuestas
    1. ten en cuenta que en formato español debes reemplazar las comas d ela fórmulas por ; en todos los casos

      Eliminar
    2. Hola!
      Echa un ojo a este video que cree por si ayuda:
      https://www.youtube.com/watch?v=8fAY3Z4MP-E&t=1s

      Eliminar
  9. Muchas gracias por tu ayuda, ha mejorado mi método,funciona bien tanto para ETFs como para Fondos cuando tienen asociado un id. Pero en ocasiones no aparece el id (ejemplo ETFMG PRIME CYBER SECURITY) , podrías decir qué hacer en estos casos?

    ResponderEliminar
    Respuestas
    1. Hola!
      Echa un ojo a este video donde explico como sacar el valor de cualquier página:
      https://www.youtube.com/watch?v=8fAY3Z4MP-E&t=1s

      Eliminar
  10. NO FUNCIONA CON EL CODIGO DE LOS FONDOS MORNIGSTAR

    ResponderEliminar