[gnucash-br] Atualização automática de fundos de investimento

Rafael Machado Casali rmcasali em gmail.com
Quarta Junho 9 10:38:43 EDT 2010


Caro Leonardo,

Fiz algo parecido para os Fundos do Banco do Brasil e Títulos do Tesouro
Direto. Bem, tentei criar um Fundo próprio mas não conseguir incluir ele
na lista de fundos do GnuCash. Então para não complicar muito, alterei
um fundo já existente para usar o meu script. No meu caso alterei o
Union.pm que me pareceu o mais simples.

A alteração que fiz foi basicamente alterar a URL na qual ele busca os
valores do fundo. O problema é que você tem que colocar o seu script em
um servidor WEB (que pode ser local mesmo).

Espero ter ajudado. Se precisar de mais detalhes técnicos é só
perguntar.
Att,
Rafael Casali


Em Qua, 2010-06-09 às 08:35 -0300, Leonardo F. Cardoso escreveu:
> Prezados,
> 
>  esta é minha primeira mensagem para esta lista.
> 
>  Começo com uma questão interessante. Fiz o script abaixo para obter
> em formato CSV valores de alguns fundos de investimento. Gostaria de
> anexar este comportamento à funcionalidade de busca automática de
> cotações, mas não sei por onde começar. Alguém palpita?
> 
> #!/bin/bash
> # Copyright (C) Leonardo F. Cardoso (não experiente com shell script)
> 
> #####################################################
> 
> CAMINHO=/home/leonardo/Leo
> 
> DATA_FINAL=$(date +%d/%m/%Y)
> DATA_FINAL_TXT=$(date +%d-%m-%Y)
> DATA_INICIAL=$(date --date="5 days ago" +%d/%m/%Y)
> 
> wget -o $CAMINHO/wgetFundos.log -O
> $CAMINHO/fundos-$DATA_FINAL_TXT.html --post-data="data_inicio=
> $DATA_INICIAL&data_fim=$DATA_FINAL&fundos_ok='123242'"
> http://www.anbid.com.br/prodserv/recuperar_fim.asp
> 
> # Até agora, obtivemos os dados ainda em formato HTML, vamos obter as
> cotas mais recentes
> 
> html2text $CAMINHO/fundos-$DATA_FINAL_TXT.html | while read LINHA_LIDA
> do
>     if [[ $LINHA_LIDA == "Fundo: "* ]]
>     then
>         NOME_FUNDO=$(echo $LINHA_LIDA | gawk '{ match ($0, /Fundo: .*
> Tipo: /, arr);  print arr[0]}' | gawk '{sub (/Fundo: /, ""); sub (/
> Tipo:/,""); print }')
>         # Guardamos o nome do fundo atualmente em processamento em
> NOME_FUNDO
>         # echo "DEBUG" $NOME_FUNDO
>     fi
> 
>     # Prossegue lendo linhas até encontrar uma linha com o separador
>     # Separador = "================================"*
>     
>     if [[ $LINHA_LIDA == "================================"* ]]
>     then
>         DATA_FUNDO=$(echo $LINHA_ANTERIOR | gawk 'BEGIN {FS="|"}
> { print $2 }' | gawk '{sub (/_/, ""); print}')  
>         # echo "DEBUG" $DATA_FUNDO
> 
>         VALOR_FUNDO=$(echo $LINHA_ANTERIOR | gawk 'BEGIN {FS="|"}
> { print $4 }' | gawk '{sub (/_/, ""); print}')  
>         # echo "DEBUG" $VALOR_FUNDO
>         
>         echo $DATA_FUNDO";"$VALOR_FUNDO";"$NOME_FUNDO 
>     fi
> 
>     # Guarda a linha anterior pois no momento em que houver o
> separador, a cota estará nela
>     LINHA_ANTERIOR=$LINHA_LIDA
> 
> done
> 
> 
>  Sds
>  Leonardo
> 
> -----------------------------------------
> Leonardo F. Cardoso
> leonardo.f.cardoso "at" gmail.com
> leofcar "at" ig.com.br (Alternativo)
> MSN: lfcardoso em hotmail.com
> -----------------------------------------
> _______________________________________________
> gnucash-br mailing list
> gnucash-br em gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-br




Mais detalhes sobre a lista de discussão gnucash-br