Python可視化分析和預測大型流行病和COVID19如何影響金融市場

通過過去流行病的信息,並定量分析對金融市場的影響。 使用Python可視化並分析數據


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


我們正處於一個不確定的環境中,這也反映在金融市場上。 您會遇到很多問題,例如COVID19將如何影響金融市場,股市將下跌多少,何時結束以及如何結束。 在本文中,我們將分析並借鑑過去的流行病信息來回答這些問題並對未來市場進行預測。

在我們開始深入研究流行病對市場的影響之前,以下是我們已經看到或可以預期的影響。

• 企業停業和工廠停工

• 失業率上升

• 供應鏈中斷

• 日常必需品短缺

• 醫療系統壓力增大

• 感染和死亡人數呈指數上升

• 還有很多…

商店關閉了,製造工廠也關閉了。 沒有人生產任何東西,他們沒有收入,因此他們在裁員,失業率因此上升。 供應鏈中斷,導致包括廁紙在內的日常必需品短缺。 流行病感染病例數正在上升,這給醫療保健系統造成了巨大壓力。 發達市場可以在某種程度上應對這種前所未有的局面,但是印度等發展中市場將發現很難控制醫療保健系統的壓力。

商店關門了,製造工廠也關閉了,股市急劇下跌。 在這種情況下,我們何時可以期待一些好消息,何時市場會復甦以及更多其他問題。

COVID19對金融市場的影響

與10年前相比,當今市場的風險更大。 社交媒體驅動的新聞,全球供應鏈的相互聯繫以及巨大的股票市場,使華爾街更容易受到攻擊。——Principal Global Investors首席策略師Seema Shah

首先,來評估一下由於COVID19而對金融市場造成影響。 我已經使用Python免費提供的API和代碼來創建本文中的所有圖表。 所有這些代碼都可以在GitHub上獲得。

以下這段代碼用於繪製SP500的每日百分比變化。

代碼如下:

<code># Reading Data

import pandas_datareader as pdr

# Plotting
import matplotlib.pyplot as plt
plt.style.use('seaborn-darkgrid')

# Data Manipulation
import pandas as pd
import numpy as np

# get_data_yahoo(inst_ticker, start_date, end_date)
data_sp = pdr.get_data_yahoo('^GSPC', '17-Nov-19')

# Calculate the percentage change
data_pc = data_sp.Close.pct_change()

# Plot
data_pc.plot(figsize=(10, 7), grid=True)
plt.axvline('30-Jan-20')
plt.show()/<code>


Python可視化分析和預測大型流行病和COVID19如何影響金融市場

我使用了pandasdatareader的getdata_yahoo方法來獲取S&P500的價格。

getdatayahoo方法有兩個參數,第一個是Yahoo Finance中S&P 500的“ ^ GPSC”,第二個是我要從中獲取數據的日期。11月17日發現了第一例冠狀病毒。 因此,我使用了這個日期。

運行此代碼時,我將獲得包含六列的數據集,分別為開盤價,最高價,最低價,收盤價,成交量和調整後的收盤價。 由於我們對每日百分比變化感興趣,因此我將使用Python的pct_change()函數進行計算,並在對應列上調用它。 例如,如果每日百分比變化從一百變為一百二十,那麼此數據中的值將為0.02。

如果要在Python中繪製此列,只需傳遞該列的名稱(在本例中為“ data_pc”)並調用函數plot,它將繪製數據列。 這就是每日收益的圖表。 由於它看起來較小,因此我添加了一個網格並做了一些改進以增強其可讀性。

每日百分比變化

除了S&P500,我還繪製了原油,黃金和TLT(美國市場20年期的美國國債)的圖表。

<code># Read the timelines from the CSV file

timelines = pd.read_csv('pandemics_timelines.csv').dropna()
for col in timelines.columns[1:]:
    timelines[col] = pd.to_datetime(timelines[col])
    
# Read the data from yahoo fianance
def get_data(tl):    
    inst_list = ['^GSPC', 'CL=F','GC=F', 'TLT']
    data = pd.DataFrame()
    for inst in inst_list:
        try:
            data[inst] = pdr.get_data_yahoo(inst, tl.first_case.iloc[0]-timedelta(days=30), 
                                        tl.last_date.iloc[0]+timedelta(days=365))['Adj Close']    
        exceptExceptionas e:
            print('No data available for ',inst, e)

    return data
    
