Importar datos de mercados bursátiles en una hoja de cálculo de Google Drive con la función GOOGLEFINANCE

Ayer veíamos cómo usar la función GOOGLETRANSLATE() en una hoja de cálculo de Google Drive. Hoy vamos con otra función curiosa que nos permite usar otro servicio de Google: la función GOOGLEFINANCE().

La función GOOGLEFINANCE() recibe cinco parámetros, aunque solo es obligatorio el primero que sería el código del valor que queremos consultar. Tras eso definiríamos el atributo que queremos mostrar, una fecha de inicio para recuperar los datos históricos, una fecha de fin o número de días y finalmente si queremos ver el intervalo diario o semanal. Todos estos valores deben ser cadenas de texto entre comillas o referencias a celdas con texto. Si invocamos la función mandando solo el código veríamos el precio de dicha valor en tiempo real (si el mercado en el que cotiza lo permite, pues no hay soporte para todos los mercados).

El parámetro opcional con el atributo que queremos mostrar permite varias opciones, según consultemos datos históricos, en tiempo real o de fondos de inversión. Si no se especifica parámetro el valor por defecto es “price“. Si se especifica un rango de fechas entonces este parámetro es obligatorio.

Si se especifican parámetros de fecha, la solicitud se considera histórica y solo se admiten atributos históricos . Cuando trabajamos con datos históricos los valores que podemos mandar como atributo son los siguientes:

  • open: Es el precio de apertura en la fecha o el rango definidos.
  • close: Es el precio al cierre en la fecha o el rango definidos.
  • high: Es el precio máximo durante la fecha o el rango definidos.
  • low: Es el precio mínimo durante la fecha o el rango definidos.
  • volume: Es el volumen de mercado en la fecha o el rango definidos.
  • all: Sacaría todos los anteriores.

Aquí un ejemplo donde consultamos la cotización de Microsoft en el índice NASDAQ durante el primer trimestre de 2019, usando la función con estos parámetros: =GOOGLEFINANCE(“MSFT”;”all”;”01/01/2019″;”01/04/2019″;”WEEKLY”)

El resultado que nos daría sería el siguiente:


=GOOGLEFINANCE(“MSFT”;”all”;”01/01/2019″;”01/04/2019″;”WEEKLY”)

Los resultados en tiempo real se muestran como un valor en una única celda, y no todos los datos están disponibles para todos los símbolos. Para valores en tiempo real los posibles atributos a visualizar son los siguientes:

  • price: Es la cotización en tiempo real, con un retraso de hasta 20 minutos. Si no se especifica un atributo este es el valor que se tomará por defecto.
  • priceopen: Es el precio a la hora de apertura del mercado.
  • high: Es el precio máximo del día, hasta la hora actual.
  • low: Es el precio mínimo del día, hasta la hora actual.
  • volume: Es el volumen de transacciones del día actual.
  • marketcap: Es la capitalización del valor en el mercado.
  • tradetime: Es la hora de la última transacción.
  • datedelay: Es el retraso de los datos respecto de los datos en tiempo real.
  • volumeavg: Es el volumen medio diario de transacciones.
  • pe: Sería la relación entre precio y beneficio.
  • eps: Es la ganancias por acción.
  • hight52: Es el precio máximo en las últimas 52 semanas.
  • low52: Es el precio mínimo en en las últimas 52 semanas.
  • change: Es la variación del precio desde el cierre del día de mercado anterior.
  • beta: Se trata de el valor beta.
  • changepct: Es la variación porcentual del precio desde el cierre del día de mercado anterior.
  • closeyest: Es el precio al cierre del día anterior.
  • shares: Es el número de acciones emitidas.
  • currency: Indica la divisa en la cual se expresa el precio del valor.

