|
Post by cadu28 on Oct 14, 2016 11:21:00 GMT -3.5
Estou já na fase de provas da minha nova versão da plataforma para análise fundamentalista. É impressionante como encontro discrepâncias em cada indicador que controlo com os sitios online. Uma das primeiras coisas que procurei foi pelo EBIT dos últimos 12 meses. No caso da Altona, eu estou calculando 7.248K ao tempo que o fundamentus calcula 10.051K, essa diferencia de 33% não pode ser despreciada. Agradeço se alguém quer fazer o controle desta conta em particular. Já sei que todos os indicadores de valor de mercado normalmente estão errados (e algumas vezes por muito) nos sitios online, mas não encontro razão para o fundamentus errar nesta conta particular do DRE. Como eu ainda não testei para nada meu novo programa, talvez eu esteja errado, por isso peço aqui por olhos independentes. Não tenho Altona planilhado, mas dando uma conferida nos números, o seu está correto Potuz. Como vc programou p/ calcular o DPA (dividendos por ação)? Mais especificamente na contabilização dos dividendos pagos p/ a montagem do DY.
|
|
Potuz
New Member
Posts: 3,392
|
Post by Potuz on Oct 14, 2016 12:28:13 GMT -3.5
Estou já na fase de provas da minha nova versão da plataforma para análise fundamentalista. É impressionante como encontro discrepâncias em cada indicador que controlo com os sitios online. Uma das primeiras coisas que procurei foi pelo EBIT dos últimos 12 meses. No caso da Altona, eu estou calculando 7.248K ao tempo que o fundamentus calcula 10.051K, essa diferencia de 33% não pode ser despreciada. Agradeço se alguém quer fazer o controle desta conta em particular. Já sei que todos os indicadores de valor de mercado normalmente estão errados (e algumas vezes por muito) nos sitios online, mas não encontro razão para o fundamentus errar nesta conta particular do DRE. Como eu ainda não testei para nada meu novo programa, talvez eu esteja errado, por isso peço aqui por olhos independentes. Não tenho Altona planilhado, mas dando uma conferida nos números, o seu está correto Potuz. Como vc programou p/ calcular o DPA (dividendos por ação)? Mais especificamente na contabilização dos dividendos pagos p/ a montagem do DY. Obrigado cadu28 pela conferida. Com respeito ao DY, atualmente estou tirando do DVA que é o lugar onde as companhias declaram as remunerações de capital próprio no balanço. Porém tenho no meu TODO list para fazer a mesma conta tirando do formulário cadastral da companhia, que é outro arquivo que vem dentro do ZIP do balanço onde constam as datas da reunião, datas de pagamento, desdobramento do pagamento por ação, etc. Por enquanto já acho que tirando do DVA é mais adequado que o que a maioria dos sitios fazem (EDIT: excepto em casos patológicos como a VALE que não declara essas contas, e não entendo o porque é que a VALE não declara aqui os proventos) Eu já tenho o software funcionando em linux, dá para tirar automáticamente todos os balanços históricos da CVM, sem ter que fazer mais que um "select and click". Estou neste momento tentando arrumar uma máquina com windows para começar a fazer os testes, vai levar um tempo pois tem mais de 25 anos desde a última versão de Windows que eu utilizei.
|
|
|
Post by cjdduarte on Oct 26, 2016 13:25:46 GMT -3.5
Boa tarde. Começando a acompanhar o tópico. Gostaria de uma ajuda. Ainda não entendi de onde tirou os códigos das ações. Pode informar o link direto da CVM? Oi está no XML do arquivo do ITR? E o setor de atuação da companhia? Como conseguir a lista (hierarquia)? Cadastro prévio?
|
|
Potuz
New Member
Posts: 3,392
|
Post by Potuz on Oct 26, 2016 19:41:34 GMT -3.5
Boa tarde. Começando a acompanhar o tópico. Gostaria de uma ajuda. Ainda não entendi de onde tirou os códigos das ações. Pode informar o link direto da CVM? Oi está no XML do arquivo do ITR? E o setor de atuação da companhia? Como conseguir a lista (hierarquia)? Cadastro prévio? Os códigos foram tirados originalmente pelo rufuslenhador do sitio da BMF&Bovespa, na minha nova versão eu estou tirando dos FR das empresas. Os setores de atuações se encontram também no Formulário cadastral da empresa. Eu tirei eles originalmente da lista que a CVM fornece com os dados cadastrais de todas as empresas (links na primeira página), porém na minha nova versão do software quero tirar eles do Formulário Cadastral pois eles mudam muito.
|
|
Potuz
New Member
Posts: 3,392
|
Post by Potuz on Nov 5, 2016 7:28:54 GMT -3.5
Para os que entendem: www.potuz.net/denetOs que não, daqui a pouco estarei postando binários para Windows, Linux e Mac OS X. Estou feliz pela aba de gráficos e pela aba para fazer download automático da CVM. Podem ver screenshots naquela página.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Nov 5, 2016 10:53:20 GMT -3.5
|
|
|
Post by cjdduarte on Nov 6, 2016 21:40:43 GMT -3.5
Boa. Vai ser de grande ajuda.
|
|
Potuz
New Member
Posts: 3,392
|
Post by Potuz on Nov 7, 2016 6:45:14 GMT -3.5
Boa. Vai ser de grande ajuda. Se não lembro errado, aquela planilha não tem os códigos cvm. Foi por isso que a gente decidiu resolver de um outro jeito.
|
|
|
Post by cjdduarte on Nov 8, 2016 13:35:42 GMT -3.5
Potuz , no arquivo XML existem doze "Valorconta" ('Valorconta1', 'Valorconta2', ..., 'Valorconta12') Está documentado qual deve ser verificado, ou é no olhometro mesmo? Vi que cada hierarquia de conta possui informações diferente utilizando valorcontas diferentes e não necessariamente a Valorconta1 (o que seria mais lógico). Isso pode variar por trimestre?
|
|
Potuz
New Member
Posts: 3,392
|
Post by Potuz on Nov 8, 2016 16:00:59 GMT -3.5
Potuz , no arquivo XML existem doze "Valorconta" ('Valorconta1', 'Valorconta2', ..., 'Valorconta12') Está documentado qual deve ser verificado, ou é no olhometro mesmo? Vi que cada hierarquia de conta possui informações diferente utilizando valorcontas diferentes e não necessariamente a Valorconta1 (o que seria mais lógico). Isso pode variar por trimestre? Baixa as fontes do meu programa e olha no arquivo HACKING, ai tem a explicação daquelas contas, elas se comportam de maneira differente em cada demonstrativo e dependendo do trimestre/DFP. No ficheiro Grupos e Quadros também tem uma explicação e procura também em sistemas.cvm.gov.br/port/ciasabertas/Leiaute_de_Formularios_do_EmpresasNET.asp que vai te ajudar. O meu conselho é para hackear o meu próprio programa que já está funcionando com gráficos, reportes, descarga automática e todo.
|
|
Potuz
New Member
Posts: 3,392
|
Post by Potuz on Nov 9, 2016 11:04:05 GMT -3.5
Boa. Vai ser de grande ajuda. cjdduarte, estou adjuntando uma lista CSV com os códigos CVM e os tickers que utilizam. A terceira coluna pode não utilizar, é utilizada pelo meu programa. Espero seja o que precisava. tickers.csv (10.25 KB)
|
|
|
Post by cjdduarte on Nov 9, 2016 13:51:05 GMT -3.5
Boa. Vai ser de grande ajuda. cjdduarte , estou adjuntando uma lista CSV com os códigos CVM e os tickers que utilizam. A terceira coluna pode não utilizar, é utilizada pelo meu programa. Espero seja o que precisava. Obrigado, era isso mesmo. Ainda vou tentar automatizar a geração deste arquivo semelhante ao seu. Ainda esta um pouco obscuro essa parte especificamente. Sobre o item anterior, valeu. Foi de grande ajuda. Ainda vou tentar montar um "mapa do site" melhorado da CVM. Meu objetivo é sempre pegar da fonte original (CVM) e como eu disse antes, o site da CVM é muito ruim pensado na experiencia do usuário. Em tempo, estou fazendo um projeto pessoal em Python, e estou tentando ao máximo não recorrer a códigos já implementados. Apenas pegar a ideia geral (baixar o dado A do local X e concatenar com o dado B do local Y) e quando possível baseado em documentação oficial. Obrigado novamente.
|
|
Potuz
New Member
Posts: 3,392
|
Post by Potuz on Nov 25, 2016 12:55:43 GMT -3.5
cadu28 o software ainda não está num estágio como para você. Tem que saber compilar e lidar com um monte de imprevistos por enquanto. Assim que o pessoal que está acostumado com essas coisas teste poderemos disponibilizar pacotes binários como para você. Mas falta muito para isso ainda. Quando eu abra o projeto em github vou postar instruções para utilizar autotools para compilar Beleza Potuz. Quero saber quando vc vai disponibilizar um compatível com este aqui: hehe, não resisti a piada! cadu28, olha abaixo e a izquerda nesta imagem Levou um tempo mais ja esta funcionando em windows, nestes dias finalizo fazendo o .deb para Debian/Ubuntu e faco o primeiro release!
|
|
|
Post by cadu28 on Nov 25, 2016 16:54:36 GMT -3.5
Beleza Potuz. Quero saber quando vc vai disponibilizar um compatível com este aqui: hehe, não resisti a piada! cadu28 , olha abaixo e a izquerda nesta imagem Levou um tempo mais ja esta funcionando em windows, nestes dias finalizo fazendo o .deb para Debian/Ubuntu e faco o primeiro release! Parece que ficou bem legal! Cuidado p/ não se apaixonar pelo windows Potuz!
|
|
Potuz
New Member
Posts: 3,392
|
Post by Potuz on Nov 25, 2016 17:54:21 GMT -3.5
Parece que ficou bem legal! Cuidado p/ não se apaixonar pelo windows Potuz! Cara, na realidade estou orando para alguem se propor em fazer os pacotes binarios das novas versoes (que virao com certeza logo) pois estou odiando cada minuto neste computador (por exemplo ainda nao consigo escrever com acentos).
|
|
|
Post by palata on Nov 25, 2016 18:36:02 GMT -3.5
alguem sabe onde encontrar algum arquivo com os eventos corporativos (proventos, desdobramentos, grupamentos, etc)~. Não achei no site da bovespa, será que existe em algum outro lugar, cetip, cvm, sei la..
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Nov 25, 2016 18:42:59 GMT -3.5
alguem sabe onde encontrar algum arquivo com os eventos corporativos (proventos, desdobramentos, grupamentos, etc)~. Não achei no site da bovespa, será que existe em algum outro lugar, cetip, cvm, sei la.. Neste link você encontra os fatos relevantes diários, inclusive esses eventos que você citou. Se você quiser algo mais específico, acho que você deve entrar na área de empresas listadas do site Bovespa e procurar pela empresa desejada.
|
|
rst
Moderador
Posts: 6,047
|
Post by rst on Nov 25, 2016 19:36:25 GMT -3.5
alguem sabe onde encontrar algum arquivo com os eventos corporativos (proventos, desdobramentos, grupamentos, etc)~. Não achei no site da bovespa, será que existe em algum outro lugar, cetip, cvm, sei la.. Põe no Google o ticker seguido de bmf (ex: petr4 bmf) Vai encontrar a página da empresa no site da bovespa. No alto da página, escolha eventos corporativos. Lá tem exatamente as informações que procura (proventos, desdobramentos, grupamentos e bonificações)
|
|
|
Post by palata on Nov 26, 2016 7:00:19 GMT -3.5
então galera, queria algo mais consistente, tipo um arquivo com essas informações, nesses links terei que todo dia entrar em cada página de cada empresa. A bovespa por exemplo disponibiliza diariamente um arquivo com as cotações de todas as empresas, queria algo do tipo, e não entrar em uma a uma.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Nov 26, 2016 7:21:22 GMT -3.5
então galera, queria algo mais consistente, tipo um arquivo com essas informações, nesses links terei que todo dia entrar em cada página de cada empresa. A bovespa por exemplo disponibiliza diariamente um arquivo com as cotações de todas as empresas, queria algo do tipo, e não entrar em uma a uma. Aqui vai um código de macro em VBA para o Access para importar o arquivo de cotações históricas da Bovespa, crie as 3 tabelas necessárias de acordo com o layout informado no site da bovespa (http://www.bmfbovespa.com.br/pt_br/servicos/market-data/historico/mercado-a-vista/cotacoes-historicas/): Public Function IMPORTA_ARQUIVO_DE_COTACOES_HISTORICAS(Optional arq)
'************************************************************************************************
'************************************************************************************************
'*
'*
'************************************************************************************************
'************************************************************************************************
Dim Linha, aux, cont
Dim dbs As Database
Dim Registro00 As Recordset
Dim Registro01 As Recordset
Dim Registro99 As Recordset
Dim AUX_TIPREG
Dim AUX_DATA_DO_PREGÃO
Dim AUX_CODBDI
Dim AUX_CODNEG
Dim AUX_TPMERC
Dim AUX_PRAZOT
'**********************************************************************************
'*
'**********************************************************************************
On Error Resume Next
If IsMissing(arq) Then
arq = InputBox("Arquivo:")
If Not FileOK(arq) Then
MsgBox ("ARQUIVO NÃO ENCONTRADO !")
Exit Function
End If
End If
cont = 0
Set dbs = CurrentDb
Set Registro00 = dbs.OpenRecordset("REGISTRO_00", dbOpenTable)
Set Registro01 = dbs.OpenRecordset("REGISTRO_01", dbOpenTable)
Registro01.Index = "XAVE"
Set Registro99 = dbs.OpenRecordset("REGISTRO_99", dbOpenTable)
Open arq For Input As #1
Do While (Not EOF(1))
Line Input #1, Linha
Select Case Mid(Linha, 1, 2)
Case "00" 'header
With Registro00
.AddNew
!TIPO_DE_REGISTRO = posi(Linha, 1, 2)
!NOME_DO_ARQUIVO = posi(Linha, 3, 15)
!CÓDIGO_DA_ORIGEM = posi(Linha, 16, 23)
!DATA_DA_GERAÇÃO_DO_ARQUIVO = posi(Linha, 24, 31)
.Update
cont = cont + 1
End With
Case "01" 'cotação
'chave primária
AUX_TIPREG = posi(Linha, 1, 2)
AUX_DATA_DO_PREGÃO = posi(Linha, 3, 10)
AUX_CODBDI = posi(Linha, 11, 12)
AUX_CODNEG = posi(Linha, 13, 24)
AUX_TPMERC = posi(Linha, 25, 27)
AUX_PRAZOT = posi(Linha, 50, 52)
Registro01.Seek "=", AUX_TIPREG, AUX_DATA_DO_PREGÃO, AUX_CODBDI, AUX_CODNEG, AUX_TPMERC, AUX_PRAZOT
If Registro01.NoMatch Then 'NAO ACHOU
With Registro01
.AddNew
!TIPREG = posi(Linha, 1, 2)
!DATA_DO_PREGÃO = posi(Linha, 3, 10)
!CODBDI = posi(Linha, 11, 12)
!codNeg = AllTrim(posi(Linha, 13, 24))
!TPMERC = posi(Linha, 25, 27)
!NOMRES = AllTrim(posi(Linha, 28, 39))
!ESPECI = DeixaSoUmBranco(posi(Linha, 40, 49))
!PRAZOT = posi(Linha, 50, 52)
!MODREF = posi(Linha, 53, 56)
!PREABE = CDbl(posi(Linha, 57, 69)) / 100
!PREMAX = CDbl(posi(Linha, 70, 82)) / 100
!PREMIN = CDbl(posi(Linha, 83, 95)) / 100
!PREMED = CDbl(posi(Linha, 96, 108)) / 100
!PreUlt = CDbl(posi(Linha, 109, 121)) / 100
!PREOFC = CDbl(posi(Linha, 122, 134)) / 100
!PREOFV = CDbl(posi(Linha, 135, 147)) / 100
!TOTNEG = CSng(posi(Linha, 148, 152))
!QUATOT = CSng(posi(Linha, 153, 170))
!VOLTOT = CDbl(posi(Linha, 171, 188)) / 100
!PREEXE = CDbl(posi(Linha, 189, 201)) / 100
!INDOPC = posi(Linha, 202, 202)
!DATVEN = posi(Linha, 203, 210)
!FATCOT = CSng(posi(Linha, 211, 217))
!PTOEXE = CDbl(posi(Linha, 218, 230)) / 1000000
!CODISI = posi(Linha, 231, 242)
!DISMES = posi(Linha, 243, 245)
!datapreg = InvData(posi(Linha, 3, 10))
!FISCALWEEK = GetFwExt(CDate(InvData(posi(Linha, 3, 10))))
!FISCALWEEKANT = DecFW(GetFwExt(CDate(InvData(posi(Linha, 3, 10)))))
!OSCIL_PREGAO = (CDbl(posi(Linha, 109, 121)) / 100) - (CDbl(posi(Linha, 57, 69)) / 100)
.Update
cont = cont + 1
End With
End If
Case "99" 'trailer
With Registro99
.AddNew
!TIPO_DE_REGISTRO = posi(Linha, 1, 2)
!NOME_DO_ARQUIVO = posi(Linha, 3, 15)
!CÓDIGO_DA_ORIGEM = posi(Linha, 16, 23)
!TOTAL_DE_REGISTROS = CSng(posi(Linha, 32, 42))
.Update
cont = cont + 1
End With
End Select
Loop
Close #1
Registro00.Close
Registro01.Close
Registro99.Close
dbs.Close
If IsMissing(arq) Then
MsgBox "FIM COTAÇÕES HISTÓRICAS - reg importados:" & Str(cont)
Else
Debug.Print "FIM COTAÇÕES HISTÓRICAS - reg importados:" & Str(cont)
End If
End Function
|
|