# Get data during covid19 pandemic
covid_timelines = timelines.loc[timelines.pandemic_name=='covid19']
data= get_data(covid_timelines)

# Plot daily percentage change
def plot_daily_pc(data, tl):
    data_pc = data.pct_change().dropna()
    fig = plt.figure(figsize=(12, 8))
    i =0
    for col in data_pc.columns:
        # Add the subplot
        sub = fig.add_subplot(2, 2, i+1)
        i = i+1
        # Set title
        sub.set_title(col, fontsize=20)
        # Plot
        r = random.random()
        b = random.random()
        g = random.random()
        data_pc[col].plot(color=(r, g, b))
        sub.set_ylabel('Returns')
        sub.grid(which="major", color='k', linestyle='-.', linewidth=0.2)
        sub.axvline(x=tl.first_case.iloc[0], color='RoyalBlue',
                    linestyle='dashdot', linewidth=3)
        sub.axvline(x=tl.who_emergency.iloc[0], color='Red',
                    linestyle='dashdot', linewidth=3)

    plt.tight_layout()
    plt.show()
    
plot_daily_pc(data, covid_timelines)/<code>


Python可視化分析和預測大型流行病和COVID19如何影響金融市場

我已經繪製了它們每個數據的每日百分比變化。 更詳細地說,藍線是確定第一例病例的日期,紅線是WHO宣佈發生公共衛生緊急事件的日期。

我們可以看到S&P500的價格每天變化都幾乎接近於零,而且我們可以看到,在WHO宣佈緊急狀態後的幾天,波幅發生了急劇變化。 每天的變化範圍是5%到10%。 此外,不僅S&P500,在原油,黃金和我們的TLT(也就是美國市場20年期國債)中也可以看到類似的變化特徵。 因此,我們可以輕鬆地得出結論,Corona正在使金融市場動盪不安。

查看這些圖表的另一種方式是說有很多指標在下降,但也有很多指標在上升。 那麼,我如何評估市場的走勢?

累計收益

為此,我繪製了四種情況的累積收益。 開始日期是第一個病例被報道的前幾天,最後一天是3月30日。

<code>def plot_cumulative_returns(data,tl):

    data_cum_ret = (data.pct_change()+1).cumprod()
    data_cum_ret.plot(figsize=(10,7),grid=True)
    plt.legend(loc='best')
    plt.ylabel('Cumulative Returns')
    plt.axvline(x=tl.first_case.iloc[0],color='RoyalBlue',linestyle='dashdot',linewidth=3)
    plt.axvline(x=tl.who_emergency.iloc[0],color='Red',linestyle='dashdot',linewidth=3)
    plt.axvline(x=tl.pandemic_declaration.iloc[0],color='LightSeaGreen',linestyle='dashdot',linewidth=3)
    plt.axvspan(tl.last_date.iloc[0], tl.last_date.iloc[0]+timedelta(days=365),color='dodgerblue', alpha=0.2)
    plt.show()
    
plot_cumulative_returns(data, covid_timelines)/<code>


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


如您所見,紅線是針對原油的,它似乎受到的影響最大。 與最高層相比下降了近60%。 表示S&P500的藍線也顯示出急劇下降的趨勢。 但是對黃金的影響不如S&P500和原油。

這是否意味著在這些不確定的時期,我們應該將黃金納入投資組合中,作為合理的過渡?

看起來不錯,但讓我們不要這麼快就得出結論。 我們稍後會再討論。 最後的是美國國庫券,該國庫券急劇下降但很快就恢復了。

虧損

另一種方法是繪製下降圖。 簡而言之,是衡量在任何特定時間段內從峰值下降的次數。 現在看一下圖表。

<code>def calc_drawdown(data, tl):

    data_cum_ret = (data.pct_change()+1).cumprod()
    cum_rets = data_cum_ret.loc[tl.first_case.iloc[0]:tl.last_date.iloc[0]]
    # Calculate the running maximum
    running_max = np.maximum.accumulate(cum_rets.dropna())
    # Ensure the value never drops below 1
    running_max[running_max <1] =1
    # Calculate the percentage drawdown
    drawdown = (cum_rets)/running_max -1
    return drawdown


