BSE sent company information to its subscribers before it was public
Don't charge for what isn't yours to sell
Follow Boring Money on Twitter if you haven’t yet! Here’s the link:
A stock exchange today1 is a company whose main product is software. The software is an order matching system that never goes down, and can make no mistakes. If it does, people lose money.
Because a stock exchange’s main product is software, it has a lot of data about people (and machines) using its software. This is stuff like the orders people are placing right now, the orders people placed 10 years ago, the kind of stocks or derivatives they’re trading, those sort of things. Because an exchange has all this data, a side-business they have is selling this data.2
A stock exchange sits in the middle of people trading, which also makes it conveniently placed when it comes to figuring out who’s playing by the rules and who isn’t. If a particular high-frequency trading firm seems to be intentionally pumping up stock prices, for instance, the exchange has to detect it and try to stop it.
This doesn’t fully make sense to me. A stock exchange is, after all, a business. And if someone is trading stock via its software, the exchange makes money. It doesn’t want people to not trade, but at the same time it wants people to follow the rules. This “want” isn’t from a sense of morality but because the exchange is given regulatory responsibilities by its own regulator, SEBI.
So:
Exchanges sell software and also the data that comes with everyone using their software.
They have regulatory responsibilities.
In addition to the information that comes with people trading on the exchange, there’s other data that exchanges have. A company that’s listed on an exchange must disclose all routine and non-routine affairs to that exchange to continue being listed. Its financial results, board meetings, responses to news reports, shady stuff discovered in the company, etc. all go to the exchanges. This is information the exchange gets not because people like using its software. It is information it gets because exchanges are pseudo-regulators and the listed companies have no choice.
In late June this year, SEBI issued an order against BSE, one of India’s two main stock exchanges. SEBI figured that people who paid BSE for data seemed to be getting access to company disclosures sooner than people who didn’t.3 Company filings aren’t information that the exchange gets because it owns great software; it’s data it gets because it’s a pseudo-regulator. That was a problem.
Befuddling databases
BSE, as a business, lets people subscribe to it for access to data. But it wasn’t just giving away the corporate filings and disclosures it received as a regulator to its paid subscribers before everyone else. There’s a bunch of tech stuff behind what was happening, and a lot of SEBI’s order tries to make sense of BSE’s systems.
Here’s what SEBI figured with BSE’s inputs:
When companies upload their filings, they go to database 1.
From database 1, the data moves to database 2. Database 1 is now irrelevant, its purpose was only to immediately (maybe temporarily?) store the filings when they’re uploaded.
From database 2, the data is copied to databases 3 and 4. (In SEBI’s order these are referred to as databases 2A and 2B respectively, but man those names are confusing for no good reason.)
A user on BSE’s website can get the data from any one of databases 2, 3 or 4 depending on which database is busy or available in that moment. This would mean that two users on the same website could be served by two different databases depending on which one’s best suited at that particular moment.
BSE’s paid subscribers receive the company filings from database 4. (They’re supposed to, at least.)
Because of so many databases in use at the same time, there is the possibility of some data showing up in one database before another. If the website is serving data from database 3, but the data hasn’t been copied over to it from database 2 yet, even though it may have been copied to database 4, there is a possibility of paid subscribers getting access to company filings while they’re not showing up on BSE’s own website yet.4
From SEBI’s order:
[…]
c) In 6 out of 100 instances, paid subscribers received data prior to replication in DB2A and DB2B and hence, paid subscribers would have received data prior to users of BSE website if they had connected through these databases.
d) In 47 out of 100 instances, paid subscribers received data prior to latest time stamp of databases 2A and 2B. Hence, paid subscribers had access to data prior to investor in case investor has connected to website through other database (i.e., except DB2)
In 6% of the cases SEBI looked at, BSE’s paid subscribers received the data before it was replicated to databases 3 and 4. That is very weird because the subscribers were themselves supposed to be receiving data from database 4.
In 47% of the cases, the paid subscribers received the data before the timestamps were updated for databases 3 and 4. Wow, this is confusing too. SEBI doesn’t offer an explanation about this so I’m totally guessing here, but it seems to me that the timestamps on the databases would be updated after the full replication was complete. So investors on either of these databases would see the older information until the replication was done and the timestamp updated.
You still gotta pay
While there was a bit (probably a few seconds to a few minutes) of a time gap in when BSE’s paid subscribers received company disclosures versus everyone else, the real gap seems to be in how the data was made available to both.
If something new shows up on a website, there are typically two ways for you to know about it.
Checking the website. Maybe you don’t check it yourself but you have a machine that checks the website every second, and lets you know when there is a change.
Or, the website tells you when there is new data available.
Checking the website is fine if it’s a single web page. If it’s a thousand different company pages, it’s tough. And no matter what you do, there will be a time gap between the data becoming available and you knowing about it, depending on how frequently you or your machine is able to check.
BSE’s paid subscribers have access to BSE’s API5 which is essentially BSE telling its subscribers when there is a new update available. Everyone else just has to show up on the website and find out for themselves if the company they’re interested in is being investigated for fraud.
In its order, SEBI has a suggestion—RSS feeds:
BSE has further submitted that there is no regulatory requirement to have a RSS feed. In my view, absence of any such statutory requirement does not dilute the spirit of obligation under regulation 39(3) of the SECC Regulations. The availability of an RSS feed for dissemination of information on BSE website would have addressed the disparity between pull and push of data between general website users and paid subscribers. BSE being an MII has higher responsibility to take necessary steps to abide by the said principle and it was incumbent on BSE to ensure that the possibility of receipt of information by LCM or paid clients before its publication on website, even if due to technical reasons, is avoided.
RSS is a technology from the internet’s early days. All data goes on a simple webpage, gets read by RSS readers, no one gets preferential treatment. SEBI itself uses RSS for its own announcements. SEBI would like if BSE used RSS feeds for company filings.6 It’s been almost 2 months since the order, and BSE doesn’t seem to have brought in RSS feeds yet. I think it’s safe to assume that it doesn’t intend to.
BSE was fined a minuscule ₹15 lakh ($17,441) for the mess with the databases. There was no evidence of any malice and SEBI treated it like a technical violation which has now been addressed. SEBI’s case is that BSE is free to make money by selling data that it gets by being a software provider, but not the data that it gets by being a semi-regulator. BSE prefers to make money either way.
Cover Photo by Veronika Andrews/Pexels
A stock exchange earlier was a company whose main product was… a physical space?
If you’re unsure about why a slight delay would be a problem, my last post on Jane Street would be relevant.
SEBI’s order also mentions an internal team at BSE, the Listing Compliance Monitoring team, getting access to disclosures before they’re made public. BSE said “hey that shouldn’t be a problem” and SEBI said “no, it is”, so BSE corrected it by putting an intentional delay to ensure the internal team doesn't see the disclosures before they’re made public.
An API is like a door to an external program that sends data to whoever wants it. If a paid subscriber has access to BSE’s API, it would just be a link and a password that they would plug into their own system, set exactly what information they want from BSE, and BSE would throw that information to them whenever it’s available.
NSE already does.
Great article, loved it ❤️
A stock exchange's main product earlier would just be a physical space? More than that I think it would a order matching system (obviously) and more importantly a functioning payment processing and settlement system (you pay money, you get shares and vice versa) in a fully predictable timeline with no scope of default or delay, doing that requires a lot of invisible infrastructure like clearing houses and depository participants, all working simultaneously to ensure the smooth flow of shares and money.