Y para fondos de inversión los valores que podríamos usar serían:

  • closeyest: Es el precio al cierre del día anterior.
  • date: Es la fecha de comunicación del valor neto del activo.
  • returnytd: Es el retorno obtenido durante el año hasta la fecha.
  • netassets: Son los activos netos.
  • change: Es la variación entre el último valor del activo comunicado y el valor inmediatamente anterior.
  • changepct: Es la variación porcentual del valor neto del activo.
  • yieldpct: Es el rendimiento de distribución.
  • returnday: Es el retorno total en un día.
  • return1: Es el retorno total en una semana.
  • return4: Es el retorno total en cuatro semanas.
  • return13: Es el retorno total en trece semanas.
  • return52: Es el retorno total en 52 semanas (anual).
  • return156: Es el retorno total en 156 semanas (3 años).
  • return260: Es el retorno total en 260 semanas (5 años).
  • incomedividend: Es el importe de la distribución de efectivo más reciente.
  • inconmedividenddate: Es la fecha de la distribución de efectivo más reciente.
  • capitalgain: Es el importe de la distribución de ganancias de capital más reciente.
  • morningstarrating: Es la valoración en “estrellas” de la firma Morningstar.
  • expenseratio: Es el coeficiente de gastos del fondo.

Además de valores bursátiles también podemos conseguir la tasa de cambio entre dos monedas. Para ello debemos usar como parámetro una cadena de texto con el nombre de ambas divisas, juntas. En el ejemplo de abajo puedes ver como pasar de euros a dólares:

=GOOGLEFINANCE(“EURUSD”)

Esto nos devolverá la diferencia de valor entre las dos monedas, por lo que si queremos convertir una cantidad de una moneda a otra nos bastará con multiplicar. Por ejemplo, para convertir 200 euros a dólares sería así:

=GOOGLEFINANCE(“EURUSD”)*200

Anuncios

Usar Google Translate en una fórmula de la hoja de cálculo de Google Drive.

Es posible que ya hayas visto y usado el complemento de traducción automática del procesador de textos de Google Drive. Que básicamente hace uso de su herramienta Google Translate para traducir todo el documento. Pero ¿sabías que también puedes usar Google Translate como una fórmula de la hoja de cálculo de Google Drive?

La función a invocar sería GOOGLETRANSLATE(), recibiendo tres parámetros: el texto a traducir (o la celda en la que está ese texto), el idioma de origen y el idioma al que queremos traducirlo. Por ejemplo, para traducir la celda A1 de inglés a castellano sería:

=GOOGLETRANSLATE(A1;"en";"es")

Aquí os dejo una captura de pantalla de una prueba:

Crear un acceso directo a una conversación/contacto de Whatsapp

WhatsApp se ha convertido, en Europa, casi en un estándar para los sistemas de mensajería. La popular aplicación, propiedad de Facebook, mueve ingentes toneladas de gigas de información al día incluso llegando a condenar, por su ausencia, a sistemas operativos como la versión para móviles de Ubuntu o FirefoxOS o a convertirse en un elemento clave en la propaganda política por su capacidad de propagar bulos.

Es una aplicación tan usada que todos conocemos a algún usuario, generalmente algún familiar, que tiene problemas para aclararse con su uso. Aunque el programa sea muy intuitivo no todos se aclaran con él. Pero ¿Sabías que puedes crear un acceso directo a una conversación? Así la persona que lo necesite la tendrá siempre accesible de una forma cómoda. Puedes hacerlo en conversaciones de grupos o en conversaciones individuales.

  • Abre WhatsApp y busca la conversación que quieres tener accesible en la pantalla principal.
  • Pulsa sobre dicha conversación hasta que aparezca como seleccionada.
  • Pulsa sobre los tres puntos verticales que aparecen en la esquina superior derecha de tu pantalla para elegir la opción “Crear acceso directo”.

Una vez hecho eso ya tendrás creado un acceso directo a la conversación en la pantalla principal del teléfono, facilitando el uso de la misma.

Usar PowerShell para exportar los eventos de seguridad de Windows en formato XML

Vamos a seguir hablando de cosillas del PowerShell de Windows y vamos a ver cómo podríamos ver el log de eventos de seguridad de Windows y como podríamos exportarlo a formato XML.

El comando Get-EventLog es, en este caso, el que nos permitirá extraer datos de los logs de eventos de Windows. Para filtrar los eventos de seguridad le pasaremos como parámetro -LogName, con el valor Security. Nos quedaría este comando:

Get-EventLog -LogName Security

