Mês: abril 2016

Como exibir cotações de ações Ibovespa ou mundiais no Conky

conky-desktop

Exibir cotações de qualquer ativo ou moeda no Conky suportado pelo Yahoo Finance  ou para qualquer outro uso em Python é fácil através do módulo yahoo-finance.

Sem perda de tempo, instale o módulo yahoo-finance:


sudo pip install yahoo-finance

Faça alguns testes no terminal python:

>>> from yahoo_finance import Share
>>> VivaOMoro = Share('PETR4.SA')
>>> print VivaOMoro.get_open()
8.51

Se apareceu o preço então o módulo funciona. O seguinte script será usado para que o Conky exiba as informações sobre os ativos:

#!/usr/bin/python

from yahoo_finance import Share
from math import *

codigos = ['^BVSP', 'DOW', 'PETR4.SA', 'ETER3.SA']

for i in codigos:
	share = Share(i)
	percent = format ( 100 *  (  (  float(share.get_price())  / float (share.get_prev_close())   ) -1  ),'.2f')
	print (format(i,'10') +" " + format(float(share.get_price()),'10.2f')  + " " + percent + "%")

Salve em algum lugar e torne-o executável com chmod +x NOMEDOSCRIPT. E finalmente para  que o conky exiba as cotações usaremos o comando execpi no arquivo .conkyrc:


${font "Courier New"  MS:bold:size=8}${alignc}
${execpi  1 /CAMINHOPROSCRIPT/NOMEDOSCRIPT.py}

Veja que coloquei propositalmente a linha de formatação de fonte para lhe encorajar a usar fonte fixa ajudando, assim, no alinhamento, entretanto ainda não ficou excelente o alinhamento então sugestões serão bem vindas.

O numero 1 logo depois de execpi é o tempo de atualização em segundos. Muito baixo sem dúvida afinal se você estiver interessado em atualizações com menos de 12h provavelmente não esta interessado em ver cotações no Conky mas no MetaTrader por exemplo. É útil para Swing trade ou Position.

Para incorporar mais ativos acrescente o código correspondente na linha codigos = [‘^BVSP’, ‘DOW’, ‘PETR4.SA’, ‘ETER3.SA’] entre aspas simples com virgula. Veja que o Yahoo usa código levemente diferente do que estamos acostumados então vá ao site e pesquise pelos códigos.

Com algumas alterações no script é possível colocar o valor de uma carteira investida … e quem sabe um dia desses eu adapte o script Lua (que faz os círculos) para mostrar um gráfico …. um dia desses ….

E por falar em Conky …

Fica a dica que o Conky apesar de leve e consumir pouca memória diminui a durabilidade da bateria do notebook pois ‘acorda’ frequentemente a CPU. Uma sugestão é ou diminuir o tempo de refresh quando em modo bateria ou matar o processo de vez. Afinal é só um processo ‘cosmético’.