11 ms·
Financial systems take a holiday
- e63f67dd-065b 3y agoNever thought about the fact that holidays are both when there are surges of consumer spending but also when money doesn't settle. Also quite funny that black friday was translated as a sale on black things in at least one instance. When I grew up a decades ago in east/SE Asia, black friday was not really a thing, but I guess times change.
- notso411 3y ago[dead]
- rswail 3y agoIt's like the Japanese tradition of eating KFC on Christmas. Asia has adopted a lot of the Western holidays, in the same way that Lunar New Year and Diwali and Eid have been adopted in the West. It's one of the better aspects of globalization that the world's cultures can mix.
- cgio 3y agoI love undefined holidays, such as there is a holiday in this or that state of this or that country whenever the final of a play-off series is to happen.
- NovemberWhiskey 3y ago... and then you discover that the problem also extends to the supranational level. European countries have holidays, but Europe-as-a-whole has holidays too (from the banking perspective). e.g. the holiday calendar for TARGET2, which is certainly neither the union nor the intersection of the holiday calendars of its participants. Also: I guarantee you that there’s a team at every major U.S. bank with a crisis management plan ready to kick in when Jimmy Carter finally passes: U.S. markets are closed by custom on the day of a Presidential funeral. There’s little worse for an ops team than a holiday that you can’t predict.
- jcranmer 3y ago> There’s little worse for an ops team than a holiday that you can’t predict. The Japanese emperor suddenly dying and thus the dating system spontaneously changing without warning?
- patio11 3y agoGood news on this specific issue: the current year will be both the final year of the old era and the 元年 (first year) of the new one. The following calendar year is the 2nd of the new era. So in most cases you have a window of time to get ready to update systems to accommodate e.g. Japanese counterparties whose systems want you to specify dates of birth using eras in preference to the Western calendar. One of the relatively few bits of ultimately consequential engineering I did in the last few years was assisting a colleague in grepping for comments we had both left identifying code to update in the event of a new era. (We are currently, of course, in Reiwa 6, and Heisei ended in what most HNers consider 2019.)
- blibble 3y ago> In an increasingly interconnected world where decisions are increasingly made by people who count and value nines, you can reasonably expect financial systems to partially close the gap between historical practice and contemporary practice of e.g. Google Search. this chap has clearly never worked for a bank in the 2020s I had to write code to handle files in EBCDIC I suspect that system producing it will outlive IP, TCP, HTTP and JavaScript
- neocritter 3y agoMore likely those will join EBCDIC as anachronisms that survive every new revolution in technology.
- baq 3y ago> We (the financial industry) teleport value through time and across space and make this look easy. I don’t know if it’s possible to describe finance better in less words? Anyway, if this quote piqued your interest, you should familiarize yourself with this author’s still incomplete work: https://open.substack.com/pub/concoda https://open.substack.com/pub/concoda
- deleted 3y ago[deleted]
- deleted 3y ago[deleted]
- chirau 3y agoMaybe someone should create an 'international holiday API'
- mawif 3y agoThere are some vendors that do this already, eg https://www.marketholidays.com/features-HolidayDataService.aspx https://www.marketholidays.com/features-HolidayDataService.a... From working at places that do electronic trading, most have some sort of central db, as well as procedures that mostly work for those times when you realize it's a trading holiday or a special session Right Now. What's worse is when timezones/DST changes at short notice, because that involves rolling tzdb, or shudder the JVM.
- paulpauper 3y agoOne of the unaddressed problems with a hypothetical 4-day workweek is it means financial transactions, mail, processing etc. will be even slower and productivity may suffer. Wires and will take forever to land, checks take forever to clear, mail takes forever to be received
- toast0 3y agoIf we do T + N -> T + (N - 1) settlement at the same time we declare Wednesday a bank holiday, settlement that used to fall on Thursday still will, and settlment that used to fall on Wednesday will fall on Tuesday instead. Easy peasy, as long as N is currently >= 2. Changing from T + 1 to T + 0 is a big switch. T + 0 settlement isn't really effected by Wednesday being a holiday in that settling transactions isn't delayed, with the large caveat that entering transactions is.
- ponector 3y agoWe have 5-day workweek now. How do my packages from online stores are delivered Monday to Saturday? Maybe processing is not so much dependent on how many workdays a week has?
- ryandrake 3y ago> Financial systems are inseparably computer systems. Most similarly important computer systems don’t take holidays. Google doesn’t take holidays… or doesn’t seem to, from the perspective of a typical user, at any rate. Wouldn't it be better for users if our financial systems worked like the Google example? Why can't I as a regular retail investor trade a stock on Saturday? Why can't I move money from one bank account to another on Sunday? Imagine not being able to send E-mail on Easter because nobody at your ISP was there to push bits around or whatever these banks' excuse is?
- lotsofpulp 3y agoBecause there is a lot more plumbing involved in buying and selling equities or moving money than there is to send and receive email. Specifically, a lot of measures to prevent something going wrong, because the the damages are far greater when moving things of great value than an email. You technically can trade stock on a Saturday, just not using all the aforementioned plumbing of a popular stock exchange and brokerage. And you can move money on the weekends, just maybe not with the help of banks because they consider it not worth their while to offer the service on weekends.
- ryandrake 3y agoBut why? What makes the plumbing stop on weekends and holidays? Is this some kind of law of nature, or can it be fixed? It seems silly that bank transactions, stock trades, purchases of insurance or anything like that requires human intervention. It's like an HTTP request requiring a human to put it through. Bonkers.
- lotsofpulp 3y agoI don’t know all the reasons, it could involve regulators not wanting to be on call, or more likely, the businesses not wanting to be on call. I know that for lots of accounting related things, there used to be a need for downtime time to tally things up, and maybe that schedule carried over. But overall, I would bet it’s just a low demand thing that isn’t worth it. Suppose you opened an exchange that was 24/7. Would the cost to trade on your exchange be sufficiently low to compete with the current exchanges with limited hours? Technically, if you had a paper stock certificate, you could sell it or buy it, and if you had a bag of money, you could move it. But whether or not other people will help you is probably dependent on how much you can pay, which for 99.99% of people, is probably not worth it to just wait a couple days. Think about real estate. It’s possible that you have a paper deed and draw up some documents and buy or sell it in 30 minutes, but the cost of something going wrong is so high that it makes sense to take a little time and use lawyers to double and triple check things.
- MichaelZuo 3y agoAssuming banks, and other business or subsystems, are open by default is a bit silly when you have to interact with more than a handful. Why not just assume they are not available on any given day unless proven otherwise? A positive list of what's actually confirmed is much better than trying to find every obscure holiday everywhere on Earth and then adding it to a negative list.
- usmannk 3y ago> Technologists describe their systems as having “uptime” and measure it in “nines”, such as “We have five nines of uptime”, which means that a system has 99.999% uptime or, equivalently, about five minutes of downtime per year. Five nines is admirable in many circumstances and would be considered _disastrously_ below expectations for e.g. Google Search. This seems wrong? 5 9s is probably a reasonable benchmark or even unattained goal for Google Search, right?
- bombcar 3y agoFive nines is about six minutes of downtime a year. Google search fails for me perhaps about that. Now to get five nines for Google a bunch of parts below it have to be more redundant and reliable.
- resolutebat 3y agoMy favorite set of Google 9s is that Google Cloud Storage offers 11 9s (99.999999999%) of durability. The availability SLO is 99.95% though. https://cloud.google.com/storage/docs/availability-durability https://cloud.google.com/storage/docs/availability-durabilit... https://cloud.google.com/storage/sla https://cloud.google.com/storage/sla
- ZephyrBlu 3y agoYou do realize that durability and availability are different properties of a system, right?
- pinkmuffinere 3y agoIsn’t that explicitly what they’re pointing out?
- bombcar 3y agoHmm that durability means that after some period of time, all your data is gone. Could be once a year lol
- rtpg 3y agoTo unorientalize the Japan thing here: there’s a national list of holidays. It is updated once a year. You put it in your code base. In the code base there’s a comment pointing to the page (hopefully one on a .go.jp page) Your vendor says thing does not happen on holidays or weekends. There might be some other special day where things also do not happen. Keyword is “training day for staff”. Also end of year holidays. They will send you an email about it. Maybe 3. You read the email (important!), and put it in the vendor-specific list of holidays in your code (also important!) And of course because you like your sanity you use whatever iCal date relativity respecting library to do logic like “the next Wednesday from today” or whatever. Some things take 1 step. Some take 5. Being able to do something that takes 5 steps without writing a 3000 word screed about the world being broken is the sign of a successful person. Document it, do it, maybe improve it a bit, move on with life.
- npunt 3y ago"The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man." ― George Bernard Shaw, Man and Superman
- deleted 3y ago[deleted]
- Retric 3y agoThat’s a wonderful example of often repeated nonsense.
- fiddlerwoaroof 3y agoThis doesn’t actually solve the problem because the problem is that the list of holidays depends not only on the country but also on the particular company you’re interacting with. So, is_holiday is something like a function of the parties involved in a particular contract.
- rtpg 3y ago
- doesnt_know 3y agoI write fund management software and the worst possible requirement you can ever read is "on business days". When you consume data and trade in global markets, figuring this out is non-trivial and usually process specific.
- sparsely 3y agoHow difficult can it be? https://www.financialcalendar.com/data/holidays/how-difficult-can-this-be/ https://www.financialcalendar.com/data/holidays/how-difficul...
- solutionyogi 3y agoI work for a hedge fund and we source holiday calendar from this firm. Highly recommend them.
- highwayman47 3y agoNo, leave the trading hours as they are now.
- aj7 3y ago“ Many people and businesses find it inconvenient when financial systems are down. It also seems unnecessary.” They make money on the float when money doesn’t move. They make money by efficient compression of business with fewer workdays.
- dools 3y ago“ Financial systems are inseparably computer systems” I think this is where he goes wrong. The fact that things stop working overnight means that there is some human intervention required some of the time such that the risk or cost is too great to run continuously. Same thing happens with porting mobile numbers between carriers. Sure telecommunications systems are computer systems but some percentage of cases must require oversight or intervention enough that it’s not viable to run overnight otherwise they’d do it.
- kccqzy 3y agoYears ago in a competitive programming contest, there was an interesting problem to calculate the number of days a bus runs in a given year and a given bus schedule. The bus schedule could contain things like, the bus only runs on weekends, or the bus only runs on weekdays that aren't holidays, or the bus only runs on holidays but including the observed holiday which is the weekday after the holiday if the original holiday falls on a weekend. You know things are intense when you are programming a computer to perform the Computus (calculation of the date of Easter). Technologists thought, how easy it is. A year has only a few hundred days, and there are only a few dozen possible rules for buses. Brute force is enough. Nobody got the problem right. It gave me a great appreciation for how complex when technology interacts with culture and customs, long before my professional career.
- Scoundreller 3y agoAt least in North America we get every observed holiday on every year. There are places (hi France) where if it falls on Sat/Sun and if you're a M-F employee, you just don't get that holiday that year. Of course you have a pile of vacation time to use if you want.
- zoover2020 3y agoDoesn't France come with 25+10 holidays, though?
- Scoundreller 3y agoThe +10 (or whatever it is) fluctuates by year is my point.
- zoover2020 3y agoI'm not talking about public holidays, but turns out it's 2.5 days for each worked month - so 30 per year excluding the public ones
- 3y ago
- clarada 3y agoI once lived and worked in the US. To my surprise (as a Brit), each year we had a public holiday from work but where my kids still went to school and many other places were still open.
- sidjjskaneisn 3y agoThis is a great article. Everything in it is 100℅ true if you've ever worked in finance. The absolute most nightmarish situation you could possibly imagine is the overnight batch cycle running late or even worse, having some portion of it not complete. I've been involved in the cleanup of those sorts of issues many times, they tend to be incredibly complicated chains of hundreds of programs from all different departments, and there is not a modern concept of a single cohesive "application" that runs. Its a very crazy world that even web developers will inevitably encounter a bit of if they ever take a job at a bank for instance.
- bigstrat2003 3y agoIt was an interesting blog (as usual), though I'm really surprised by the assertion that most Americans get two holidays for Thanksgiving (Thanksgiving plus black Friday). I have almost never in my life had a job where black Friday was a holiday, nor has anyone else I know. Sometimes I take the day off (because it's nice to not have to go back to work for just one day), but I certainly wouldn't say it's a holiday for most people here.
- Eisenstein 3y agoIt's a school holiday, so students and those working in an academic setting get the day off, at least.
- epolanski 3y agoInteresting, but honestly not fond of the style of writing of the author. I will add another common source of problems in Italy: every single city or village has its saint, and if it is that saint day on the calendar that city or village shuts down. But here lies an issue: if you are employed in a different city then you reside (e.g. you work for a company in Milan but you live in Rome), you get the worst combination. You don't work on Sant'Ambrogio's day (Milan's saint patron), but you get to work in your city's holiday, so when everyone is enjoying and having fun you're working. And yes, this has technological implications of the sort that author describes.
- telotortium 3y ago> [4] Readers of a certain age might sensibly ask what “cyber” means. Consider it a way to gesture broadly at technology used almost exclusively by people who both do not understand technology and feel some amount of pride in that. Teams at large retailers, believing online commerce was doomed to be a tiny sideline like catalogs and only worth tens of billions of dollars, were involved in naming Cyber Monday. The other place you’re likely to hear it frequently is American national security circles, which exist in a superposition of understanding that technology can certainly be used to kill people and break things while also believing that it’s not a real way to kill people and break things if it is the sort of technology built by people who look like pre-juice Steve Rogers.
- btbuildem 3y agoLong, long time ago, I had to calculate what day in a given year Easter would fall on. I forget why, but it was a requirement. https://en.wikipedia.org/wiki/Date_of_Easter#Gauss's_Easter_algorithm https://en.wikipedia.org/wiki/Date_of_Easter#Gauss's_Easter_... It's probably the most byzantine date equation I've ever had to deal with.
- karakot 3y agoI'd probably just create a config file, where I'd store all known Easter dates for the next 50 years. If software still works 50 years later, they can extend the config file.
- prewett 3y agoAnd I thought database tables designed five years ago and multi-hundred line SQL queries were a problem, wow!
- sirspacey 3y agoThis was incredibly fun to read and a wonderful rabbit hole. Technologists are often defeated by their assumptions of how easy it is to solve a problem, but it’s also how we get ourselves in to solving impossibly hard ones. Of course the natural conclusion is we repeat the same architecture in the name of new ones.
- FabHK 3y agoTo add to that: In several jurisdictions, the calendars of when shares can trade (T, with a closing price) and when shares can settle (T+2) is distinct (say, shares can trade on NYE, but not settle). So, one definitely needs to maintain (potentially) multiple calendars per jurisdiction. One calendar per counterparty was news to me, but fair enough. The next complication then is that these calendars can change. In Hong Kong, we have typhoons quite occasionally between around August and October, and if the observatory declares a T8 or above, several businesses close, including the stock exchange. It then depends on the exact timing of the raising and lowering of the signal whether there is the usual trading, or half day, or no trading, which implies no closing price, thus an additional holiday for the trading calendar. To treat holidays properly, one must then take into account the day it was declared for some purposes.
- pinkmuffinere 3y agoI like patio11’s writing, but this has so much joking commentary compared to his usual articles. It felt like a discworld novel. If patio11 sees this: I like your writing, and your jokes are funny, but I’d like them more if you just kept the half that were funniest.
- baq 3y agoWhich half is the funniest, though!
- wodenokoto 3y agoSo every company in Japan has their own public holiday, and they've written it down _somewhere_. Sounds easy compared to what the middle east has to offer on that account: - When Dubai was awarded the 2020 World Expo the following day was declared public holiday (yes, less than 24 hours notice) - In the UAE, the death of a Sheik is often followed by 3 days of mourning where government offices are closed (this can include a lot of office workers one might not think of as "government", as the respective emirates runs a lot of companies) - When Qatar scored a goal at the world cup, a public holiday was immediately announced for the following day. - Even planned public holidays, such as Ramadan (not a public holiday as such, but work does grind to a near halt) and Eid are determined by sightings of the moon, and the start and length of these are often announced days in advance.
- MomoXenosaga 3y agoIn my country on a public holiday everyone is free to spend money so all the stores and restaurants are open all day. What are people supposed to do on a holiday if not consume product?
- wodenokoto 3y agoSame here in ME. Every business in retail and hospitality works on weekends and holidays. For Dubai at least, they have something like 90% foreign workforce, so it is easy to find people who do not observe Eid. But in the context of the article, we are talking banks and offices and particularly KYC requirements. I’m a bit unclear how banks are affected by these “tomorrow is an advocate holiday!” announcements, particularly the banking software.
- kristjansson 3y ago> Eid No techy discussion of holidays should be considered complete without a mention of Eid. When is Eid? When it’s decided Eid is!
- MomoXenosaga 3y agoMoney never sleeps.
- nadam 3y agoI find it fascinating that pg's and patio11's writings are popular on HN at the same time. The contrast is fascinating not just in topics and writing-style but with the identification of engineers. The first guy gave engineers the 'hacker' identity, the second guy speaks about and partly identifies himself as 'technologist'. What a contrast! :)
- neomantra 3y agoI operate a Service Bureau, which is a firm that facilitates transactions for brokers and banks. There are two calendars for US Equity Trading that we need to maintain: Trading calendar and Settlement calendar. The difference is that trading happens at exchanges/brokers and settlement happens at banks. Thus, a bank holiday may be trading day -- for example Veteran's Day. We're small, so I personally manage these two calendars (and as others say, we use DB tables). There's a settlement concept called T+2 (soon to be T+1) which is Trade date plus 2 days; this is the day when the cash and shares must be exchanged. On the Friday morning before last Veteran's Day, we get operations emails from one of the Banks we service that our Settlement dates for the previous day's trades are all incorrect and causing issues for them. I was very confused and very worried that I somehow forgot Veteran's Day. But... then I realized that it was a Canadian Bank settling US Equities trades! In their business practice they would settle the trades on a day all the US Banks would not. T+2 for the Canadian Bank was different than T+2 for US Banks. So we resubmitted all the trades with a settlement day of Veteran's Day. As OP says, managing business calendars is hard for many reasons. I also got really jacked up by a Leap Second, a story for another day.
- mlrtime 3y agoI've maintained these as well... just be happy you don't have to deal with corporate actions yet. For the most part you can just buy a Bloomberg feed to get all these calendars, if you can afford it.
- vamega 3y agoOh man, I had a Bloomberg terminal, and got data from their Data License product. Even if you have all the calendars, it’s still non-trivial to apply the calendars correctly for different counterparties based on instrument and function. And corporate actions are awful. The Bloomberg Data license data sometimes doesn’t match what the terminal has. Bloomberg said they updated it in the terminal but would not fix their bulk data sources since the errors were for actions that happened a while ago.
- jakupovic 3y ago>Five nines is admirable in many circumstances and would be considered disastrously below expectations for e.g. Google Search. This is BS. 5 nines is great for pretty much any system especially if extrapolated over 5+ years. I stopped reading right after this statement as the rest is probably BS.