Os dejo una captura de la salida del comando (si mi consola os luce un poco rara, podéis ver esta entrada sobre cómo personalizar la apariencia de la misma). Para mi ejemplo he llamado después al comando Select-Object especificando que se muestren solo las primeras 40 filas.

Powershell salida

Bien, con esto tenemos la salida de datos en pantalla, pero lo que queremos es tener los datos en un fichero XML, un fichero al que llamaremos RegistroSeguridad.xml. ¿Cómo lo formatemos? Tenemos dos opciones:

  • Usar el comando Convert-XML y dirigir la salida a un fichero con Out-File
  • Usar el comando Export-Clixml, que en una sola acción hace lo mismo que los dos comandos comentados arriba.

El primer comando sería algo como esto (para no hacer un fichero demasiado descomunal he añadido que solo se cojan los primeros 400):

 Get-EventLog -LogName Security | Select-Object -First 400 | ConverTo-XML | Out-File RegistroSeguridad.xml

El segundo comando sería así:

 Get-EventLog -LogName Security | Select-Object -First 400 |Export-Clixml RegistroSeguridad.xml

¿Por qué es mejor que usemos la segunda opción? Pues porque además de tener una sintaxis más simplicada también obtiene un mejor rendimiento al usar una función que está diseñada específicamente para la conversión y exportación directa, en lugar de llamar a dos (una para conversión y otra para exportación).

Modificando la apariencia de PowerShell

No se a vosotros, pero a mi la apariencia de la interfaz por defecto del PowerShell de Windows no me seduce nada, y estos días tengo que trabajar bastante con él:

Ni la tipografía me resulta cómoda a la hora de leer, ni el color de fondo me convence y hasta me parece demasiado pequeño el tamaño de la consola. Pero podemos personalizar esta interfaz. Basta con hacer click sobre el icono de Powershell que hay en la esquina izquierda de la ventana, al lado del nombre:

Icono sobre el que pulsar

Ahí podéis ir a al menú “Propiedades“. Si no ejecutamos el PowerShell con permisos de administrador los cambios no serán permanentes y se perderán al cerrar la ventana.

La primera pestaña, Opciones, nos permitirá activar o desactivar las opciones de autocompletado, de inserción (pegar en un solo click) o de edición rápida. También nos dejará definir el tamaño del buffer o el del cursor:

La segunda pestaña, Fuente, nos permitirá cambiar la tipografía y su tamaño:

La tercera pestaña, Diseño, nos permite definir el tamaño del buffer, el de la ventana y la posición de la misma:

Y finalmente en la pestaña Colores podremos elegir el color de fondo y de letra para la pantalla de PowerShell y para las pantallas emergentes.

Trasteando un poco lo podemos dejar a nuestro gusto. En mi caso me gusta que parezca una venta clásica de MS-DOS, puede que por nostalgia o por la fuerza del hábito.

Virtual Box: Compartir una carpeta de un anfitrión Windows en una máquina con Ubuntu.

El primer paso para este tutorial nos remite a una entrada antigua: hay que instalar las Guest Additions de Virtual Box para comenzar. Es un paso indispensable, pues sin las Guest Additions no va a funcionar.

Ok, ya tenemos nuestro sistema operativo Ubuntu (o familia) instalado en una máquina virtual de Virtual Box y con las Guest Additions instaladas. Ahora tenemos que irnos a Configuración, allí a Carpetas Compartidas y allí elegimos la carpeta a compartir y le asignamos un nombre (para el ejemplo le he puesto vbox).

Tras esto nos vamos a nuestro Ubuntu y abrimos un terminal de línea de comandos. Lo primero que haremos será crear un punto de montaje para nuestra carpeta. En el ejemplo le llamaremos “carpeta“:

sudo mkdir /media/carpeta

Y lo siguiente es ejecutar el montaje de la carpeta. En mi caso la carpeta en Windows se llama vbox y el punto de montaje carpeta, en el vuestro poned los que correspondan:

sudo mount -t vboxsf vbox /media/carpeta

Si queréis que la carpeta se monte siempre al arrancar el sistema el truco es editar el fichero /etc/init.d/rc.local y añadir a él la línea que usamos para montar la carpeta.