Clubeinvest.com — Arquivo Histórico (1997-2011)
Esta é uma cápsula do tempo da comunidade financeira portuguesa. Login activo para membros.
Clubeinvest.com
Home Privado Fórum Acções Índices Metastock Portfolio Managers Publicações Blogs Contacto
 

Editar as notícias:

Novos ficheiros de actualização para Metastock e Bases de Dados disponíveis para milhares de acções e índices.

Menu principal

Yahoo-MetaStock

Iniciado por arb.bunker, Janeiro 29, 2010, 01:23

Tópico anterior - Tópico seguinte

arb.bunker

Boa noite,


A pedido de muitas familias... Ká vai. Como também eu precisei deste utilitário, não tive outro remédio senão... fazê-lo.
Este é um pequeno utilitário em perl que, a partir de um ficheiro de texto, acede ao Yahoo e executa a funcionalidade "Download to Spreadsheet", ticker-a-ticker.
A ferramenta funciona bem e como resultado, gera um ficheiro ASCII que está prontinho a ser engolido pelo MetaStock (testei com a vs 11, mas não deve haver probs com versões anteriores)

O portfolio padrao consta dos ETFs da Vanguard, não sei se...
Espero que dê jeito a someone ;), eu pelo menos estou servido...

Intel++

arb.bunker

Bom dia

Foram introduzidas algumas alterações ao programa, no sentido de o melhorar


  • O ficheiro de cotacoes.txt é apagado antes do processamento. Como o processamento escreve neste ficheiro em sobreposição, se executássemos a ferramenta duas vezes, ficávamos com as cotações duplicadas. O mesmo acontecia ao processar dois portfolios distintos sucessivamente.
  • Na versão anterior se o ticker não existisse no Yahoo, o programa abortava (saia para o DOS), sem qualquer explicação. Desta feita, é gerado um log onde podemos consultar os resultados do download para cada ticker.

Aqui deixo o anexo,

Intel++

arb.bunker

Boa tarde,


Estou a receber mensagens na minha caixa pessoal com dúvidas sobre a utilização da ferramenta.
como as dúvidas, pelo menos por enquanto, versam sobre o mesmo problema, respondo aqui no tópico
para que todos possam ter acesso.


Citação
a ferramenta deve ser excelente, pelo menos se funcionar.
instalei o programa
http://strawberry-perl.googlecode.com/files/strawberry-perl-5.10.1.0.msi
mas quando vou extrair o ficheiro para a pasta (pl) fica num word pad e quando dou 2 cliques aparece o word pad..
devo estar a fazer qualquer coisa mal ?..


Citação
Segui os teus passos e estou com uma dificuldade.

Quando faço:

Citação
Duplo click no Yahoo-getQuotes4MetaStock.pl

ele pergunta qual o programa que quero utilizar para correr o aplicativo...

Não devia reconhece-lo de imediato uma vez que se encontra instalado???



Basicamente este problema prende-se com o facto de o Windows não ter assumido o strawberryperl como
interpretador de scripts perl no v. computador. Para obviar o problema podemos:


  • No ficheiro LEIAME.txt esta explicito que é necessário ter um interpretador de perl instalado.  Se
    este interpretador já está instalado e ainda assim o programa não funciona, passe ao ponto seguinte:
  • Dar 2 clicks no script Yahoo-getQuotes4MetaStock.pl. Se aparecer o wordpad, ou notepad,
    ou outro editor de texto qualquer, devemos fechar o editor e fazer o explicado no próximo ponto
  • Seleccionar o script Yahoo-getQuotes4MetaStock.pl e, com o botão direito do rato, abrir o menu
    de contexto do windows e seleccionar a opção "Abrir com..."
  • Aparece uma caixa para escolher a aplicação que é suposta abrir o ficheiro. Explicitar
    "c:\Programas\Strawberryperl\bin\perl.exe". Marcar a opção "Usar sempre este ficheiro..."
        para abrir ficheiros deste tipo
    .





Um abraço e bons negócios,

Intel++

arb.bunker

Boas

Espero que se estejam a dar bem com a ferramenta ;).
Com algum trabalho e, aproveitando o trabalho feito com as cotações, criei um novo programinha: Yahoo-getDividends.pl que faz o download dos dividendos.
Sempre foi uma coisa que me fez espécie, isto de obter os dividendos :P...

