domingo, 6 de julio de 2014

Python y Google Finance.- Obteniendo Valores de Bolsa

Los que hayas seguido mi twitter hoy, ya habréis intuido de que vamos hablar de blosa de valores y con lo que ello comporta, de dinero.


Para los que no conocéis Google Finace es un servicio donde poder ver la cotización de un valor de bolsa, su gráfica dividida por años,meses y días ademas de poder hacer un portafolio para que te sea mas fácil consultar tu cartera. Pero, para que tengo que estar yo dando le a Enter todo el rato si se programar (poco pero algo se) en Python.  

Para hacer esto nos serviremos de la url [http://www.google.com/finance?&q=] que usa el servicio cuando ha de consultar un valor y le concadenaremos el nombre de la acción y como la consulta ya se hace en Google Finace me ahorro problemas de acentos y problemas de ortografía. Ojo, no me los ahorro del todo, si no sabéis el nombre aproximado de la acción no aparecerá. Por ejemplo ¡, si queremos que nos muestre el valor de Telefónica, [al haber varios valores que se llama igual], nos dará error. Así que deberemos saber que Telefónica España es llamado NYSE:TEF. 

Dicho esto,  pasamos a ser un francotirador de acciones dispuesto a estar al tanto de la mas mínimo cambio en su cartera. 


import urllib, re, os, time


def valoracion(busquedaGoogle):

        #Esto esta explicado en la entrada XD
url =  "http://www.google.com/finance?&q="
busqueda = urllib.urlopen(url+busquedaGoogle).read()

        #con regular expresions podemos buscar el campo id= ref_
datos = re.search('id="ref_(.*?)">(.*?)<',busqueda)

t = time.localtime()
if datos: 
                #Con esto imprimimos de forma chula los el precio de la acción
tiempo =[t.tm_year,t.tm_mon,t.tm_mday,t.tm_hour, t.tm_min,t.tm_sec]
print tiempo
print  busquedaGoogle +" --> "+ datos.group(2)
else: 
out = "No he podido encontrar nada con " + busquedaGoogle
print out
       #Cada 10 segundo la acción se irá actualizando (que es mas que suficiente para ver cambios)
time.sleep(10)
os.system('cls')
while True:
valoracion(d1)

if __name__ == "__main__":
d1 = raw_input("Nombre de la Empresa: ")
os.system('cls')
valoracion(d1)
Podéis buscar este valor, la bolsa española
ha cerrado a las 9:30 por lo que esta a este mismo valor. 

Espero que os haya gustado este script, no lo he subido en GitHub por que ya hay muchos y le quiero dar otro uso que espero publicarlo aquí en unos días. Ahora no tenéis escusa por no vender si vuestra acción a a un valor que hace saltar vuestro Stop. 


No dejes que vuestro trader os engañe xD Como veis he fusionado Mi Hora de Codigo con StateX me espera unas vacaciones dignas. Gracias a todos los que votasteis en la encuesta. 

Sed Buenos ;) y si gracias a este script conseguís ganar algo de dinero invitadme a una cerveza .

No hay comentarios:

Publicar un comentario