def plot_drawdown(drawdown, tl):
    fig = plt.figure(figsize=(12, 8))
    i =0
    for col in drawdown.columns:
        # Add the subplot
        sub = fig.add_subplot(2, 2, i+1)
        i = i+1
        # Set title
        sub.set_title(col, fontsize=20)
        # Plot

        drawdown[col].plot(color='r')
        sub.set_ylabel('Returns')
        sub.fill_between(drawdown.index, drawdown[col], color='red')
        sub.grid(which="major", color='k', linestyle='-.', linewidth=0.2)
        sub.axvline(x=tl.first_case.iloc[0], color='RoyalBlue',
                    linestyle='dashdot', linewidth=3)
        sub.axvline(x=tl.who_emergency.iloc[0], color='red',
                    linestyle='dashdot', linewidth=3)

    plt.tight_layout()
    plt.show()
    
drawdown = calc_drawdown(data,covid_timelines)
# Find the maximum drawdowns
print(drawdown.min()*100)
plot_drawdown(drawdown,covid_timelines)/<code>


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


例如,在S&P500圖表中,2月前後出現了一個峰值,然後又下跌了近33%。 每個虧損值如下:

最大虧損

原油67.07%

SP500 33.92%

黃金11.80%

TLT 15.72%


SP500與原油,黃金和TLT的關係

虧損可以幫助我們瞭解資產類別可能下降多少,但它們仍然是不同的資產類別,對嗎?我們如何比較它們,換句話說,它們之間是什麼關係?

為了回答這個問題,我們將創建一個散點圖。 散點圖可幫助我們瞭解不同數據之間的關係。

首先,我們將繪製不同數據的散點圖。 讓我們看看它們的外觀。

<code>def plot_scatter(data, tl):

    data_pc = data.pct_change().dropna()
    temp = data_pc.loc[tl.who_emergency.iloc[0]:tl.last_date.iloc[0]]

    fig = plt.figure(figsize=(12, 8))

    sub = fig.add_subplot(2, 2, 1)
    sub.scatter(temp['^GSPC'],temp['TLT'],color='red')
    sub.set_title('SP500 Returns Vs TLT Returns')
    sub.grid()

    sub = fig.add_subplot(2, 2, 2)
    sub.scatter(temp['^GSPC'],temp['GC=F'],color='blue')
    sub.set_title('SP500 Returns Vs Gold Returns')
    sub.grid()

    sub = fig.add_subplot(2, 2, 3)
    sub.scatter(temp['^GSPC'],temp['CL=F'],color='green')
    sub.set_title('SP500 Returns Vs Crude Oil Returns')
    sub.grid()
    
    # Correlation
    sum_corr = data_pc[data_pc.columns].corr()
    print('Correlation',sum_corr)


    plt.tight_layout()
    plt.show()
    /<code>


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


紅色散點圖是TLT與S&P500,它顯示負相關。 我們都知道,在危機時刻,經濟放緩,而美聯儲和其他政府機構介入,費率下降。 由於費率與價格之間存在反比關係,因此費率降低會導致價格上漲。 因此,我們看到S&P500與TLT之間存在這種關係。 但是,我們只有幾個數據點,因此在這裡得出結論是不明智的。

對於黃金,根據數據點在此圖中的分佈,我們認為與S&P500沒有任何關係。 對於原油和S&P500,似乎遙遠的點呈負相關,而較近的點呈正相關。 因此,我們目前不能真正得出任何結論。

這是在不同數據之間建立關係的一種方式。 基於這些關係,我們可以創建一個在大流行時期對我們有用的投資組合。

部門績效

到目前為止,我們只是在討論整個S&P500。 但是組成該指數的各個部門呢?

觀察它的一種方法是部門績效。 我創建了一個圖表,其中考慮了市場的主要領域。

<code>def plot_sector(tl):

    sector_list = ['IHE', 'IYW', 'IYF', 'IYK', 'IYZ','ITM', 'IYE']

    columns = ['Pharma', 'Technology', 'Financials', 'Consumer Goods',
               'Telecom', 'Basic Materials', 'Energy']

    sector_data = pd.DataFrame()
    for inst in sector_list:
        try:
            sector_data[inst] = pdr.get_data_yahoo(inst, tl.first_case.iloc[0]-timedelta(days=30), 
                                        tl.last_date.iloc[0]+timedelta(days=365))['Adj Close']    
        except:
            pass

    sector_data.columns = columns
    plot_cumulative_returns(sector_data, tl)
