setembro 05, 2014

Novo Velho Artigo

Interrompo rapidamente minhas férias para avisar que entrou no ar um WP novo, escrito com base em um dos capítulos da tese de doutorado.

- Novo WP, mas, como falei, baseado em uma tese defendida quatro anos atrás (falta de vergonha na cara, levar tanto tempo assim para transformar a tese em artigo...).

- Velho WP, já que trata, em um framework moderno, das discussões iniciadas por Frank Ramsey (1927) sobre a tributação relativa entre os fatores de produção trabalho e capital. Também velho porque recupera a análise de Friedman (1969) sobre a política monetária ótima diante dos custos de oportunidade de carregar moeda.

- Novo WP porque amplia o escopo dos problemas citados anteriormente para discutir aspectos associados a economias abertas, tais como os efeitos em termos de welfare da formação de alguns preços em mercados internacionais; a existência de diferenciais de inflação entre a economia doméstica e o resto do mundo; o grau de abertura da economia.

- Velho WP porque usa técnicas semelhantes àquelas desenvolvidas em Schmitt-Grohé e Uribe (2004, 2005, 2006 e 2007) para tratar de modelos de médio/grande porte.

- Novo WP porque adiciona, com resultados fundamentais, o imposto sobre consumo à análise daqueles autores.

Bem, se é novo ou velho, fica a critério de vocês decidirem. Espero que gostem.

Saudações!

maio 25, 2014

Ainda R e a PNAD

Duas dicas para o trabalho com microdados usando o pacote em R criado pelo professor Anthony Damico e devidamente linkado no site do IBGE na página da pesquisa:

1) Para os usuários Mac, podem ocorrer problemas com a tradução de certas palavras na pesquisa quando os códigos são baixados direto do site do professor Damico. Este problema de "encoding" pode ser (ao menos parcialmente) resolvido acrescentando uma linha no começo do código principal:

options( encoding="LATIN-9" )

O professor Damico já tinha sugerido algo parecido em outras bases de dados, mas usar o mesmo "encoding" sugerido ("WINDOWS-1252") não funcionava para a pesquisa brasileira. Com o "LATIN-9", tudo funciona direito. Para que a "tradução" dos códigos para o Mac seja completa, é necessário também alterar os links quando os comandos "source_url" e "download" são chamados, substituindo espaços por "%20".

A propósito, o professor Damico é muito atencioso com o feedback que oferecem sobre o uso dos códigos e eventuais problemas: além de responder os e-mails com dúvidas muito rapidamente, ele tem um pequeno aplicativo com chat disponível no site que permite um contato mais eficiente quando ele está no ar.

2) A respeito do código da PNAD, um pequeno truque para os interessados na parte de rendimentos: para calcular o rendimento médio dos entrevistados, é necessário excluir os "NAs" das respostas ao questionário. Eu, neófito no trabalho com microdados, e ainda mais neófito no trabalho com o R, demorei para aprender que, nas opções do comando "svymean", existe uma chamada "na.rm=TRUE", que elimina os "NAs" da amostra ao calcular a média. O comando deve ser usado com cuidado: se for generalizado no código, todas as amostras que possuem algum valor inválido terão elementos descartados, o que nem sempre é apropriado.

Se você, leitor, já conhecia a opção do comando, desculpe, mas é o papo de criança que ganhou brinquedo novo, tem que dar um desconto.

Saudações!

maio 03, 2014

R: Elogio ao IBGE

Possivelmente o pessoal de microeconomia, desenvolvimento, entre outras áreas, já sabe do que vou falar por aqui, mas acho que vale o registro, de toda a forma. Estava precisando fazer algumas inferências com base na PNAD do IBGE e notei um pequeno link colocado bem embaixo da página da pesquisa, no próprio site do IBGE.


Achei interessante a idéia de manipular os microdados, isto ajudaria bastante na pesquisa que estou fazendo e resolvi tentar. O link leva para um blog com um repositório significativo de códigos em R desenvolvidos para operar com pesquisas populacionais do mundo inteiro, e as principais pesquisas na área do IBGE (PNAD, POF e PME) estão por lá, com códigos bastante simples para fazer o download, organizar os dados e extrair os elementos desejados. Os exemplos são muito intuitivos também, ensinando como trabalhar com totais da população, médias de outras variáveis associadas às observações de indivíduos, formação de subamostras categorizadas, entre outros.