Podemos aproveitar o ficheiro gerado pelo programa (que usa os mesmos portfolios usados, ou definidos para as cotações, e coloca os resultados num ficheiro chamado dividends.txt), e usá-lo no Excel, ou uma qualquer base de dados para calcular estratégias de dividend-yield, Dividend-Cash-Flow, Relative-Dividend-Yield e outras... que esta informação pode disponibilizar.

Testei com um portfolio sobre o IBEX e funcionou bem, o que muito me agradou, uma vez que na página do Yahoo, essa informação nem sempre era visualizada.

Usem e abusem

Intel++

luis carrilho

muito bom art.bunker , já testei e funciona muito bem!

eu deixo aqui o ficheiro portfolios.txt editado para puxar as acões portuguesas.

DUARTINI

Estoy gostando. Assim já me parece poder existir ligação. Very good.

Desculpem o mio português. É porque o mundo é tão grandee.
http://strapon.pt    http://sersexy.net

arb.bunker

Viva

Citação de: luis carrilho em Janeiro 30, 2010, 21:37
eu deixo aqui o ficheiro portfolios.txt editado para puxar as acões portuguesas.

Gostava de aqui deixar uma nota acerca do/s portfolio/s

  • Tal como sugerido no LEIAME.txt, podemos ter tantos portfolios quantos quisermos. Podemos e devemos alterar o/s programa/s para fazer o download da lista de tickers que temos necessidade de trabalhar.
  • Pessoalmente, do ponto de vista funcional, já me enfadei de tantos portfolios e, acabei por criar uma directoria "Portfolios" debaixo daquela onde mantenho os scripts em perl e, é lá que guardo os porfolios e os logs, libertando a raiz da directoria para os scripts e os ficheiros cotacoes.txt e dividends.txt.
  • Bastou para isso, alterar a linha
    my $PORTFOLIO="portfolio.txt";
    para
    my $PORTFOLIO="./Portfolios/portfolio.txt";
  • Nesta directoria Portfolios, criei um batch para apagar os logs, quando me der jeito (no fundo... sempre fui preguiçoso 8))
Para melhor entenderem o que quero dizer, deixo aqui novo anexo, com os programas alterados e com os portfolios incluidos numa subdirectoria. Basta descomprimir o anexo para a directoria onde têm os programas.

Obrigado Luís pelo contributo, só veio melhorar, espero eu ;)

Um abraço e bons negócios
Intel ++

arb.bunker

Viva

No post anterior fazia referencia a alterações feitas aos programas que visavam a manutenção de uma subdirectoria, onde podemos organizar os portfolios, num sítio dedicado para esse efeito.

Infelizmente com a pressa, no anexo postado, o programa Yahoo-getQuotes4MetaStock.pl ainda não reflectia essa situação.

Aqui deixo o anexo com a emenda

Bons negócios,

Intel++

arb.bunker

Viva,

Citação
Olha uma coisa... ao fazer o download usando a tua ferramente, duplicaram as acções que tinha no Meta-stock certo? Não esxiste uma forma de ela sincronizar com as minhas?
É que assim fico com os gráficos sem as anotações...

Em MetaStock, pode dizer-se que sou um caloiro. Dá-me ideia que é possivel ter directorias diferentes, para cada conjunto de Dados. Por enquanto tenho guardado as importações que faço para o MetaStock em directorias diferentes, dessa forma preservo os dados que tinha.

Para as anotações, não tenho a certeza... Mas talvez ir às cotações anteriores, gerar um template. Abrir as novas cotações e aplicar o template gerado nas antigas, deve ser uma forma, penso eu.

Se não se importa vou por esta resposta no tópico do fórum... Pode ser que alguém mais experiente em MetaSotck, saiba responder...

Por favor, alguém expert em MetaStock ? Help pls  ::)

Bons negócios

arb.bunker

Boas,

Aproveitando os dados fornecidos pela ferramenta, foi-me possivel, calcular um estudo de RDY para o PSI Geral. Podemos inferir este estudo para outros indices.

Basicamente o RDY é uma estratégia de investimento, baseada em fundamentais, a longo-prazo que se sustenta no facto de "se o yield de uma empresa é alto, então o preço é barato".

  • É preciso reunir o último preço e o dividendo de todas as empresas de um indice, ou lista.
  • Para cada empresa calcular o Dividend Yield. Calcular o Yield Médio do indice (só para as empresas que paguem o dividendo).
  • Seleccionar as empresas cujo Yield é superior a 1.25x o Yield Médio (margem de segurança). Comprar e esperar que o Yield fique ao nível do Yield Médio, até lá, vamos colhendo os dividendos...
