Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

Explorando a base de dados do artigo "Revisiting Crude Oil Price and China's Stock Market" (2017)

0 votos
49 visitas
perguntada Mai 18 em Economia por Samuel Ceccon (11 pontos)  
editado Mai 24 por Samuel Ceccon

Explorando a base de dados do artigo "Revisiting Crude Oil Price and China's Stock Market" (2017):

Compartilhe
comentou Mai 24 por danielcajueiro (5,501 pontos)  
Coloque a pergunta na resposta. Pois em caso contrario aparece como pergunta sem resposta.
comentou Mai 24 por Samuel Ceccon (11 pontos)  
Pronto, professor!

1 Resposta

0 votos
respondida Mai 24 por Samuel Ceccon (11 pontos)  

1. Introdução

A forma como se relacionam o preço do petróleo e o mercado de ações já motivou diversos trabalhos, analisando se existe relação de causalidade entre as variáveis. Segundo os autores do paper Revisiting Crude Oil Price and China’s Stock Market (2017) a literatura sobre o tema ganha ainda mais destaque em períodos onde o preço da energia sofre grandes flutuações, como na grande recessão em 2008 e, o fato da China ser o maior importador de petróleo não refinado do mundo dá uma importância ainda maior para esse trabalho.
Em trabalhos que fizeram essa análise para diversos países da Europa e para os Estados Unidos foi observado efeito significativo entre oscilações no preço do petróleo e as respectivas bolsas de valores. Porém, o mesmo não foi observado quando se estudou o caso chinês.
Dada essa diferença entre o caso chinês e outros mercados, esse trabalho de 2017 procurou revisitar a análise, fazendo um teste de causalidade linear entre o retorno do índice da bolsa de valores de Shangai (Shangai Stock Exchange - SSE) e variação do preço diário do petróleo pela cotação WTI (West Texas Intermediate).

2. Revisão da literatura

Os autores citam como referência alguns trabalhos que estudaram países desenvolvidos ou emergentes e somente o caso chinês se mostrou distinto dos demais.
Papapetrou (2001) analisou a relação dos preços do petróleo, taxa de juros e mercado de ações na Grécia e concluiu que há forte relação do preço do petróleo com todos esses fatores. Park e Ratti (2008) analisaram entre 1986 e 2005 dados dos Estados Unidos e de 13 países europeus e concluiram que há correlação significativa do impacto do preço do petróleo no mercado de ações. Já Cong et al.(2008) chegou ao resultado de que não há impacto significativo do preço do petróleo sobre o mercado de ações chinês, assim como Fang e You(2014) que analisaram India, China e Rússia, países recentemente industrializados (Newly Industrialized Economies - NIEs) e concluiram que somente na China não há efeito significativo entre as variáveis.

3. Base de dados

Foram utilizados dados diários do preço do barril do pretróleo e índice da bolsa de valores chinesa de 01 de Janeiro de 2001 até 02 de Novembro de 2015.
Shangai Stock Exchange (SSE) index: https://finance.yahoo.com/quote/000001.ss/history/
West Texas Intermediate Crude Oil (WTI): https://www.up.com/customers/surcharge/wti/prices/index.htm
A bolsa de valores de Shangai foi a opção escolhida pelos autores, mas além dela a China possui mais duas relevantes: a bolsa de valores de Shenzen e a de Hong Kong.
Há também duas principais cotações para o petróleo futuro: o Brent e o WTI. O primeiro é a cotação do petróleo comercializado na Bolsa de Londres, com referência no petróleo extraído no Mar do Norte na Europa e Oriente Médio, já o segundo é a cotação petróleo comercializado na Bolsa de NY e é referente ao produto extraído principalmente na região do Golfo do México.

A imagem será apresentada aqui.

4. Análise empírica

Os autores propuseram a realização de um teste de causalidade linear de Granger entre o preço do petróleo na cotação WTI e o índice da bolsa de valores de Shangai. Porém, para realizar o teste é necessário que as séries sejam estacionárias, então os autores realizaram três testes de raiz unitária, o Dickey-Fuller Aumentado (ADF), Dickey-Fuller Generalizado (DF-GLS) e teste de Phillips-Perron (PP). Optei por replicar o teste ADF.

4.1. Testando a estacionariedade

No teste de Dickey-Fuller Aumentado, partimos de um AR(1): \(y_t=\rho y_{t-1}+\epsilon_t\). Se \(\rho=1\) o modelo é um random walk, ou seja não estacionário.
Subtraindo \(y_{t-1}\) de ambos os lados do AR(1), temos
\[y_t-y_{t-1}=\rho y_{t-1}-y_{t-1}+\epsilon_t\]\[\rightarrow \Delta y_t=(\rho-1)y_{t-1}+\epsilon_t\]
Tomando \((\rho-1)=\delta\), temos
\[\Delta y_t=\delta y_{t-1}+\epsilon_t\]
\(\delta=0\) implica \(\rho=1\), um processo não estacionário.
Testamos a hipótese de estacionariedade pela análise de \(\delta\).
\(H_0:\delta=0\rightarrow\) tem raiz unitária
\(H_1:\delta\neq0\rightarrow\) não tem raiz unitária.
No teste de Dickey Fuller Aumentado (ADF) se acrescenta defasagens de \(\Delta y_t\)
\[\Delta y_t=\delta y_{t-1}+\sum^{p-1}_{j=1}\rho_j\cdot\Delta y_{t-j}+\epsilon_t\]

