0% found this document useful (0 votes)
78 views8 pages

Event Analysis - Colaboratory

The document summarizes an event study of the acquisition of 21st Century Fox by The Walt Disney Company that was announced on December 14, 2017. The study examines abnormal returns for Disney around the announcement date and tests whether there were negative effects on competitors Paramount and Universal. Regression models including the CAPM and Fama-French 3 factor models are used to analyze the stock returns around the event date.

Uploaded by

darinaveresk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
78 views8 pages

Event Analysis - Colaboratory

The document summarizes an event study of the acquisition of 21st Century Fox by The Walt Disney Company that was announced on December 14, 2017. The study examines abnormal returns for Disney around the announcement date and tests whether there were negative effects on competitors Paramount and Universal. Regression models including the CAPM and Fama-French 3 factor models are used to analyze the stock returns around the event date.

Uploaded by

darinaveresk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Event study

We study the effect of the acquisition of 21st Century Fox by The Walt Disney Company that was announced on December 14, 2017. Disney's
$71.3 billion purchase of the film and TV assets held by 21st Century Fox — the company behind everything from the Alien movies to The
Simpsons — is one of the biggest media mergers ever.

We assume that abnormal returns on an event date and during a window after the acquisition are unusually large for Disney. We also study
whether there are negative effects on the main competitors of The Walt Disney Company - Paramount and Universal.

First we run CAPM model, then FamaFrench 3 factor.

PARAMOUNT

!pip install eventstudy


import eventstudy as es
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

returns = pd.read_csv("/content/drive/MyDrive/Master's/Theoty of Finance/PARA.csv", delimiter=",")


returns['Date'].astype('datetime64')
returns = returns.drop(["Open", "High", "Low", "Close", "Volume"], axis=1)
returns.rename (columns = {'Date':'date'}, inplace= True)
returns.rename (columns = {'Adj Close':'PARA'}, inplace= True)
#returns.insert(0, "security_ticker", "PARA")

market = pd.read_csv("/content/drive/MyDrive/Master's/Theoty of Finance/^IXIC.csv", delimiter=",")


market['Date'].astype('datetime64')
market = market.drop(["Open", "High", "Low", "Close", "Volume"], axis=1)
market.rename (columns = {'Date':'date'}, inplace= True)
market.rename (columns = {'Adj Close':'IXIC'}, inplace= True)

returns = pd.merge(returns, market, on="date")

from google.colab import drive


drive.mount('/content/drive')
path = "/content/drive/My Drive/Master's/Theoty of Finance/returns.csv"
with open(path, 'w', encoding = 'utf-8-sig') as f:
returns.to_csv(f)

returns

Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.


date PARA IXIC

0 2015-12-14 39.081036 4952.229980

1 2015-12-15 39.494286 4995.359863

2 2015-12-16 40.059330 5071.129883

3 2015-12-17 39.232841 5002.549805

4 2015-12-18 38.507568 4923.080078

... ... ... ...

510 2017-12-21 52.280323 6965.359863

511 2017-12-22 51.969387 6959.959961

512 2017-12-26 51.986660 6936.250000

513 2017-12-27 51.209328 6939.339844

514 2017-12-28 51.183414 6950.160156

515 rows × 3 columns

ff = pd.read_csv("/content/drive/MyDrive/Master's/Theoty of Finance/Developed_3_Factors_Daily.csv")
ff.rename(columns={'Unnamed: 0':'date'}, inplace = True)
ff

pd.to_datetime(ff['date'])
# ff['date'].astype('datetime64')
# ff = ff.drop(["Open", "High", "Low", "Adj Close", "Volume"], axis=1)
# ff.rename (columns = {'Date':'date'}, inplace= True)
from google.colab import drive
drive.mount('/content/drive')
path = "/content/drive/My Drive/Master's/Theoty of Finance/famafrench.csv"
with open(path, 'w', encoding = 'utf-8-sig') as f:
ff.to_csv(f)

ff

Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.


date Mkt-RF SMB HML RF

0 19900702 0.69 -0.06 -0.33 0.03

1 19900703 0.18 0.07 -0.15 0.03

2 19900704 0.62 -0.17 -0.17 0.03

3 19900705 -0.74 0.29 0.14 0.03

4 19900706 0.20 -0.17 0.02 0.03

... ... ... ... ... ...

8649 20230825 0.26 -0.33 -0.30 0.02

8650 20230828 0.78 -0.16 0.38 0.02

8651 20230829 1.43 -0.09 -0.30 0.02

