| Motivação |
|
Pra entender o uso desse programa você precisa saber primeiro sobre a motivação pra sua implementação.
Notas de corretagem.
É complicado saber o que representa todos aqueles valores nas notas de corretagens.
Elas são muitas nebulosas.
O programa foi feito pra torná-las um pouco mais claras.
Ele separa as operações do tipo comum das operações do tipo day-trade.
Em seguida mostra os valores cobrados pelas duas taxas em vigor: taxa de liquidação e taxa de negociação.
De posse desses valores, bem como a da corretagem, ele calcula o total gasto numa determinada operação (compra ou venda).
Caso tenha ocorrido day-trade, apresenta também o resultado (lucro ou prejuízo) dessa modalidade de operação.
|
| Exemplo |
|
Suponha que você disparou pra bolsa as seguintes ordens:
| COMPRA |
DATA |
CORRETAGEM |
PREÇO |
QUANTIDADE |
| PETR4 |
04/01/2010 11:00 |
10,00 |
31,15 |
600 |
| PETR4 |
04/01/2010 13:00 |
10,00 |
31,50 |
300 |
| BVMF3 |
04/01/2010 13:30 |
10,00 |
12,00 |
500 |
|
| VENDA |
DATA |
CORRETAGEM |
PREÇO |
QUANTIDADE |
| PETR4 |
04/01/2010 11:30 |
10,00 |
32,00 |
300 |
| PETR4 |
04/01/2010 12:00 |
10,00 |
32,30 |
200 |
| PETR4 |
04/01/2010 15:00 |
10,00 |
32,05 |
400 |
| VALE5 |
04/01/2010 16:00 |
10,00 |
43,00 |
100 |
Ocorrem aí operações do tipo day-trade pra PETR4, operação comum de compra de BVMF3 e operação comum de venda de VALE5.
O programa então fragmentará essas operações e as indexará (Seção 1).
Depois as reagrupará em operações do tipo day-trade e do tipo comum (Seção2 e Seção 3).
E finalmente será apresentado um totalizador (Seção 4).
| [Seção 1] Fragmentação das operações |
| |
Ativo código da ação |
Qtd quantidade de ações |
Prec preço unitário |
TxL taxa de liquidação |
TxN taxa de negociação |
Op indexador de operação |
| COMPRAS |
| |
PETR4 |
300 |
31,15 |
0,5607 |
1,7756 |
DT0 |
| |
PETR4 |
200 |
31,15 |
0,3738 |
1,1837 |
DT1 |
| |
PETR4 |
100 |
31,15 |
0,1869 |
0,5918 |
DT2 |
| |
PETR4 |
300 |
31,50 |
0,5670 |
1,7955 |
DT3 |
| |
BVMF3 |
500 |
12,00 |
0,36 |
1,71 |
C0 |
|
| VENDAS |
| |
PETR4 |
300 |
32,00 |
0,5760 |
1,8240 |
DT0 |
| |
PETR4 |
200 |
32,30 |
0,3876 |
1,2274 |
DT1 |
| |
PETR4 |
100 |
32,05 |
0,1923 |
0,6090 |
DT2
|
| |
PETR4 |
300 |
32,05 |
0,5769 |
1,8268 |
DT3 |
| |
VALE5 |
100 |
43,00 |
0,258 |
1,2255 |
C1 |
|
| |
| [Seção 2] Day-trade |
| Ativo |
PETR4 |
| |
| Total da operação |
57020,00 |
| |
| Compra total |
28140,00 |
| Compra preço médio total |
28167,035 |
| Compra preço médio |
28167,035/900 = 31,2967055555555 |
| |
| Venda total |
28880,00 |
| Venda preço médio total |
28842,78 |
| Venda preço médio |
28842,78/900 = 32,0475333333333 |
| |
| Quantidade |
900 |
| Taxa de liquidação 0,0060% |
3,4212 |
| Taxa de negociação 0,0190% |
10,8338 |
| Taxa total |
14,255 |
| |
| Resultado bruto |
28880,00 - 28140,00 = 740,00 |
| Resultado líquido |
28842,78 - 28167,035 = 675,745 |
|
| |
| [Seção 3] Comum |
| Operação |
C0 |
| Ativo |
BVMF3 |
| |
| Quantidade |
500 |
| Preço da compra |
12,00 |
| Bruto |
6000,00 |
| Corretagem |
10,00 |
| Taxa de liquidação 0,0060% |
0,36 |
| Taxa de negociação 0,0285% |
1,71 |
| Taxa total |
2,07 |
| |
| Total da operação |
6000,00 + 10,00 + 0,36 + 1,71 = 6012,07 |
|
| Operação |
C1 |
| Ativo |
VALE5 |
| |
| Quantidade |
100 |
| Preço da venda |
43,00 |
| Bruto |
4300,00 |
| Corretagem |
10,00 |
| Taxa de liquidação 0,0060% |
0,2580 |
| Taxa de negociação 0,0285% |
1,2255 |
| Taxa total |
1,4835 |
| |
| Total da operação |
4300,00 - 10,00 - 0,2580 - 1,2255 = 4288,5165 |
|
| |
| [Seção 4] Total |
| Compra |
34140,00 |
| Venda |
33180,00 |
| Compra+Venda |
67320,00 |
| Corretagem |
70,00 |
| Taxa de liquidação |
4,0392 |
| Taxa de negociação |
13,7693 |
| Taxa total |
17,8085 |
| Day-trade resultado |
675,745 |
|
|
| |
| Escopo |
|
É necessário definir um escopo ao se implementar um programa.
Nesse programa há algumas restrições a serem consideradas.
São elas:
1.
|
O programa trabalha apenas com operações no MERCADO À VISTA e com corretagens fixas por ordem de envio.
Deve-se incluir o valor de ISS nessa corretagem. Cada Estado brasileiro é que define o valor do ISS a ser cobrado.
Ex.:
CORRETAGEM: 5,00
ISS: 0,102
Deve-se lançar uma corretagem de 5,102 no programa.
|
2.
|
Lançar exatamente no programa os dados da ordem (de compra ou venda) à bolsa, em vez de lançar como aparece na nota de corretagem.
A nota reflete o retorno da bolsa e não os dados de envio.
Pode ocorrer de se enviar a seguinte ordem pra bolsa:
| Op |
Ativo |
Qtd |
Preço |
Corretagem |
| C |
ABCD |
500 |
9,17 |
21,05 |
Mas aparecer na nota:
C ABCD 300 9,17
C ABCD 200 9,17
Corretagem: 21,05
Significa que a bolsa executou a ordem por partes.
Ela poderia executar apenas a primeira parte (300 PARCIALMENTE EXECUTADA) e deixar a segunda em pendência de execução (200 PENDENTE).
Há essa possibilidade porque as corretoras permitem vários tipos de ordem, exs.: "LIMITADA", "TUDO OU NADA", etc.
Portanto, no programa deve-se lançar:
| Op |
Ativo |
Qtd |
Preço |
Corretagem |
| C |
ABCD |
500 |
9,17 |
21,05 |
Mas e se a bolsa negociar a preços diferentes?
C ABCD 300 9,17
C ABCD 200 9,16
corretagem: 21,05
Nesse caso deve-se lançar no programa:
| Op |
Ativo |
Qtd |
Preço |
Corretagem |
| C |
ABCD |
300 |
9,17 |
21,05 |
| C |
ABCD |
200 |
9,16 |
00,00 |
Ou seja, o programa trabalha com corretagens individuais por operação.
|
3.
|
Lançar cronologicamente no programa os dados da ordem (de compra ou venda) à bolsa, em vez de lançar como aparece na nota de corretagem.
Pode ocorrer a seguinte situação durante os disparos pra bolsa:
| Op |
Ativo |
Qtd |
Preço |
Corretagem |
| C |
ABCD |
500 |
9,17 |
21,05 |
| C |
XYZZ |
200 |
3,24 |
21,05 |
Mas aparecer na nota:
C XYZZ 200 3,24 21,05
C ABCD 500 9,17 21,05
O programa espera que se lance os dados conforme a cronologia real de disparos de ordens (de compra ou venda) à bolsa e não como possa vir a aparecer na nota.
|
|
| |
| Armazenamento |
|
A lista de operações pode ser armazenada no sistema de arquivos.
Basta clicar no botão .
O programa grava todas tais listas a partir do subdiretório Salvar.
A estrutura do salvamento é feita da seguinte maneira:
Salvar\Corretora\Conta\Ano\Ano-Mês-Dia.txt
onde Corretora é o nome da corretora;
Conta é o nome da conta na corretora (D ou I);
Ano, Mês e Dia são ano, mês e dia informados na data do pregão.
Pra abrir uma lista de operações clicar no botão .
O texto do resultado também pode ser salvo no sistema de arquivos.
Basta clicar no botão .
O programa grava os resultados a partir do subdiretório Exportar.
A estrutura do salvamento do resultado é feita da seguinte maneira:
Exportar\Corretora\Conta\Ano\Ano-Mês-Dia.txt
Todos os arquivos são gerados no formato texto ASCII (codificação ANSI).
|
| |
| Configuração |
|
Os arquivos de configuração do programa estão localizados no subdiretório Info.
São todos do formato texto ASCII (codificação ANSI).
| ativos.txt |
Armazena os códigos dos ativos.
Podem ser inseridos em qualquer ordem no arquivo. |
| config.txt |
Há 3 atributos: avisa; fonte-resultado-nome; fonte-resultado-tamanho.
avisa: Se for 0, o programa não mostra o aviso no final do resultado.
fonte-resultado-nome: configura o nome da fonte do texto do resultado.
fonte-resultado-tamanho: configura o tamanho da fonte do texto do resultado.
|
| contas.txt |
Armazena os tipos de contas usadas no programa.
Ele pré-define as contas em D (de depósito) e I (de investimento).
|
| corretoras.txt |
Armazena as corretoras usadas no programa.
São configurados 4 atributos por linha.
Na primeira coluna informa-se o nome, na segunda a corretagem total fixa, na terceira se a corretora faz rateio de corretagem e na última se ela faz pós-enquadramento.
|
| taxas.txt |
Armazena as taxas usadas pelo programa. São configurados 4 atributos por linha.
Na primeira coluna fica o identificador da taxa:
1 pra taxa de liquidação comum;
2 pra taxa de negociação comum;
3 pra taxa de liquidação day-trade;
4 pra taxa de negociação day-trade.
Na segunda coluna fica a data inicial de vigência da taxa.
Na terceira coluna fica a data final de vigência da taxa.
Na última coluna fica o valor da taxa em notação percentual, mas sem colocar o sinal de porcentagem.
|
|
| |
| Pra baixar |
|
| |
| On-line |
|
É possível também executar o aplicativo na web: calculAÇÃOnline.
|
|
|