Realizei o teste via Python, através da biblioteca statsmodels que possui função para realizar o teste ADF, obtendo o resultado de que ambas as séries são não estacionárias:

SSE Index Value
ADF Statistic: -1.745090
p-value: 0.408043
Critical Values:
    1%: -3.432
    5%: -2.862
    10%: -2.567
Failed to Reject H0 - Time Series is Non-Stationary

.

WTI Oil Price
ADF Statistic: -1.746983
p-value: 0.407082
Critical Values:
    1%: -3.432
    5%: -2.862
    10%: -2.567
Failed to Reject H0 - Time Series is Non-Stationary

Dado que não são estacionárias, os autores propuseram usar a variação diária das séries como referência.
Para calcular a variação diária nas séries utilizei a funcão pct_changes da biblioteca pandas e, a partir disso fiz o mesmo procedimento para verificar a estacionariedade via um teste de Dickey-Fuller Aumentado.

A imagem será apresentada aqui.

SSE Index Returns
ADF Statistic: -15.156256
p-value: 0.000000
Critical Values:
    1%: -3.432
    5%: -2.862
    10%: -2.567
Reject H0 - Time Series is Stationary

.

WTI Oil Returns
ADF Statistic: -15.275465
p-value: 0.000000
Critical Values:
    1%: -3.432
    5%: -2.862
    10%: -2.567
Reject H0 - Time Series is Stationary

Pelo teste ADF foi constatado que os retornos das séries são estacionários, então é possível utilizá-los para o teste de causalidade linear de Granger.

4.2. Teste de Granger

A ideia do teste é que, se X causa Y então os valores passados \(X_{t-j}\) contribuem para explicar \(Y_{t}\).
\[ Y_t=\alpha+\sum^p_{j=1}\beta_jY_{t-j}+\sum^p_{j=1}\delta_jX_{t-j}+\epsilon_t\]

Testa-se as hipóteses
\[H_0: \delta_1=\delta_2=\cdots=\delta_p=0\]\[H_1:\delta_j\neq0\]

\(X_t\) "não Granger-causa" \(Y_t\) se e somente se \(\delta_j=0\) para todo \(j\).

5. Conclusão

Pelo teste realizado pelos autores, não foi possível rejeitar a hipótese nula de que \(\delta_j=0,\forall j\) e portanto \(X_t\) não Granger-causa \(Y_t\).

A imagem será apresentada aqui.
(tabela dos autores)

Isto é, não foi possível rejeitar a hipótese nula de que o retorno da cotação do petróleo WTI o retorno do índice da bolsa de valores de Shangai SSE não tem poder de previsão uma sobre a outra.
Novamente se chegou a resultados inconsistentes com as conclusões de estudos sobre outros países.
Para os autores há duas possíveis possibilidades para isso ter acontecido:
A primeira é que de fato uma variável não granger-causa a outra no caso chinês devido a regulação de preços que ocorre na China. Dessa forma o preço do petróleo refinado vai ser menos ajustado, causando menos volatilidade nos mercados se comparado com outros países. Dessa forma não haveria um impacto significativo entre as variáveis.
Uma segunda possiblidade é que a relação causal entre as variáveis não é linear, então não pode ser detectada pelo teste de Granger tradicional. O que levou aos autores a realizarem um teste de causalidade não linear, que pode ser verificado com detalhes no paper.

Anexos

#importanto as bases de dados e juntando elas

import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import dates as mpl_dates

WTI = pd.read_excel('/DCOILWTICO2.xls', sheet_name='FRED Graph',header=[11])
WTI.columns = ['Date', 'WTI Oil Price']
WTI['Date'] = pd.to_datetime(WTI['Date'])
WTI.set_index('Date',inplace=True)
pd.options.display.float_format = '{:,.2f}'.format

SSE = pd.read_csv('/shanghai-composite-index-china-stock-market-chart-data.csv')
SSE.columns = ['Date', 'Value']
pd.options.display.float_format = '{:,.2f}'.format
SSE['Date'] = pd.to_datetime(SSE['Date'])
SSE.set_index('Date',inplace=True)

result = SSE.merge(WTI, on=['Date'])

.

# testes ADF. Por compacidade optei por colocar só um dos testes, para os demais basta alterar a base

from statsmodels.tsa.stattools import adfuller

series = SSE['Value']
result = adfuller(series)
print('SSE Index Value')
print('ADF Statistic: %f' % result[0])
print('p-value: %f' % result[1])
print('Lags used: %d' % result[2])
print('Critical Values:')
for key, value in result[4].items():
    print('\t%s: %.3f' % (key, value))

if result[0] < result[4]["5%"]:
    print ("Reject H0 - Time Series is Stationary")
else:
    print("Failed to Reject H0 - Time Series is Non-Stationary")

.

#variação diária das séries (retornos)
ret = result.pct_change()

.

#gráficos. novamente por compacidade optei por colocar o código de apenas um, mas para os demais basta trocar a base utilizada nas variáveis.

import seaborn as sns

fig ,ax = plt.subplots(1,2,figsize = (18,6))
plt.title("histogram")
ax[0].plot(ret['Value'])
ax[0].set_xlabel("Time")
ax[0].set_ylabel("Value")
ax[0].set_title("SSE Returns")
sns.distplot(ret['Value'],ax =ax[1])
...