E... adivinhem lá, buysantander tem razão ;)

Aqui fica o estudo
Bons negócios

jo_nas

Boas,

Bom trabalho arb.bunker, fiz umas alterações, para uma utilização mais pratica, aproveitei para desenferrujar a programação, adicionei um script em vbs para uma melhor interface, e um icone fica mais bonitinho no desktop.

Cumps

Pass:wheelsonfire

arb.bunker

Boas

Excelente trabalho jo_nas (+1 pip)! É raro encontrar alguém da tua estirpe, bem hajas e bem vindo. Estive a ver o teu trabalho e está muito bom. Em perl as datas podem ser tratadas de duas maneiras:

  • Date::Manip (mas o pessoal aqui no CI  não tem pachorra para ir ao CPAN)
  • Ou com Reg. Expr's, dá + trabalho mas também se faz

A ideia de incorporar parametros na linha de comando também já me tinha ocorrido, mas no programa Metastock, normalmente as directorias são diferentes de portfolio em portfolio. Perfeito, perfeito era incorporar o Yahoo-getQuotes.. no Downloader, mas isso é outra guerra ;).

Já agora, como usas uma directoria, para as cotacoes de cada portfolio, não seria má ideia por o perl a varrer a directoria dos portfolios e fazer automatica/ os downloads de todos os titulos, despejando as cotacoes nas respectivas directorias de cotacoes. Batch do tipo batch "dá-me ká as cotas Yahoo k eu vou dormir". No dia sequinte era só a pessegada de usar o Downloader para carregar os dados.

***** para a ideia de sacar a página com as últimas, bom trabalho! Continua, eu já tenho alpista para me atirar ao trabalho, para já, vou digerir o teu trabalho, eu depois "aparício" ;)

Bons negócios :)

Intel++

arb.bunker

Boas,

Jo_nas. Testei agora a aplicação que fizeste e está *****. Funcionalidade, integração tudo. Maravilha! Tiro o chapéu e recomendo a todos que passem a usar a tua versão (não te esqueças de deixar 20% da +valia ao Teixeira dos Santos)

Bons negócios :)

jo_nas

Boas

Estava para fazer esta cena a montes de tempo para sacar as cotações, mas faltava o impulso, foste o impulso obrigado também.

Sim agora falta, melhorar algumas coisas, uma barra de estimativa de download, o download por nºde dias apartir da data actual para nao estar a escrever as datas de inicio e fim já esta a funcionar, e so descomentar o respectivo codigo e instalar o pacote das datas, porque fazer a diferença de datas sem o modulo datetime dá muito trabalho.

Pois as Reg. Expr's, e que são uma dor de cabeça mas são potentes e "clean".

Instalar modulos do cpan nao e dificil mas nem sempre ficam a funcionar a 1ª.

Isso de varrer o directorio de portfolios sim e possivel, ter dois directorios um de portfolios a descarregar automaticamente e outro com os restantes.

incorporar o Yahoo-getQuotes.. no Downloader, sim outra guerra tb ja pensei nisso tem de ser um programa DDE para comunicar com o metastock ando ver umas coisas, sera a proxima fase.

No problema  vou por o teu nome nos  creditos na prox versao.

Bons negocios
Cumps,

arb.bunker

Viva

Antes de mais: jo_nas desculpa só agora responder ao teu post, mas tive alguns dias sem "net" em casa e não me apercebi da tua resposta.

Acabei por resolver o problema das datas de uma forma simples sem recorrer aos módulos do perl (solução caseirinha :)). Assim a opção -n=z (z dias, subentenda-se) já está a funcionar a 100% :)

Aqui deixo as alterações.
Aos outros leitores, peço desculpa pelo facto do arquivo zip não estar completo como das outras vezes, mas podem retomar o curso do programa pegando no arquivo deixado por jo_nas neste tópico...

TODO: Uma subtileza do perl em que se o portfolio passado fôr /ALL/ então
for x in PORTFOLIOS/*.txt do: push x into PORTFOLIOS

Bons negócios

Intel++