plot_sector(covid_timelines)/<code>


Python可視化分析和預測大型流行病和COVID19如何影響金融市場

您可以看到“製藥和技術”是受影響相對較小的兩個領域。 在上圖中,“技術”是橙色的線,您可以在頂部看到它,然後是“製藥”作為藍線。 總體而言,您可以看到所有扇區都在同一方向,但是相對大小或下降程度是不同的。 正如我之前所說,“製藥和技術”受到的影響相對較小。

您會看到粉紅色的線表示受影響最大。 考慮到我們早些時候已經看到原油受到的影響最大,這是合乎邏輯的,因為原油和能源直接相關,因此又對能源行業產生了影響。 另一個觀察結果是綠線,它指示財務狀況也有所下降。 出現這個情況的原因是,每當經濟放緩時,就會發生大量的貸款違約,這會導致銀行不良資產的增加,並最終損害其損益。 不良資產的增加使銀行難以生存。 在印度市場上,經典的例子就是Yes銀行。 因此,在這場經濟危機中,金融部門首當其衝。

這是否意味著我們應該不理會財務狀況,而要加重負擔,比如說選擇技術和製藥,我的投資組合應該是什麼樣?

隨之而來的是以下問題:

• 流行病什麼時候結束?

• 它將如何結束?

• 市場會下跌更多嗎? 它將如何發展?

• 我應該購買黃金作為避風港嗎? 我的投資組合應該是什麼樣的?

• 所有人都會受到流行病的影響嗎?

• 收入將受到怎樣的影響,哪個部門將受到最大影響?

讓我們通過查看過去的流行病以及當時整個世界的狀況來回答這些問題。 我想在這裡添加一個小的免責聲明,我沒有任何方法可以給我100%正確的答案,但是我相信數據始終是得出合理結論的最佳方法。 讓我們現在開始。

過去的流行病

“那些不記得過去的人被譴責重複過去。”

——George Santayana

如果您認為流行病一種特殊情況,那麼您會驚訝地瞭解到,幾個世紀以來,流行病一直在影響著我們。 我已經在一個簡單的表中研究了一些數據,如下所示


Python可視化分析和預測大型流行病和COVID19如何影響金融市場

https://www.weforum.org/agenda/2020/03/a-visual-history-of-pandemics/

根據死亡人數,我用紅色突出顯示了前三大流行病,而用綠色突出顯示了後四個流行病。

這裡出現了一個重要的趨勢。 你發現了嗎?

實際上,這裡出現了兩種趨勢。 一是多年來死亡人數大幅下降。 另一個趨勢是持續時間也大大減少。 這樣的原因是我們的醫療保健系統在改善,並且在為普通公眾尋找和部署疫苗方面一直在努力著。

但這只是過去的情況。 冠狀病毒將產生多少感染和死亡人數? 讓我們快速瞭解病毒的傳染性。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


此信息圖告訴您什麼?

它向我們展示了病毒傳播的速度。 麻疹在這裡為16。這意味著一個麻疹患者可以感染其他16個未接種疫苗的人。 相比之下,冠狀病毒為2.5,這意味著感染冠狀病毒的人平均可影響2.5個人。

但是,為什麼我們看到患者數量呈指數增長?

與我們的投資進行類比,並請您注意福利。 在第一天,一個人就會受到影響。 因此,第二天2.5將受到影響。 第三天,我們將看到大約六人被感染。 這六個人將再次影響15左右的(6 * 2.5)。以這種方式,被感染的人數成倍增加。

解決這一問題的最好辦法是社會隔離,這是世界上大多數政府所遵循的。

那麼,流行病將如何結束?

過去的表現是成功的最好預測——Jim Simons

我想在這裡討論兩種情況。 讓我們從第一個開始。

方案1:採取嚴格的防護措施

非典

在我們的歷史上有一個案例,是關於SARS爆發的。 SARS具有類似的性質,它2002年在中國南部爆發。我們通過隔離和接觸者追蹤等措施,將其控制在較小的範圍。

在這次大流行中,約有8500人被感染。 目前,尚無針對此病毒的疫苗,但我們能夠通過社交疏散來控制這種情況,並且新感染的數量趨於平坦,因此,死亡人數最終減少了。 但是,雖然可以很容易地識別出感染了SARS的人,但對於冠狀病毒攜帶者的檢測卻要複雜一些。 儘管如此,我們仍然可以以此為參考來了解冠狀病毒對行業的影響。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


在這裡,我們計算了感染數量以及自第100個案例以來的天數。 您也可以看到軌跡。

例如,美國花費了24天的時間才能達到100,000人,其他國家也差不多。 此處的目標是儘快使該指數上升的曲線趨於平坦。 在這裡,讓我將注意力轉移到使韓國的人數增長曲線變得平坦的拐點上,並在SARS中進行了類似的處理。 讓我們現在看看該圖表。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


這是取自維基百科,在這裡您可以看到橘色線形式的累積案例,數量為8437。最初,案例數量從4月到5月呈指數級增長,但是由於社會隔離和其他措施 ,增量數量開始減少。 這形成了我們在上面看到的“ S”形邏輯曲線。 死亡率遵循橙色曲線並趨於平坦。

如果我們認為SARS是冠狀病毒的一個很好的類比,那麼以下時間表將幫助我們瞭解當前情況將如何發展。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


讓我們看看在SARS爆發期間金融市場的表現如何。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


這與我們正在使用的四種數據的每日百分比變化相同。 回想一下,原油,SP500,黃金和20年期美國國債。 由於這幾乎是一種在獨立區域流行的疾病,因此我們認為對我們的金融市場的影響較小,但是紅線表示何時宣佈這是一種可能的健康緊急情況。 您會看到在兩個方向上都有一些劇烈運動。 下圖更加清晰。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


您可以看到,在這段時期內,原油價格大幅下跌,但與冠狀病毒時期相比,S&P500受到的影響相對較小。 在Gold和TLT的情況下也是如此。

讓我們來看看這段時期的虧損。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


您可以看到虧損非常大。 在此期間,SP500虧損指數約為15%,原油約為30%。 但是黃金又回到了百分之十幾,美國財政部下跌了大約5%。 我應該指出,由於通過控制對流行病進行了很好的管理,因此虧損沒有我們現在看到的那麼嚴重。

嘗試進行相關性分析,我們發現一切都與SP500負相關。

Python可視化分析和預測大型流行病和COVID19如何影響金融市場

由於這種流行病是在獨立區域發生的,因此這套數據並不一定合適。 更好的指標是將其與上海的數據進行比較。 但是,在這段時間內,我們發現S&P500與美國國債,黃金和原油的負相關性非常高。

讓我們看看危機結束後事情如何發展。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


藍色陰影區域是世衛組織宣佈這場危機已經結束的時候。 您可以看到,儘管世界衛生組織宣佈緊急狀態後,損失幅度很大,但該指數實際上已經迅速恢復,並且持續的天數也很短。

為了簡單起見,我僅使用了四種數據,您可以將自己的本地索引用於可能要進行的任何相關分析。 請在評論中與我分享您的見解。

遏制SARS所採取的措施與針對冠狀病毒所採取的措施相似。 實際上,這樣的效果很好,因此病毒在中國的傳播範圍不大。

從3月26日世界衛生組織宣佈緊急狀態開始,我們看到了回報的變化。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


要知道這是一個月,三個月,六個月和一年的回報。 您會看到,SP500的收益非常強勁,分別為5%,10%,15%和25%。 其他情況也是如此。 在這裡,CL = F代表原油期貨,GC = F代表黃金期貨,而TLT是金庫。

如果您想知道哪些部門受影響最大,以及危機後該部門的表現如何,我已經嘗試用這張圖表來回答。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


您會看到受影響最大的部門位於頂部,受影響最小的部門位於底部。 該圖為MSCI中國板塊。 如您所見,受影響最大的是耐用消費品,軟件,酒店,飯店,休閒和航空公司。 影響最小的是醫療保健,食品,飲料和菸草。 深藍色表示疫情期間該行業的表現,淺藍色表示疫情之後該行業的表現。 您可以看到,食品和飲料不僅在疫情期間取得了積極的回報,而且在疫情結束後仍繼續保持積極的表現。 這給了我們一些提示,例如快速消費品中的食品和日常必需品是我們可以選擇的方面,類似的,醫療保健和製藥公司也顯示出類似的趨勢。 有趣的是,在疫情結束期間和結束之後,零售都呈負趨勢。

因此,如果這種情況是完全有可能的,那麼您將知道哪些部門將顯示出健康的復甦,哪些部門將需要更多的時間來恢復。

在這種情況下,我們能夠通過強有力的措施遏制這一流行病。 現在,我們將繼續下一個假設。

方案2:疾病廣泛傳播


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


過去也確實發生過這樣的情況。 比如西班牙流感,該流感始於第一次世界大戰,影響了近56%的世界人口。

另外兩個是亞洲流感和香港流感,影響了大約一百萬人。 為了進行比較,我給出了冠狀病毒感染者的數量。 這個數字可能不是最新的,但可以幫助我們將當前情況與過去進行比較。

豬流感

對於第二種情況,我們將與2009年開始的豬流感進行類比,它影響了大約20%的人口。 讓我們來評估這段時間疫情對財務的影響。

這是豬流感時期的時間表。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


現在讓我們看看金融市場。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


藍線是第一個病例的報告時間,紅線是世界衛生組織宣佈緊急情況的時間。

因此,您將看到與當前市場明顯不同的情況,因為市場正在從2008年金融危機中復甦,並且該股票在該特定時期內被嚴重低估。 因此,這些情況並不像我們目前所看到的那樣惡劣。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


儘管如此,疫情開始後,紅線下方仍有原油下跌。 黃金和SP500也是如此。 只有TLT上升,原因是美聯儲降低了利率以支持經濟。

現在讓我們看一下虧損。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


最大虧損

原油-21.68%

SP500 -16.00%

黃金-13.56%

TLT -14.37%


疫情中,SP500下跌了6%。 原油下跌約18%,黃金下跌約7%,TLT下跌13%。 但是,這裡發生了波動,雖然最初並未被認為是嚴重的衝擊,但它開始在美國蔓延開來。因此,我們看到,不是在疫情宣佈時,而是其中某個時間,我們的數據下跌了很多。

讓我們看看散點圖現在告訴我們什麼。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


在這裡,您可以看到資產之間形成了明確的關係。 例如,S&P500和TLT為負相關,這意味著如果TLT上升,則S&P500將下跌。 與黃金的關係尚不清楚,因此我們無法確定黃金是否是避風港。

對於原油,我們發現兩者之間存在正相關關係,這意味著如果S&P500下跌,原油也會下跌。

總而言之,S&P500與原油呈正相關,與TLT呈負相關,與黃金無相關。

讓我們看看世衛組織確定疫情結束之後情況如何。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


正如我們之前所見,藍色陰影區域是世界衛生組織宣佈疫情結束之後。 您可以看到回報非常強勁。 數據是結束後一年中的變化。 請記住,回報是從報告第一例病例的開始日期算起的。

從報告第一例病例的開始日期算起

原油73.62%

SP500 42.20%

黃金29.89%

TLT -10.46%


因此,當疫情結束後,市場試圖追趕並進入看漲模式,一切看起來都非常正常。 讓我們以條形格式查看收益,以進一步強調數據的特徵。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場

您可以在此處查看所有數據相一定時間下的特徵。

讓我們來看看行業表現。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


有趣的是,與以前的情況不同,這裡的金融部門表現相對較好,並處於最高水平。 原因基本上是全世界每年都因豬流感疫情陷入經濟衰退,導致大量拋售並導致金融市場被低估。 科技股也是如此。

能源部門在疫情期間受到了嚴重影響,但在形勢好轉之後急劇恢復。 這類似於我們之前看到的原油反彈。

亞洲流感

我希望上述分析可以對目前的情況有一些幫助。 下面讓我們來看看亞洲流感的流行,這只是一項額外的練習。

以下是S&P500的特徵。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


這裡的紅線表示病毒開始在美國傳播的時間。藍色區域是WHO宣佈疫情結束的時間。

虧損的特徵與之前相似,在世衛組織宣佈公共緊急狀態後,我們看到最大虧損20%。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


香港流感

讓我們看看香港流感時的數據有什麼特徵。

紅線表示世衛組織宣佈緊急狀態的時間,而藍色陰影區域顯示了世衛組織宣佈疫情結束的時間。

虧損方面,我們看到最大虧損為35%。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


這裡的一個重要特徵是,市場很少有不確定的情況。 因此,當宣佈緊急情況時,市場急劇下跌。 但是,一旦我們採取了必要的措施來控制局勢,並且一旦世界衛生組織宣佈安全,市場就會立即做出反應並反彈至疫情前的水平,甚至在某些情況下甚至超過疫情前的水平。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


西班牙流感

讓我們看看西班牙流感對我們有什麼啟發。 可以說西班牙流感已經發生了三波。 先是1918年6月和7月,然後是1918年10月至12月,最後是1919年1月至3月。我在這裡使用Dow Jones指數,SP500從1927年的流感建立圖標。您可以在下面看到其表現。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


第二次世界大戰

順便說一句,這是第二次世界大戰下金融市場的變化。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


類似於我們看到的過去的圖形,只是恢復時間不同。

我們知道第二次世界大戰在1945年結束,但是市場從1942年開始上升。正如我之前所說,市場少有不確定。 戰爭是市場跌入低谷的原因,但是1942年,盟軍聚集在一起,開始以擊敗敵人。 市場將這些信息考慮在內,因此,一旦我們確定了計劃,市場就會開始復甦。 此處的最大跌幅約為43%。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


要素投資

在當前狀況下您將如何投資? 一種新興的方法是要素投資。它基於 一個特點是如果一年內任何事物上升,它將繼續上升。

讓我們看看COVID19期間某些要素的表現。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


上面顯示了從1月到3月20日的各個月度的數據。

在這裡,您可以看到,儘管其他投資通常都是虧損的,但基於要素的投資卻跑贏了市場。 但這會繼續嗎?

實際上,根據當前表格很難回答這個問題。 讓我們嘗試看看過去的情況。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


我們可以看到,儘管要素的預測接近市場(黑色),但小型股表現不佳。 但是在復甦階段,小型股的表現優於所有其他形式的投資。 您還可以看到,恢復階段的低波動性股票的表現不及市場。

到目前為止,我們已經看到與流行病有關的數據。 我將嘗試介紹有關1926年之前或更確切地說1872年至1918年發生的市場修正的數據。 這些數據與流行病並不完全相關,但它們是一個充滿不確定性的時期。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


正如我們前面所看到的,低波動性股票和要素投資並沒有像市場體現的那樣低,但是在復甦階段並沒有跑贏市場。 相比之下,小型股在受影響階段的跌幅大於市場,但在復甦階段則表現優於市場。

什麼時候結束?

哈克特金融公司(Hackett Financial)對流行病的研究表明,大多數重大病毒爆發都在3個月內消失,例如1665年的大瘟疫和一個多世紀前的西班牙流感。 換句話說,這些不良事件主要在12周之內發生和消失。

考慮到過去的數據表明,從疫情爆發到世衛組織宣佈安全的天數已經減少,我們預測這次疫情可能要花三到六週的時間。

豬流感:116天

SARS:101天


但是,我仍然強調社會隔離的重要性。 世界各國政府應積極實施社會隔離。 以下是西班牙流感在美國蔓延之時美國各個城市的圖表。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


陰影區域是實施隔離的時間,您可以看到死亡人數迅速下降。 因此,社會隔離確實可以有效地克服這一危機。

如何保護您的投資組合?

如果您正在考慮自己的投資組合,那麼TLT就很有意義,因為它與S&P500負相關。 您應該避免使用原油,因為由於當前的危機,原油的需求可能會減弱。

注意:在採用任何建議之前,您應諮詢財務顧問。

總結

我們已經瀏覽了許多情況。 讓我們嘗試以某種方式在表中總結這些內容。


Python可視化分析和預測大型流行病和COVID19如何影響金融市場


您可以看到虧損方面,COVID以33%位居第三。 但是,如果您在六個月後檢查收益,這可能是最高的一次。 這張表格將幫助您對COVID 19爆發後6個月和一年後的收益情況有所瞭解。

來源和參考

1. Britannica

2. CDC

3. World Health Organization: WHO

4. Yahoo finance

5. Financial Times

6. World Economic Forums

7. Medicinenet

8. https://github.com/QuantInsti/webinars/tree/master/Impact of Pandemics on Financial Markets

9. Wikipedia

10. JPMorgan

11. Howard Marks Memos

12. NCBI

13. World Economic Forum

14. JPMorgan

15. van Vliet, Pim and Baltussen, Guido, Equity Styles and the Spanish Flu (March 30, 2020)

16. National geographic

作者:Ishan Shah

deephub翻譯組:孟翔傑



分享到:


相關文章: