前言

近期,受到新冠疫情的影响两周以来,全球股市都发生了大幅的下跌,其中美股市场更是在三月经历了四次熔断,堪称史诗级暴跌,虽然3月24日各国股市都有了大幅的回调,道琼斯指数涨幅也超过了10%,但是相较于之前的大幅下跌,依旧无法弥补此前的缺口。


全球股市跳水大战,谁最坑爹!_数据


本文将通过各国股市主要指数(如中国的沪市指数,美国的道琼斯指数等)在最近一个月的表现,对比各国股市在最近一个月内的跳水情况。本文后续将对比各国股市单日跌幅及整体跌幅,并且根据2019年GDP选取TOP20的国家作为重点国家进行对比。





数据获取




本文数据来源为英为财情网站,首先在网站中的导航页通过筛选,选择各国主要的指数,获取相应页面的URL,如下图所示:


全球股市跳水大战,谁最坑爹!_导航页_02


由于该网站美国选择的主要指数为纳斯达克,后续我们会将相应url修改为道琼斯指数,更加能够代表美国股市整体的情况,之后会进入各国指数的详情页,通过抓取详情页的数据作为本文数据的来源


全球股市跳水大战,谁最坑爹!_数据_03


部分代码如下:


html = requests.get(url,cookies=cookie, headers=header).content
bsObj = BeautifulSoup(html.decode('utf-8'),"html.parser")
title = bsObj.find_all('table',attrs={'class':'genTbl closedTbl crossRatesTbl elpTbl elp30'})
title = [k.find('td',attrs={'class':'bold left noWrap elp plusIconTd'}).find('a').attrs['href'] for k in title]
url_all = ['https://cn.investing.com' + k + '-historical-data' for k in title]

global_index = pd.DataFrame(columns=['date','country','value','rate'])
err_list = []
for i in range(len(url_all)):
try:
url = url_all[i]
html = requests.get(url,cookies=cookie, headers=header).content
bsObj = BeautifulSoup(html.decode('utf-8'),"html.parser")
country = bsObj.find('div',attrs={'class':'right'}).text.split('\n')[7]
tables = bsObj.findAll('table')
trs = tables[1].find_all('tr')
date = [trs[i].find_all('td')[0].text for i in range(len(trs)) if i != 0]
value = [trs[i].find_all('td')[1].text for i in range(len(trs)) if i != 0]
rate = [trs[i].find_all('td')[6].text for i in range(len(trs)) if i != 0]
global_index = global_index.append(pd.DataFrame({'date':date,'country':country,'value':value,
'rate':rate}),ignore_index=True)
trs = tables[0].find_all('tr')
date = [trs[i].find_all('td')[0].text for i in range(len(trs)) if i != 0]
value = [trs[i].find_all('td')[1].text for i in range(len(trs)) if i != 0]
rate = [trs[i].find_all('td')[6].text for i in range(len(trs)) if i != 0]

global_index = global_index.append(pd.DataFrame({'date':date,'country':country,'value':value,
'rate':rate}),ignore_index=True)
print('right'+str(i))
except:
err_list.append(i)
print('wrong'+str(i))

global_index.to_excel('全球三月指数.xlsx')


最终获取的数据如下:


全球股市跳水大战,谁最坑爹!_数据_04





单日跳水排名




之后我们将对各国的跳水能力进行排名,首先要比较的是单日跳水情况,即单日的跌幅,由于我国股市设定了涨停和跌停的机制,所以在下面的榜单中将不会看到我国股市的身影,首先看的是所有国家单日跌幅的TOP10:


全球股市跳水大战,谁最坑爹!_数据_05


榜单中近期收到疫情影响较为严重的阅读量和西班牙都在榜单中,但是出人意料的是巴西,阿根廷,智利,哥伦比亚这些南美的国家却统治了这份榜单,哥伦比亚更是出现了单日22.21%的跌幅,下面看一下去年GDP前20的国家:


全球股市跳水大战,谁最坑爹!_导航页_06


主要国家大的跌幅主要集中在3.12和3.16两天,巴西更是在绑定那种出现三次,收到的影响要大于欧洲主要的国家,美国道琼斯指数3.16创下的跌幅在榜单中排名第六,这也符合预期


说完跳水,再来看下反弹,下面分别是所有国家和主要国家单日涨幅TOP 10:


全球股市跳水大战,谁最坑爹!_数据_07


全球股市跳水大战,谁最坑爹!_数据_08


可以看到单日涨幅排名前列的国家也基本上同样会出现在跌幅榜中,如果有人幸运地在合适的时机抄底(基本上不太可能)一定会赚的盆满钵满,然而也有可能不幸地踏空





总体跳水排名




下面我们将通过对比最近一个月指数的变化情况,更为直观地体现出股市的跳水情况,以各国2.24日的指数为基准,对比3.25日的指数与该基准的比率,首先展示的是全球股市跳水排行榜:


全球股市跳水大战,谁最坑爹!_导航页_09


可以看到榜单中跳水最为严重的哥伦比亚最近一个月指数下降高达35%以上,另外在榜单中一些平时存在感不是很高的国家,如纳米比亚,塞浦路斯也出现在了榜单中,榜单中包括了发达国家和发展中国家,各国从经济发展的情况、地域上似乎很难找到一些相似之处


下面再来看下20个重点国家的跳水情况:


全球股市跳水大战,谁最坑爹!_html_10


榜单中的欧美各国缩水程度都在23%以上,这些国家也对全球整体的经济形势产生着巨大的影响,大家可能会做的就是在前两份榜单中寻找A股的身影,然而事实证明A股最近一个月还算是坚挺,下面看一下较为坚挺的股市排行榜


全球股市跳水大战,谁最坑爹!_数据_11


唯一一个超过100(3.25指数高于2.24)的居然是厄瓜多尔,不知道这是一个怎样神奇的存在,另外各大网站显示改过指数停留在了3.16日,可能与这也有关系。我国最近一个月的跌幅小于10%,排名前十,下面再来看一下重点国家的数据:


全球股市跳水大战,谁最坑爹!_导航页_12


从榜单中可以看到中日韩三国的跌幅相较于欧美各国要小很多,这也要归功于对疫情的有效控制,最后我们将重点国家最近一个月的数据做成了动态的条形图,让大家能够有更加直观的感受:


全球股市跳水大战,谁最坑爹!_数据_13

最后还是要友情提醒大家,股市有风险,入市需谨慎