Skip to content

Instantly share code, notes, and snippets.

@maurobaraldi
Last active March 1, 2020 16:13
Show Gist options
  • Save maurobaraldi/b62154b8033709d14f84fd1b6cdbb7c9 to your computer and use it in GitHub Desktop.
Save maurobaraldi/b62154b8033709d14f84fd1b6cdbb7c9 to your computer and use it in GitHub Desktop.
Análise de movimentação diária de ativos da Bovespa

=== Download do arquivo compatado, e descompactação ===

wget -qO- -O tmp.zip ftp://ftp.bmf.com.br/MarketData/Bovespa-Vista/"NEG_$(date '+%Y%m%d').zip" && unzip tmp.zip && rm tmp.zip

== Layout do arquivo ==

ftp://ftp.bmf.com.br/MarketData/NEG_LAYOUT_portuguese.txt

=== Limpeza do cabeçalho e rodapé ===

tail -n +2 "NEG_$(date '+%Y%m%d').TXT" | head -n -1 > test.txt && mv test.txt "NEG_$(date '+%Y%m%d').TXT"

=== Quantidade de transações por ativo ===

for i in $(awk -F";" '{print $2}' "NEG_$(date '+%Y%m%d').TXT" | uniq); do echo "$i, $(grep $i "NEG_$(date '+%Y%m%d').TXT" | wc -l)"; done

@maurobaraldi
Copy link
Author

Lista de ativos negociados no dia

awk -F';' '{print $2}' /home/maurobaraldi/Downloads/NEG_20200219.txt | uniq

Para ter a quantidade de papeis negociados

awk -F';' '{print $2}' /home/maurobaraldi/Downloads/NEG_20200219.txt | uniq | wc -l

Lista de ativos (com opções) negociados no dia e respectivos volumes

for i in $(awk -F';' '{print $2}' /home/maurobaraldi/Downloads/NEG_20200219.txt | uniq); do echo "$i: $(cat /home/maurobaraldi/Downloads/NEG_20200219.txt | grep $i | wc -l)"; done

Lista de ativos (sem opções) negociados no dia e respectivos volumes

for i in $(awk -F';' '{print $2}' /home/maurobaraldi/Downloads/NEG_20200219.txt | uniq | grep "[A-Z][3-6]$"); do echo "$i: $(cat /home/maurobaraldi/Downloads/NEG_20200219.txt | grep $i | wc -l)"; done

Valor máximo negociado por papel

cat /home/maurobaraldi/Downloads/NEG_20200219.txt | grep AFLT3 | cut -d ";" -f4 | sort | tail -1 | bc

Valor mínimo negociado por papel

cat /home/maurobaraldi/Downloads/NEG_20200219.txt | grep AFLT3 | cut -d ";" -f4 | sort | head -1 | bc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment