BLP BR

Paper https://anpec.org.br/revista/vol11/vol11n3p559_596.pdf

Dados https://petterini.ufsc.br/files/2023/07/data_tese_pett.xlsx

***

 

https://youtu.be/Gah2EUlQpHA

***

cls
clear all

import excel "https://petterini.ufsc.br/files/2023/07/data_tese_pett.xlsx", sheet("Plan1") firstrow

drop if ano == .

keep ano Firma Modelo sgment Motor Quant preçoreal Flex-aut

label variable ano ""
rename Firma firm
label variable firm ""
rename Modelo model
label variable model ""
rename sgment brand
label variable brand ""
rename Motor motor
label variable motor ""
rename Quant q
label variable q ""
rename preçoreal p
label variable p ""
rename Flex flex
label variable flex ""
rename potênciahp hp
label variable hp ""
label variable ar ""
label variable dir ""
label variable vid ""
label variable trv ""
label variable abs ""
label variable bag ""
label variable aut ""

order ano-p flex ar-aut hp

replace p = round(p/1000,.01)

table ano, contents(sum q)

bysort ano: egen sumq = sum(q)

* quem é q0? ou melhor, qual é o tamanho do mercado?
g s0 = .5
g q0 = (s0/(1-s0))*sumq
g s = q/(sumq+q0)
drop s0 q0 sumq

* criando o vetor de instrumentos (Z)
foreach i of varlist flex-hp {
 bysort ano: g z1`i' = sum(`i')
 replace z1`i' = z1`i'-`i'
 foreach j of varlist flex-hp {
 g z2`i'`j' = `i'*`j'
 }
}

*ssc install blp

global X flex hp
global Z z1flex z2flexflex z2flexar z2flexdir z2flexvid z2flextrv ///
 z2flexabs z2flexbag z2flexaut z2flexhp z1ar z2arflex z2arar z2ardir

blp s, stochastic(p) endog(p = $Z) markets(ano)

blp s $X, stochastic(p hp) endog(p = $Z) markets(ano)