Neste aspecto, também, colabora muito a qualidade dos microdados divulgados pelo IBGE: todos os dicionários, conceitos e definições estão disponíveis no site, deixando tudo mais fácil para operar. Outro ponto bacana é a variedade de códigos disponibilizada pelo IBGE: existe uma versão alternativa do programa, (se entendi bem) desenvolvida por técnicos da instituição, mas nem por isto a versão alternativa deixa de ganhar destaque no site.

Este bom trabalho da instituição me permite economizar tempo e possibilita uma análise mais apurada do que quero fazer. Em uma época tão tumultuada para os técnicos de lá, fica aqui registrado mais um elogio (já tinha feito em outra oportunidade) ao IBGE.

Saudações!

fevereiro 28, 2014

Carnaval 2014

Hoje começa oficialmente o carnaval para mim, e o bloco já está na rua. Deliberadamente me aproprio de um ótimo nome que li no Twitter: faço parte, e sou o único membro do bloco “Acadêmicos de Milton Friedman”. Na verdade, para ser sincero, eu e meu amigo Johnny Andador fazemos parte do bloco. Johnny aparece de vez em quando, talvez por isto eu diga que sou o único membro.

O ritual carnavalesco começa falando com a esposa pela internet. Ela já longe de Brasília, dois dedinhos para cima, a-la-la-ô! Iniciação encerrada. O bloco terá diversos desfiles ao longo do feriado: filtros multivariados, finanças públicas, estimações não-lineares, economia computacional e, para variar, modelos DSGE. Todos se movendo de forma sincronizada: ao final, o jurado anuncia: “HARMONIA, NOTA 10!” A fantasia é única, para todo o feriado: calça cinza larga (aquela!!!) e camiseta de show do Sepultura (“ALEGORIAS E ADEREÇOS, NOTA DEZ!”).

O samba-enredo também é o mesmo, todo o ano: 2112, Rush. “We are the Priests of the Temples of Syrinx, our great computers filled the hollowed halls” (“BATERIA, NOTA DEZ!”). Variações: Pink Floyd, Stones, Bowie, Fito… 



O folião se alimenta. Junk food, refrigerante, café, muito café para manter o ritmo. Uma pizza tamanho família a ser pedida amanhã, ainda não sei que sabor. Sei que vai terminar em gorgonzola: com o tempo da pizza fora da geladeira, a maturação do queijo é uma obrigação. Logo, a pizza começa um sabor qualquer, termina um sabor qualquer mais gorgonzola.

A festa não tem horários: apenas a evolução dos blocos determina a hora de dormir, a hora de acordar e a hora de comer (“EVOLUÇÅO, NOTA DEZ!”). O único horário: pegar minhas meninas no aeroporto, na terça-feira.


Bom carnaval, NOTA DEZ, para todos!

dezembro 31, 2013

Feliz 2014

Aos oito leitores do blog, os votos de um feliz 2014! Que seus melhores sonhos se realizem neste ano que começa daqui a pouco. Muito trabalho, muitos resultados, muitas felicidades!

Saudações!

dezembro 15, 2013

Algumas Impressões: SBE 2013

Estive nesta semana participando mais uma vez do Encontro Brasileiro de Econometria, EBE 2013, realizado mais uma vez em Foz do Iguaçu. Alguns comentários:

1) De uma forma geral, o encontro me pareceu esvaziado. Não tanto pelos professores, já que os que sempre costumam participar estavam por lá, além de outros que aparecem esporadicamente. O encontro pareceu esvaziado, sim, pela aparente ausência de pessoas circulando pelas salas. Não sei como se comportou o número total de inscrições para ANPEC/SBE este ano, mas tinha, visualmente falando, menos gente que em 2011, por exemplo.

2) Poucas novidades nas sessões de macroeconomia que participei. Alguns fazendo experimentos com modelos DSGE, mas sem nenhuma inovação (mais sobre isto a seguir); muitos modelos semi-estruturais, o que foi interessante, já que não vi muitos modelos VAR; muitas sessões voltadas para macro de curto-prazo e política monetária, pouca coisa sobre crescimento.

3) Sobre os trabalhos com modelos DSGE: ainda sofremos com o drama de ter um software que faz muita coisa para o pesquisador, sem obrigar uma reflexão um pouco mais profunda sobre o que está sendo modelado/estimado. Já fiz piada sobre isto, mas depois de tanto tempo acho que está na hora da academia subir um pouco o nível das discussões. Não dá para escrever modelos e não entender as consequências das hipóteses adotadas e sair tirando conclusões apressadas; não dá para colocar um modelo para estimar sem pensar nos dados, nas priors, nos coeficientes estimados; não dá para continuar pegando um modelo pronto, de economia fechada, estimado para os Estados Unidos, e achar natural aplica-lo para o Brasil. Como não vivo em sala de aula, não sei se o problema está nos professores (chegam para a turma e dizem "tem um pacote que faz tudo para vocês, olhem lá"), não sei se o problema está com os alunos ("Oba, achei estes códigos na internet, coloco dados para o Brasil e está pronta a minha tese/dissertação"). Sei que existe um problema que deve ser enfrentado.

4) O encontro sempre tem o seu lado ridículo, por óbvio: professor participando de sunga e camiseta da recepção de abertura junto das piscinas do hotel; professores famosos na última noite enrolando a língua no bar do hotel; professores que se odeiam durante o dia andando abraçados. O que não faz uma mesa de bar!!!

5) O grande tema entre os professores foi a divulgação dos resultados da avaliação trienal da CAPES sobre os cursos de pós-graduação. Muito choro e ranger de dentes, boa parte deles com razão. A impressão que tive é que algumas avaliações estão muito mal colocadas. Se estou certo, ainda falta divulgar uma abertura maior de números e critérios que justificaram as escolhas, mas o choro pareceu justo.

6) Não consegui nenhuma informação sobre onde será o próximo encontro. Algum dos meus quatro leitores restantes sabe algo a respeito? Acho que notícias sobre futuros encontros não se espalharam por causa da mudança de secretaria na ANPEC e na SBE neste ano, combinado com a repetição da locação do encontro deste ano.

7) Melhor seminário? José Alexandre Scheinkman, sem dúvida.

8) O que faltou? Nomes de peso vindos de fora. Os mais antigos lembravam que, em anos anteriores, tivemos pesquisadores que, anos mais tarde, vieram a ganhar o Nobel. Nestes últimos encontros, bons pesquisadores, mas nenhum com o peso dos que vieram tempo atrás.

9) Pelo terceiro ano seguido, não fui para a mesa de conjuntura. Pelo terceiro ano seguido, não me arrependo: cerveja bem gelada com amigos no bar valeu mais a pena.

É isto. Se der tudo certo, ano que vem volto com impressões sobre o encontro de 2014.

Saudações!

outubro 27, 2013

