17 using System.Collections.Generic;
29 public static readonly Dictionary<CrisisEvent, Crisis>
Events =
new Dictionary<CrisisEvent, Crisis>
31 {
CrisisEvent.DotCom,
new Crisis(
"DotCom Bubble 2000",
new DateTime(2000, 2, 26),
new DateTime(2000, 9, 10)) },
32 {
CrisisEvent.SeptemberEleventh,
new Crisis(
"September 11, 2001",
new DateTime(2001, 9, 5),
new DateTime(2001, 10, 10)) },
33 {
CrisisEvent.USHousingBubble2003,
new Crisis(
"U.S. Housing Bubble 2003",
new DateTime(2003, 1, 1),
new DateTime(2003, 2, 20)) },
34 {
CrisisEvent.GlobalFinancialCrisis,
new Crisis(
"Global Financial Crisis 2007",
new DateTime(2007, 10, 1),
new DateTime(2011, 12, 1))},
35 {
CrisisEvent.FlashCrash,
new Crisis(
"Flash Crash 2010",
new DateTime(2010, 5, 1),
new DateTime(2010, 5, 22))},
36 {
CrisisEvent.FukushimaMeltdown,
new Crisis(
"Fukushima Meltdown 2011",
new DateTime(2011, 3, 1),
new DateTime(2011, 4, 22)) },
37 {
CrisisEvent.USDowngradeEuropeanDebt,
new Crisis(
"U.S. Credit Downgrade 2011",
new DateTime(2011, 8, 5),
new DateTime(2011, 9, 1))},
38 {
CrisisEvent.EurozoneSeptember2012,
new Crisis(
"ECB IR Event 2012",
new DateTime(2012, 9, 5),
new DateTime(2012, 10, 12))},
39 {
CrisisEvent.EurozoneOctober2014,
new Crisis(
"European Debt Crisis 2014",
new DateTime(2014, 10, 1),
new DateTime(2014, 10, 29))},
40 {
CrisisEvent.MarketSellOff2015,
new Crisis(
"Market Sell-Off 2015",
new DateTime(2015, 8, 10),
new DateTime(2015, 10, 10))},
41 {
CrisisEvent.Recovery,
new Crisis(
"Recovery 2010-2012",
new DateTime(2010, 1, 1),
new DateTime(2012, 10, 1))},
42 {
CrisisEvent.NewNormal,
new Crisis(
"New Normal 2014-2019",
new DateTime(2014, 1, 1),
new DateTime(2019, 1, 1))},
43 {
CrisisEvent.COVID19,
new Crisis(
"COVID-19 Pandemic 2020",
new DateTime(2020, 2, 10),
new DateTime(2020, 9, 20))},
44 {
CrisisEvent.PostCOVIDRunUp,
new Crisis(
"Post-COVID Run-up 2020-2021",
new DateTime(2020, 4, 1),
new DateTime(2022, 1, 1))},
45 {
CrisisEvent.MemeSeason,
new Crisis(
"Meme Season 2021",
new DateTime(2021, 1, 1),
new DateTime(2021, 5, 15))},
46 {
CrisisEvent.RussiaInvadesUkraine,
new Crisis(
"Russia Invades Ukraine 2022-2023",
new DateTime(2022, 2, 1),
new DateTime(2024, 1, 1))},
47 {
CrisisEvent.AIBoom,
new Crisis(
"AI Boom 2022-Present",
new DateTime(2022, 11, 30), DateTime.Now)},
58 public DateTime
End {
get; }
63 public string Name {
get; }
71 public Crisis(
string name, DateTime start, DateTime end)
85 return Events[crisisEvent];
103 public string ToString(DateTime start, DateTime end)