8652 20230830 0.33 -0.04 -0.10 0.02

8653 20230831 -0.12 0.28 -0.07 0.02

8654 rows × 5 columns

es.Single.import_returns(path = "/content/drive/My Drive/Master's/Theoty of Finance/returns.csv", is_price = True, log_return = True, da


es.Single.import_FamaFrench(path = "/content/drive/My Drive/Master's/Theoty of Finance/famafrench.csv")

event = es.Single.market_model(
security_ticker = 'PARA',
market_ticker = 'IXIC',
event_date = np.datetime64('2017-12-14'),
event_window = (-5,+5)
)

event.plot(AR=True)
plt.show()

print(event.results(decimals=[3,5,3,5,2,2]))
event = es.Single.FamaFrench_3factor(
security_ticker = 'PARA',
event_date = np.datetime64('2017-12-14'),
event_window = (0,+5),
estimation_size = 300,
buffer_size = 30)

event.plot(AR=True)
plt.show()

print(event.results(decimals=[3,5,3,5,2,2]))

AR Std. E. AR CAR Std. E. CAR T-stat P-value


-5 -0.007 0.01209 -0.007 0.01209 -0.56 0.58
-4 0.006 0.01209 -0.001 0.01710 -0.06 0.96
-3 0.001 0.01209 0.0 0.02094 0.00 1.00
-2 0.006 0.01209 0.006 0.02418 0.25 0.80
-1 -0.015 0.01209 -0.009 0.02703 -0.33 0.74
0 0.018 0.01209 0.009 0.02961 0.31 0.75
1 0.007 0.01209 0.016 0.03199 0.51 0.61
2 -0.003 0.01209 0.014 0.03420 0.40 0.69
3 0.010 0.01209 0.024 0.03627 0.66 0.51
4 0.011 0.01209 0.035 0.03823 0.90 0.37
5 0.007 0.01209 0.042 0.04010 1.04 0.30

AR Std. E. AR CAR Std. E. CAR T-stat P-value


0 0.017 0.01225 0.017 0.01225 1.35 0.18
1 0.015 0.01225 0.031 * 0.01732 1.80 0.07
2 0.004 0.01225 0.035 0.02122 1.66 0.10
3 0.008 0.01225 0.043 * 0.02450 1.75 0.08
4 0.008 0.01225 0.051 * 0.02739 1.85 0.07
5 0.007 0.01225 0.058 * 0.03001 1.92 0.06

UNIVERSAL

returns = pd.read_csv("/content/drive/MyDrive/Master's/Theoty of Finance/UVV.csv", delimiter=",")


returns['Date'].astype('datetime64')
returns = returns.drop(["Open", "High", "Low", "Close", "Volume"], axis=1)
returns.rename (columns = {'Date':'date'}, inplace= True)
returns.rename (columns = {'Adj Close':'UVV'}, inplace= True)

market = pd.read_csv("/content/drive/MyDrive/Master's/Theoty of Finance/^IXIC.csv", delimiter=",")


market['Date'].astype('datetime64')
market = market.drop(["Open", "High", "Low", "Close", "Volume"], axis=1)
market.rename (columns = {'Date':'date'}, inplace= True)
market.rename (columns = {'Adj Close':'IXIC'}, inplace= True)

returns = pd.merge(returns, market, on="date")

from google.colab import drive


drive.mount('/content/drive')
path = "/content/drive/My Drive/Master's/Theoty of Finance/returns.csv"
with open(path, 'w', encoding = 'utf-8-sig') as f:
returns.to_csv(f)

returns
Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount("/content/drive", force_remount=True).
date UVV IXIC

0 2015-12-14 34.812454 4952.229980

1 2015-12-15 35.083969 4995.359863

2 2015-12-16 36.467987 5071.129883

3 2015-12-17 35.964710 5002.549805

4 2015-12-18 36.024303 4923.080078

... ... ... ...

510 2017-12-21 38.100391 6965.359863

511 2017-12-22 37.637924 6959.959961

512 2017-12-26 37.495636 6936.250000

513 2017-12-27 37.353329= "/content/drive/My


es.Single.import_returns(path 6939.339844 Drive/Master's/Theoty of Finance/returns.csv", is_price = True, log_return = True, da
es.Single.import_FamaFrench(path = "/content/drive/My Drive/Master's/Theoty of Finance/famafrench.csv")
514 2017-12-28 37.317757 6950.160156

515 rows × 3 columns


event = es.Single.market_model(
security_ticker = 'UVV',
market_ticker = 'IXIC',
event_date = np.datetime64('2017-12-14'),
event_window = (-5,+5)
)

event.plot(AR=True)
plt.show()

print(event.results(decimals=[3,5,3,5,2,2]))

AR Std. E. AR CAR Std. E. CAR T-stat P-value


-5 -0.025 0.0161 -0.025 0.01610 -1.56 0.12
-4 -0.005 0.0161 -0.03 0.02276 -1.32 0.19
-3 0.002 0.0161 -0.028 0.02788 -0.99 0.32
-2 -0.004 0.0161 -0.031 0.03219 -0.97 0.33
-1 -0.001 0.0161 -0.032 0.03599 -0.89 0.37
0 -0.012 0.0161 -0.044 0.03943 -1.13 0.26
1 -0.011 0.0161 -0.055 0.04259 -1.29 0.20
2 0.006 0.0161 -0.049 0.04553 -1.08 0.28
3 -0.007 0.0161 -0.057 0.04829 -1.17 0.24
4 0.005 0.0161 -0.052 0.05090 -1.02 0.31
5 0.001 0.0161 -0.051 0.05339 -0.96 0.34

event = es.Single.FamaFrench_3factor(
security_ticker = 'UVV',
event_date = np.datetime64('2017-12-14'),
event_window = (-5,+5),
estimation_size = 300,
buffer_size = 30)

event.plot(AR=True)
plt.show()
print(event.results(decimals=[3,5,3,5,2,2]))

AR Std. E. AR CAR Std. E. CAR T-stat P-value


-5 -0.022 0.01666 -0.022 0.01666 -1.30 0.19
-4 -0.003 0.01666 -0.025 0.02356 -1.06 0.29
-3 0.006 0.01666 -0.019 0.02885 -0.67 0.50
-2 -0.006 0.01666 -0.025 0.03332 -0.76 0.45
-1 -0.000 0.01666 -0.025 0.03725 -0.68 0.50
0 -0.013 0.01666 -0.039 0.04080 -0.95 0.35
1 -0.002 0.01666 -0.041 0.04407 -0.93 0.35
2 0.008 0.01666 -0.033 0.04711 -0.69 0.49
3 -0.010 0.01666 -0.043 0.04997 -0.86 0.39
4 0.002 0.01666 -0.04 0.05268 -0.77 0.44
5 -0.001 0.01666 -0.042 0.05525 -0.75 0.45

DISNEY

returns = pd.read_csv("/content/drive/MyDrive/Master's/Theoty of Finance/DIS.csv", delimiter=",")


returns['Date'].astype('datetime64')
returns = returns.drop(["Open", "High", "Low", "Close", "Volume"], axis=1)
returns.rename (columns = {'Date':'date'}, inplace= True)
returns.rename (columns = {'Adj Close':'DIS'}, inplace= True)

market = pd.read_csv("/content/drive/MyDrive/Master's/Theoty of Finance/^IXIC.csv", delimiter=",")


market['Date'].astype('datetime64')
market = market.drop(["Open", "High", "Low", "Close", "Volume"], axis=1)
market.rename (columns = {'Date':'date'}, inplace= True)
market.rename (columns = {'Adj Close':'IXIC'}, inplace= True)

returns = pd.merge(returns, market, on="date")

from google.colab import drive


drive.mount('/content/drive')
path = "/content/drive/My Drive/Master's/Theoty of Finance/returns.csv"
with open(path, 'w', encoding = 'utf-8-sig') as f:
returns.to_csv(f)

returns
Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount("/content/drive", force_remount=True).
date DIS IXIC

0 2015-12-14 103.165512 4952.229980

1 2015-12-15 105.816597 4995.359863

2 2015-12-16 107.354401 5071.129883


ff = pd.read_csv("/content/drive/MyDrive/Master's/Theoty of Finance/Developed_3_Factors_Daily.csv")
ff.rename(columns={'Unnamed: 0':'date'}, inplace = True)
3 2015-12-17 105.675072 5002.549805
ff
4 2015-12-18 101.627708 4923.080078
pd.to_datetime(ff['date'])
... ... ...
# ff['date'].astype('datetime64') ...
# ff = ff.drop(["Open", "High", "Low", "Adj Close", "Volume"], axis=1)
510 2017-12-21 106.557373 6965.359863
# ff.rename (columns = {'Date':'date'}, inplace= True)
511 2017-12-22 105.682114 6959.959961

512 2017-12-26
from google.colab 105.147232
import drive 6936.250000
drive.mount('/content/drive')
513 2017-12-27 104.680428 6939.339844
path = "/content/drive/My Drive/Master's/Theoty of Finance/famafrench.csv"
with open(path, 'w', encoding
514 2017-12-28 = 'utf-8-sig')
104.806854 6950.160156 as f:
ff.to_csv(f)
515 rows × 3 columns

ff

Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount("/content/drive", force_remount=True).
date Mkt-RF SMB HML RF

0 19900702 0.69 -0.06 -0.33 0.03

1 19900703 0.18 0.07 -0.15 0.03

2 19900704 0.62 -0.17 -0.17 0.03

3 19900705 -0.74 0.29 0.14 0.03

4 19900706 0.20 -0.17 0.02 0.03

... ... ... ... ... ...

8649 20230825 0.26 -0.33 -0.30 0.02

8650 20230828 0.78 -0.16 0.38 0.02

8651 20230829 1.43 -0.09 -0.30 0.02

8652 20230830 0.33 -0.04 -0.10 0.02

8653 20230831 -0.12 0.28 -0.07 0.02

8654 rows × 5 columns

es.Single.import_returns(path = "/content/drive/My Drive/Master's/Theoty of Finance/returns.csv", is_price = True, log_return = True, da


es.Single.import_FamaFrench(path = "/content/drive/My Drive/Master's/Theoty of Finance/famafrench.csv")

event = es.Single.market_model(
security_ticker = 'DIS',
market_ticker = 'IXIC',
event_date = np.datetime64('2017-12-14'),
event_window = (-5,+5)
)

event.plot(AR=True)
plt.show()

print(event.results(decimals=[3,5,3,5,2,2]))
event = es.Single.FamaFrench_3factor(
security_ticker = 'DIS',
event_date = np.datetime64('2017-12-14'),
AR Std. E. AR CAR Std. E. CAR T-stat P-value
event_window
-5 -0.004 = (-5,+5),
0.00801 -0.004 0.00801 -0.48 0.63
estimation_size
-4 -0.003 = 300,
0.00801 -0.007 0.01133 -0.62 0.54
buffer_size
-3 0.023 = 30) 0.00801 0.016 0.01388 1.14 0.26
-2 0.007 0.00801 0.022 0.01603 1.39 0.16
-1 0.001 0.00801 0.023 0.01792 1.31 0.19
0 0.028
event.plot(AR=True) 0.00801 0.052 ** 0.01963 2.64 0.01
1 0.002
plt.show() 0.00801 0.054 ** 0.02120 2.54 0.01
2 -0.005 0.00801 0.049 ** 0.02267 2.14 0.03
3 0.009 0.00801 0.058 ** 0.02404 2.39 0.02
4 -0.019 0.00801 0.039 0.02534 1.53 0.13
print(event.results(decimals=[3,5,3,5,2,2]))
5 -0.001 0.00801 0.038 0.02658 1.42 0.16

AR Std. E. AR CAR Std. E. CAR T-stat P-value


-5 -0.001 0.00833 -0.001 0.00833 -0.10 0.92
-4 -0.002 0.00833 -0.002 0.01178 -0.21 0.83
-3 0.024 0.00833 0.022 0.01443 1.52 0.13
-2 0.004 0.00833 0.026 0.01667 1.58 0.11
-1 0.004 0.00833 0.03 0.01863 1.63 0.10
0 0.027 0.00833 0.058 *** 0.02041 2.84 0.00
1 0.007 0.00833 0.065 *** 0.02205 2.93 0.00
2 -0.001 0.00833 0.064 ** 0.02357 2.70 0.01
3 0.007 0.00833 0.071 ** 0.02500 2.83 0.01
4 -0.020 0.00833 0.051 * 0.02635 1.93 0.05
5 -0.001 0.00833 0.05 * 0.02764 1.80 0.07

Both methods show no significant changes in Paramount and Universal returns during the event window. It is to be expected as the companies
are big enough to endure the acquisition without negative consequences.

For Disney company both CAPM and FamaFrench results show large returns on the day of the event and 3 days after the acquisition. CAR on
these days varies from ~5% daily in CAPM to ~6.5% in FamaFrench. Buying Murdoch's studios undoubtedly allowed Disney to scoop up
valuable franchises, including television's longest-running scripted show, “The Simpsons,” as well as film juggernaut "Avatar".

The assumption about the large abnormal returns after the acquisition is confirmed.
Не удается связаться с сервисом reCAPTCHA. Проверьте подключение к Интернету и перезагрузите страницу.

You might also like