Dica: CUDA no Matlab (and it's free!!!)

Depois da dica para o uso de OpenCL no Matlab, vai aqui uma dica para quem prefere usar a linguagem da Nvidia para programação em placas de vídeo. Os mais espertos e avançados vão se antecipar, dizendo que as versões mais recentes do "Parallel Computing Toolbox" do Matlab já fazem a ponte entre a interface gráfica do Matlab e a computação no GPU. O objetivo deste post é descrever uma solução disponível para quem não tem o toolbox, ou prefere colocar a mão na massa de forma mais explícita, escrevendo MEX-files para otimizar procedimentos mesmo fora do GPU.

Para usar os recursos em CUDA, é necessário estabelecer uma ponte entre o Matlab e a linguagem básica de programação (C/C++, neste caso) e uma segunda ponte, entre a linguagem de programação e o código em CUDA. O primeiro passo é trivial, com o uso de MEX-files escritos para otimizar funções no Matlab (um bom tutorial aqui). Para o segundo passo, a Nvidia parece ter sumido com um pacote simples que fazia exatamente esta ligação.

Felizmente, ainda existem na internet boas almas que compilam pacotes ainda baseados naqueles pacotes originais da Nvidia. Eu descobri neste link um bom pacote com um excelente tutorial sobre como instalar e rodar um primeiro programa em CUDA dentro do Matlab. O tutorial é muito detalhado em termos do que precisa ser feito, funcionou sem problema algum no meu sistema. Ele vai ainda mais longe, ao ensinar como rodar o seu programa em CUDA no Matlab para avaliação no Visual Profiler da Nvidia, e como configurar uma segunda placa de vídeo exclusiva para fins computacionais no Windows 7.

Um detalhe, que me tomou um pouco de tempo para entender, é que os códigos montados pelo pacote não fazem a ponte entre o Matlab e o código em C. Ou seja, a parte do MEX-file dentro do código em CUDA deve ser escrita pelo usuário. Alguns exemplos estão disponíveis na internet, é fácil encontrar. Essencialmente, o arquivo com o kernel (função em CUDA) deve ser adicionado em um arquivo básico MEX, com o kernel chamado dentro do MEX. O MEX deve descrever os inputs, outputs e demais parâmetros da função em CUDA.

Outro detalhe importante, este fundamental para a otimização dos códigos em CUDA: ao contrário do pacote para OpenCL (grande mérito para os criadores da versão OpenCL!!!), não existe uma função específica que controle a transferência de informação entre o CPU e o GPU. Este controle é fundamental, por exemplo, caso seja necessário executar o mesmo kernel diversas vezes em um loop, por exemplo. A ausência do controle em CUDA do fluxo de informação força, ao longo da execução do loop, que todo o conjunto de informação seja passado entre o GPU e o CPU a cada passo do loop, consumindo tempo precioso de execução.

Para contornar este problema, este tutorial (seção 8) ensina como manter as variáveis dentro da GPU em execuções consecutivas do kernel em um loop, além de outras dicas interessantes sobre a integração Matlab-CUDA. Se eu entendi direito (nunca trabalhei com o "Parallel Computing Toolbox" em CUDA), parece que algum truque também é necessário para manter as informações na GPU no pacote oficial do Matlab.

Mais uma vez #ficaadica

agosto 10, 2013

Divulgação: Semana da Liberdade

Segue abaixo material de divulgação de um evento interessante de estudantes do nordeste, a ser realizado entre os dias 5 e 6 de setembro em Fortaleza. Mais informações aqui.


Parabéns aos organizadores pela iniciativa.

Saudações!

julho 27, 2013

Milonga de um Paper

Prezado estudante,

Troque a palavra "milonga" por "paper" na letra de música abaixo, siga os conselhos e você verá melhoras substanciais no seu trabalho.

Eu ainda peco na Clareza e na Concisão. E você?

Saudações!

Milonga das Sete Cidades

Vítor Ramil

Fiz a milonga em sete cidades
Rigor, Profundidade, Clareza,
Em Concisão, Pureza,
Leveza e Melancolia

Milonga é feita solta no tempo
Jamais milonga solta no espaço
Sete cidades frias são sua morada

Em Clareza
O pampa infinito e exato me fez andar
Em Rigor eu me entreguei
Aos caminhos mais sutis
Em Profundidade
A minha alma eu encontrei
E me vi em mim

Fiz a milonga em sete cidades
Rigor, Profundidade, Clareza
Em Concisão, Pureza,
Leveza e Melancolia

A voz de um milongueiro não morre
Não vai embora em nuvem que passa
Sete cidades frias são sua morada

Concisão tem pátios pequenos
Onde o universo eu vi
Em Pureza fui sonhar
Em Leveza o céu se abriu
Em Melancolia
A minha alma me sorriu
E eu me vi feliz

julho 07, 2013

19th International Conference - Computational Economics and Finance 2013

Estou fazendo as malas para embarcar amanhã para o Canadá, onde se realiza o CEF - 2013, encontro organizado pela Society for Computational Economics. Os encontros de economia computacional têm atraído trabalhos muito interessantes na área de simulação e estimação de estruturas não-lineares. Ano passado, tive a oportunidade de ir no CFE - 2012 (não confunda, CEF é um encontro, CFE é outro...), e o foco foi bem concentrado em estatística/econometria/finanças. Pelo programa, o CEF parece bem mais voltado para a economia, com menos ênfase na teoria estatística/econométrica.

Estarei por lá apresentando a primeira versão de um trabalho a respeito dos impactos de mudanças na volatilidade das taxas de juros reais sobre a economia brasileira. É uma aplicação prática da pesquisa que tenho desenvolvido sobre filtro de partículas. O trabalho ainda é muito preliminar, quando tiver uma versão bem consolidada eu faço maior publicidade por aqui.

Vai ser legal, também, ter a chance de assistir palestras de ex-professores e encontrar colegas do tempo do doutorado.

Saudações!