Having worked at Bloomberg I really wish there was more content published about how it's implemented because it pretty astonishing in both good and bad ways. For one thing the codebase is ancient there are still some Fortran bits that in use today. However the more modern code is in C/C++ and designed heavily with latency in mind. In particular the feeds are designed to be extremely fast with a few custom built high performance databases built to serve this [0].
The bit that really amazed me was the way the front end is implemented. The front-end is fully rendered server side (meaning every click requires a full round trip to Bloombergs servers) in Javascript using spidermonkey. This caused a lot of difficulties since any real time elements needed to be rendered in a totally different way. As well the version of Javascript was restricted from using things like timers or callbacks since that could make rendering stall. In some ways it's impressive that they were doing server side Javascript at least 5 years before nodeJS but whole approach seems like a byproduct of age of mainframes.
What was the reason for using Javascript to do the server-side rendering (as opposed to another language on the server)? Was it just a preference, or were there some technical reasons?
There were reasons for wanting to use an embedded scripting language in general. Ultimately the choice (at the time) came down to either Lua or JavaScript. There were pros/cons to each approach and in the end JavaScript was chosen mainly because many coming in from the outside would already be familiar with it. Keep in mind that this was before Chrome existed and browser wars had not begun yet... so things were a bit rocky at first, but really it's peen proven to be the right path. Eich's common line -- "Always bet on JS" and all :)
I’d love to re-read that ancient white paper called ‘Bloomberg in a nutshell’ if anyone has it. It explains the server side architecture which is pretty interesting and terrifying as you said.
i'd love to read more about how Bloomberg Launchpad was implemented [0]. that seemed like a HUGE departure from the clunky old bloomberg interface. it had all the visualizations you want, excellent snap to grid, and was live updating everything. just amazing for its time.
It's implemented in the same manner as the traditional "panels" (how we refer to the non-Launchpad windows). It's the same code, same implementation, same development environment. Everything's integrated. When it started out (~17 years ago) it was different and new, but the work there was taken back into the main panels to replace what you think of as old 80x25 screens. All of it is now rendered using Chromium (Blink).
thats fascinating. it looks and feels so different from the main panels. once i had launch pad i was like "i never wanna go back to the main panels again" lol. (of course, i couldnt, cos some functionality was missing plus it just felt good punching weird keywords i already memorized)
might be a dumb question, but how do you render frontend server side? Is the content of the UI dynamically generated in the backend and serve as a static page to users?
I had to reinstall one of these after one of the top trading brass in oil futures at Wal-mart got affected by those fake Microsoft Support scammers and they put the boot lock on his computer.
It's a pain to set up, but it's authentication is unbelievable. It has something like triple factor authentication plus biometrics.
To get him logged in to test it so I could make sure it spread across his 5 monitors correctly, I had to use his RSA key + password to log in to the website, then use a physical device that reads flashes on the screen to generate another code with another password, before he finally put in another password and scanned his fingerprint on the keyboard.
It was mind-boggling, but not unexpected given this dude was moving millions every day.
The primary purpose of the fingerprint scanner is to
prevent password sharing. Bloomberg terminal access costs about 20,000 per seat per year. Bloomberg cares deeply that every individual who uses the system is paying for an account; shops that use Bloomberg would obviously rather share an account if they can get away with it. The fingerprint scanner makes it really hard to share an account.
I would hire a "fingerprint guy" who's entire job was to run around the office unlocking terminals. Pay him minimum wage and it's still cheaper than a couple extra terminals
I know you're joking, but just consider who uses these terminals -- these are companies trading millions, billions, or trillions of dollars. Bloomberg terminals are expensive, but not really in the scheme of things. Also, if a company tried to steal licenses this way, there would be a whistle-blower bounty and the company would get caught soon.
Bloomberg sales and support is very hands on. If you work at a place that has a lot of terminals, there is usually someone from Bloomberg corporate walking around interacting with people, trying to make sure they are getting value/use from the terminals. If they noticed anything like this happening, you can be sure that the company would receive a nasty lawyer letter since they would be in violation of the user agreement that strictly forbids this.
You might think Bloomberg would be less-than-strict about enforcing this (who wants to sue their customer?) until you realize that “we’ll forgive the breach of contract if you buy accounts for everyone we caught cheating” is a very lucrative sales tool.
IME with a small sample of Bloomberg sales reps, they're glad to look the other way from a little funny business. They want to sheer the sheep, not skin them.
There is a service called "Bloomberg Anywhere" where there is a portable fingerprint reader to log into a browser-based Bloomberg Terminal rather than the dedicated-server version.
The reader does not need to plug into your computer. Instead, it reads data from your monitor optically (flashing) and your fingerprint to give you a one-time code.
What I mean is, what would a cheating company with a “fingerprint guy“ do when a legitimate user needs to log in remotely? (What if the fingerprint guy got sick, or quit?)
Personally, I run 2 clusters of 5 nodes each, in geographically disparate zones.
There are some shared infrastructure dependencies that aren't redundant, but generally speaking the system can survive loss of multiple nodes and/or an entire site.
I'd give the fingerprint guy the B-Unit Android App, which only takes a static QR code as input. Others could send him a screenshot, and get the log-in approved remotely.
I don’t know the exact details, but there are users identified via fingerprint who can connect from anywhere and there are users identified via password who can connect only from an activated terminal. In the first case you pay for the user, in the latter you pay for the (potentially shared) terminal.
I’m thinking about a cool project which is a custom USB fingerprint reader that can remember prints and replay them on-demand without the finger being present.
The physical device (B-Unit) is typically used for remote access without the keyboard. Subsequent logins post initial setup are either through the keyboard biometrics or the B-Unit and most are using the keyboard. Normal login process is username/password + keyboard or B-Unit. They also have a standalone USB fingerprint scanner.
I remember the first time I saw a trader holding up his b-unit to the monitor, I thought it was some hazing ritual they were putting me through. Until that point I had only done small shop IT. It blew my mind when I realized not only was this trader really screaming at me for real, I couldn't believe that it did eventually work.
Bloomberg support is amazing. Whenever I had to call them as an IT guy for a trading firm, the calls were over in about 3-5 minutes.
I came in here to explain this.
I worked IT at a company closely affiliated with Bloomberg L.P.
Basically everyone had a Bloomberg terminal and B-Unit.
It is how we communicated with a lot of people at Bloomberg.
In our stock room we had nearly every type of terminal dating back to maybe the 80's. Eventually we sent them back.
My most pleasant surprise was that the B-Unit for detecting the flashes worked over remote desktop. I figured however it was detecting the frequency would not translate, but it works perfect fine even over a so-so quality remote desktop connection. Sort of makes you wonder how sophisticated it really is...
And this is not just once- I used it repeatedly over many years.
Yes, I primarily use mine over remote desktop for the direct line to BBG and in-house programs need more power than a laptop provides. Definitely have had to adjust contrast settings more than I would like but nature of the beast I guess.
It works well over remote desktop... unless you have a screen tinter like f.lux. I didn't expect changing the light color to break the flash detection, but it does.
I'll pass the feedback along. I suppose it just hasn't come up before during testing. If you have an active login please go through the normal channel and ask help to enter request to support f.lux and I can help connect it to the right people.
Considering Bloomberg absolutely doesn't want you to be able to use it remotely I find that hard to believe... if you use windows remote desktop into a machine running the bloomberg terminal it can detect that and will not function.
I remote in to my machine running BBG on the trading desk from my office all the time with no difficulties. Also remote into my office desktop from home and log into BBG that way as well.
In San Francisco, depending on where you go right now, tomatoes might be $20 a case or they might be $40 a case. Why is any place selling them for $40 a case? I honestly couldn’t tell you other than there was probably a problem somewhere with the tomato crop. But if you’re able to get them for $20 a case right now, it’s because that store was able to get them for a good price, and that means somewhere upstream in the supply chain, a futures contract was exchanged which made that possible by locking in the purchase price in advance for this batch of tomatoes.
This is often the case with avocados which might sell for $0.50 a piece in one place or up to $3 a piece in another. Anything can affect the price, up to and including cartels in Mexico demanding protection money from Avocado farmers recently, but pests, weather, soil problems, or whatever might limit the supply and lead to price increases.
Walmart, being Walmart which isn’t unlike being Costco or any other major supermarket of sorts where people buy food, would want to limit their exposure to shocks in the market regardless of what’s causing the shocks. So they would need to employ futures traders in order to accomplish this. Even if they lose money on some contracts, they’re probably making money on enough of them to keep their prices low when you go there to buy tomatoes, avocados, lettuce, spinach, meat, poultry, or whatever. Nobody is happy when the price of tomatoes suddenly doubles almost overnight, and especially not the customer.
Technically that's the original use case of futures contracts - you pay now, and lock the price. You might lose some (due to prices falling down, supply not fulfilling the contract) or win some (due to issues in supply, prices going up, etc.).
On the other hand, the supplier gets money now, not some time in the future (like after harvest) and this provides a different kind of cash flow that doesn't invoke debt (usually).
And then there's trading on the contracts all around, trying to get best prices :)
That's amazing! In this sense, every company (well, at least every big company which deals with commerce and commodities) must be a financial company. Which explains why this is a big market.
I understand hedging tomatoes if Walmart is selling tomatoes. However, the OP says "oil futures". I think Walmart doesn't sell crude oil, heating oil, soybean oil. Even for transportation, you'd hedge gas, diesel etc. I wonder why oil futures.
It's the same principle just a couple layers removed. A spike in oil prices means a downstream spike in anything that needs to be transported via truck, which is approximately 99.8% of what Walmart sells.
To be honest I didn’t see the word “oil” initially, but other comments already addressed this: Walmart does have to deal with large quantities of oil and related commodities. In addition to their grocery business, they also run a large logistics operation, and the price of the goods and groceries in their stores at the end of the day doesn’t exclude the cost of their transportation to those stores.
Walmart trades oil futures for the same reason Southwest Airlines does.
During the mid-2000s, Southwest got so good at hedging and futures trading--plus was one of the only airlines that hadn't gone bankrupt so had the cash and credit and good reputation to trade on--that it was routinely called "a commodity desk that happens to fly airplanes."
I imagine that, just like airlines use futures to hedge the price risk of jet fuel, they do the same for their vast logistics operation. They can lock in prices so they aren’t suddenly facing a massive bill if gas goes way up.
Not just fuel for their logistics, but also selling gasoline in their Wal-Mart brand gas stations near their stores, Neighborhood markets, and Sam's Club. They ditched Murphy USA a few years back for much of this fuel and began sourcing it themselves. It's a way to ensure those prices are the lowest they can reasonably offer and still turn a profit.
Hedging is extremely odd in that while it is thought of as a way to lock in 'certainty' on the price of something, it really is just another way of gambling on a price.
In the case of airlines, they are effectively 'short' oil, in that they profit if the price of oil falls, and lose if the price rises. So the usual story is that it makes sense to hedge their oil costs. They can do this in three main ways:
1) Buy oil forward. They get to lock in the price of oil at a future time. If oil prices rise, they win. But if oil prices fall, they lose out, since competitors can now buy oil more cheaply.
2) Buy a call option on oil. They get the right to buy oil at a fixed price at a future time. If oil prices rise, they can exercise the option, and win. If oil prices fall, they can just take the cheaper price => another win. But the option itself has a cost, so if oil prices don't change much, they lose out since they had to eat the cost of buying the option.
3) Sell a put option on oil. This is the airline being paid by someone for the option to sell them oil at a fixed price at a future time. In this case, the airline wins if oil prices don't move too much in any direction (since they get paid for the put option). If oil falls in price, they will have to buy it at the higher price => they lose. If the oil price rises, they also lose since the costs have risen.
Yet, in all cases, after hedging, the airline will still either win or lose depending upon the change in oil price. No certainty has been gained.
The choice whether to hedge or not is really down to game theory. What matters is not just whether/how your airline hedges, but what your competitors do.
> Yet, in all cases, after hedging, the airline will still either win or lose depending upon the change in oil price. No certainty has been gained.
That’s not really true. You’re locking in the price that you’re going to pay - that’s the certainty. You might however not be getting the best price at that point in time. From a financial forecasting perspective it probably worthwhile trade off though as you’re fixing one of your costs for that time period and that’s useful even when sub optimal.
There's still no certainty. For an airline, your prices have to be competitive. If you've locked in an oil price, and it turns out to be a high one, then your fares will be more expensive than your competitors (assuming that they didn't hedge in the same way). So the only certainty there is failure.
In all situations, hedging and non hedging, the oil price will determine whether you win or lose. There is no magical combination of derivatives that will ensure success. In fact, for every financial product you buy, you're paying a cost due to the margin that the bank/market charged you.
Hedging might make sense for some accounting/tax situations, but that's another issue entirely.
You are free to lose money by keeping the prices competitive, or lose money by raising your prices and losing business. Either way, it's the same result.
Airlines sell tickets in advance, so hedging will allow them to match their near-future fuel prices to the ticket prices they're selling now. They consume fuel but don't produce it, so I don't think they can fully balance things out over time internally.
edit: I see this was mentioned already in the thread.
> There's still no certainty. For an airline, your prices have to be competitive. If you've locked in an oil price, and it turns out to be a high one, then your fares will be more expensive than your competitors (assuming that they didn't hedge in the same way). So the only certainty there is failure.
A huge chunk of airline tickets are sold in advance. The oil futures can literally lock in the prices for only sold airfare if you're that paranoid.
Also (probably more important), the cost of oil on a given ticket is quite low and it would take a drastic change in oil prices for it to be obvious to customers comparison shopping.
> Hedging is extremely odd in that while it is thought of as a way to lock in 'certainty' on the price of something, it really is just another way of gambling on a price.
Actually, yours is a rather odd take on the term 'certainity' itself! To clarify, I'll lay out the layman take & the quant take.
The layman explanation is - life is a gamble but I wear seatbelt. Because that's the certainity I won't die by being thrown off the seat. Yes, that might mean I might die in other ways. Like maybe the car dives into a lake & I couldn't get out because the seatbelt is stuck so I drown to death. But the car in lake probability is smaller than car collision probability. So I have purchased certainity in my mortal affairs by wearing the seatbelt. Atleast if my car collides with another car, I don't get thrown off for certain.
The quant problem is the same. My quant professor at UChicago always insisted "only losers buy stocks". He repeated that in so many ways that lesson stuck to all of us. Like, stocks are for losers. Quants don't buy stock, losers do. Now why did he take such a radical stand ? Stocks are a random variable so there is no certainity. That's the very definition of positive rv y(t), it can do anything on the positive y axis, because it is random. But you are not completely helpless. You can buy certainity on both the x & the y axis! And on functions of those if you are clever. So if you pay put premium on a 1 month expiry with say strike at 1 sigma, you are saying I am only willing to lose 1 sigma from my present mu within next month. If my stock falls below mu-1sigma, then some other loser better pay up. Who is that other loser ? The guy who sold me the put option. Because he holds the opposite belief, which is why he sold me the put. So I am certain I won't lose below 1 sigma. I have literally purchased my certainity by paying that put premium. The loser why sold me the put is also certain it won't go below 1 sigma, which is why he gets to collect my premium. Now, what will really happen ? Well, who the fuck knows. The stock is a random variable, so anything can happen. But neither of us have bought the stock. I have bought 1 certainity, the seller has sold another certainity. So its a win-win on the certainity axis. Because my max loss is capped at mu minus one sigma, I am certain of that. So even though underlying is random I am certain!
> No certainty has been gained. is really down to game theory.
This is simply not true. A lot of certainity has been gained, which is literally why money has been exchanged. Price of certainity is by definition the premium.
Show me where the certainty is, then! In all cases (being unhedged, hedging against rising, falling, stationary or volatile prices), the airline can still be adversely affected by the future oil price. Either directly, or through becoming unable to compete profitably with rivals who did not hedge.
You can make an indirect bet on oil futures by trading airline stocks. Southwest Airlines (LUV) if it's going up, American Airlines (AAL) if it's going down.
I think the difference is that by the time an airline is buying fuel, they have already sold the tickets at a certain price. So hedging makes sense. That’s not the case with Walmart for produce - if tomatoes are more expensive to buy they can just sell them for more. The only things for which it makes sense are those that aren’t sold back, eg the fuel for their fleet of trucks etc
Yes, if gas prices doubled, Walmart could increase the price of their products, but consumers would likely buy a lot less, and Walmart sales would suffer.
Walmart’s focus is on “low, everyday prices”, and future can help maintain those.
There is absolutely no more reason to keep prices low if you've made a profit independently on futures than if you haven't.
Your marginal cost goes up in both cases. If you're optimising profits, you should make the same decision in both cases regardless of if you bought futures.
Accounting wise, the fact you made a profit on futures is unrelated to your current costs buying in the physical market.
Most likely the futures in question aren't being physically settled.
Regardless, the economic cost is what determines incentives to raise price for a rational actor. For my claim above to be wrong, Walmart and co would have to be irrational.
I’m totally ignorant about this part of the world, but I imagine they can only reliably sell them for more if someone else isn’t selling them for less. And if the someone else is hedging, they might.
Locking the costs at a fixed amount for a fixed amount of time. This certainty allows retailers to plan promotions, discounts levels, special offers without impacting profitability. It also simplifies accounting and budgeting. Making a profit from the hedge is not really a priority (it is difficult enough for professional trading firms with full research departments at their disposal). Also, retailers (and other producers, like coffee roasters) MUST buy their raw materials quite regularly, so the profit potential of hedging tends to average out.
Generally speaking most people have no idea how integrated companies are into the "global economy" in a general sense. Just pick any random international company and they have multiple jurisdictions, currencies, currency risk, commodity risk, investor relation, internal portfolios and cash management, funds. All of this for one company, now imagine all companies and all the people, data, and connectivity required to manage it.
Actually, many large companies employ traders in their Treasury Group, under the CFO function. As other comments state, this is to hedge risk. Specifically, most big multinational companies have to hedge FX risk constantly. Depending on your industry, you may have specific risks (e.g. I once had a client who was a clothing manufacturer and they had a cotton futures trader on site.)
Off topic on topic but futures trading is pretty much the most useful actual trading out there. One can argue people are gambling (otherwise known as "investing") almost 99% of the time with trading.. but futures can actually be used for mutual gain.
You are a corn grower and want to lock in a price 6 months from now. You are someone who buys a lot of corn and want to lock in the price 6 months from now. Futures allow you in essence to meet up in a highly liquid exchange where you can lock in those prices for the buyer/seller. Win-win for both, because they get the price security they desired.
Of course the vast majority of futures is speculative, which provides liquidity for the hedgers..
The core reason futures exist is to allow you to maintain more stable pricing of the products you sell, in the face of price instability in the products you buy. Let’s say you’re Pizza Hut and you want to run a Super Bowl ad advertising $5 pizzas for a month. But then a tomato sauce recipe goes viral in China and the price of tomatoes goes up 2x. Now your promotion might be costing you a lot more than you had planned.
With futures you can buy the tomatoes today, to be delivered later, the farmer can get his money now and you van lock in your price now, insulated against increases in prices (with the farmer insulated against decreases).
The bootlock thing is easy to overcome. I had to fix a neighbour who got scammed. It is a password on the Windows registry not actually the boot but it needs to open the registry to boot.
Windows backs up the registry. Just boot from a WindowsPE or live Linux USB and delete the live versions and replace with the backups. Reboot and lock is gone.
The actual title is "How Mike Bloomberg made his billions: a computer system you’ve probably never seen", which much more closely describes the actual article (as there's not that much detail about the terminal itself).
The terminal, and particularly the business model around it, is widely disliked in some parts of the industry. Bloomberg has an incredible amount of power as the only high quality source for certain types of data, and they tie it to the terminal. There are all sorts of contractual requirements around data not leaving the machine the terminal.
It's not uncommon to hear stories about small trading shops or asset managers having a shared terminals which they run over to do specific actions, or a substantial amount of effort being put into automated data extraction which avoids Bloomberg's controls.
>> widely disliked in some parts of the industry. Bloomberg has an incredible amount of power as the only high quality source for certain types of data
I agree the terminals are disdained, but I never understood this. The rest of your comment justifies the value. They provide great data (which they spend a boatload of money to get/clean) and they sell it. Customers don't have to buy it, they can try to get the data themselves.
I used a BB terminal extensively for over a decade. It saved me orders of magnitude in work, there is no way I could have obtained all this data myself on an ongoing basis and had it available easily via API. They make a lot of money, and they deserve it.
I had colleagues try to switch to Reuters terminals and they came ashamedly back to Bloomberg, hat in hand.
The complaint seems pretty straightforward to me. As you note, the value Bloomberg provides is all in its data and software, not in the physical terminal itself. The terminal is effectively just DRM, a giant dongle you have to use to access the data and services.
Back in the day you could make an argument for the value of locking services to a proprietary terminal, since most people didn't have a computer on their desk and all and there were no common standards for those that did. But these days there is a ubiquitously accessible common standard for desktop information systems: the x86-based PC running Microsoft Windows. Having to use a proprietary terminal means not being able to use all the knowledge of that standard platform the user has built up over the years, and having to build up a new stock of knowledge about the baroque weirdnesses of that proprietary terminal. So I can totally see how someone would wish they could just access that highly valuable data and software on the machine they already know how to use.
Much of the data is already accessible from almost any client that can run the BBDL (Bloomberg Data License API, or whatever the name du jour is) Many software vendors embed BBDL pulls using the API. For example, SunGard Front Arena and PolyPaths both pull rates/prices/SMFs/curves seamlessly from BBDL regardless of whether you are running on the terminal or not. This has been the case for over a decade at least.
As for the individual software being available on different machines, they have a solution for some of that (Bloomberg BVAL Pricing Service, or the name du jour).
Ultimately, they want a vertically integrated UX where the models and screens have a very intuitive correlate on their proprietary keyboard (oh, and DRM.) It is a choice, you cant fault them for choosing that route.
There are plenty of competitors who have come along (and died) trying to offer something else. Everyone is free to choose those.
It is a bit like Apple and iOS. I once went to Android for 2yrs, and then came back to iOS because I saw the value of things just working well together.
After reading threads like these[1]. I can't help but feel that MOST interfaces should indeed be like the bloomberg terminal - great example of security-focused, minimal latency and maximum functionality product.
I strongly feel as if the developer community at large need to take another hard look at server-side rendering of business UIs and the benefits this approach can bring.
Consider what you could do if you had a cloud-only multiplayer game engine with all players just receiving a low-latency video stream of their interface and local events being piped back up the same connection, but with some business application built on top. The ability to say that you no longer have a client-server contract and it's all just one big server implementation drops a massive number of design constraints and immediately makes the security and client interface to the system a trivial affair.
Obviously, the downsides with the above are the latency, bandwidth, and additional load seen at the server in order to render client views. But, these are really the only downsides, and none of them are extraordinarily complex in terms of technical resolution. Latency is probably the only hard constraint that cannot be resolved by simply increasing an existing resource. The other 2 can be resolved with More Money™. Everything else is upside from here.
In reality, however, some Bloomberg users struggle daily with inaccurate data, lack of documentation, manual (slow) help on trivial issues, and poor performance when running analytics. It is more like a bloated GUI app pretending to be a terminal, worst of both worlds.
The terminal is extremely slow most of the time and constantly crashes. I agree it is very secure and the software is designed for power users (mouse almost never needed), but it isn’t exactly a marvel of engineering. It’s basically a giant piece of legacy code.
>The terminal is extremely slow most of the time and constantly crashes
Ok your comment is mindboggling to me. Having used Bloomberg for nearly 10 years, not only for the front-end but the back-end API I can tell you it is the most stable piece of software I've ever seen. Not once, not onesingletime has it crashed in those 10+ years for us. The API is even more impressive- to my knowledge we never even experience a single missed query or randomly dead data stream over all those years.
The terminal is expensive as hell, but they deliver on the cost.
Also just by the fact of how it's used, saying it constantly crashes and assuming it's just like that and traders are ok with that all day long? Whatever experience you seem to have must be an extreme outlier.
>It’s basically a giant piece of legacy code.
Eh I think that's silly. You even say it's designed for the power users, which is absolutly right. That's the only reason you think it's legacy. Are you telling me everything behind and their back-end is not extremely advanced? It has to be to support the amount of data that is flowing through them at every second in data that HAS to be fast & accurate.
> Having used Bloomberg for nearly 10 years, not only for the front-end but the back-end API
Maybe you know the answer to a question I’ve been asking for years: is there any way to authenticate the data you receive over the API? Bloomberg requires credentials to prove you have a subscription but I’ve long wondered about the security/integrity of the data flowing the other direction. What mechanism stops a bad actor from slightly altering or delaying Bloomberg API data as a way to manipulate the markets?
Once you have a few terminals at your firm, Bloomberg will provide a dedicated router + tunnel on top off the regular security. The bad actor would likely need to be internal to Bloomberg, and at that point there is nothing you can do.
I'm assuming you are speaking about BBDL (Bloomberg Data License). My assumption was the API client used SSL and certificate verification to prevent man-in-the-middle attacks. I'll admit I never verified this. I imagine this is easy to verify -- just do a connect w/ a 2-liner BBDL client script and examine the network.
Adding my data point: as a user of the terminal since 2005 I don't ever remember it crashing. Regarding the API (.Net) the only trouble I've had was when I was using a BlockingCollection to keep my simultaneous requests under the Desktop API limit of 128 and I still received a "too many requests" error -- but I trust Bloomberg's throttling software more than my own so I didn't complain.
> The mean Facebook user doesn't care about latency.
They do, they just don't know it, yet. If you showed them two versions of Facebook, one which was their normal latent mess, and one which had half the latency, they'll take the less-latent version every single time.
Don't assume that people don't care - they definitely do, they just don't have a choice.
Plus it's not like they are just handed out and you're on your own. A nice man or woman in a suit will spend many hours sitting beside you teaching you everything you want to know. And anytime you are confused you press the help key twice and you are connected with someone who will take you through step by step what to do. And this isn't outsourced IT support. It's a person in New York who knows the product really well.
"a Bloomberg reporter asked a Goldman executive if a partner at the bank had recently left the firm — noting casually that he hadn’t logged into his Bloomberg terminal in some time"
This is basically access to analytics. From a now-missing huffpo piece: "reporters were able to access a few different kinds of data that are not available to other terminal users. These included the ability to see how often customers had logged onto terminals and the ability to track some of their activities. They could see how many times in a month a client had entered specific commands on a terminal to, for example, look at information about foreign currencies or pull up economic indicators."
And why: "With these tools, Bloomberg reporters could keep loose tabs on terminal users, which include government officials and high-profile investors and traders. Though the tools were limited, they were potentially useful enough to give reporters leads to news scoops — the ultimate goal at an organization that prides itself on its news-breaking abilities."
> There’s also a discomfort about just how much information and data Bloomberg has through the terminals. In 2013, Bloomberg News reporters were caught using the terminal to get subscribers’ information and monitor when they logged in and what they were using it for. Bloomberg admitted that it was commonplace for reporters to have access to “limited client information,” apologized, and said it had changed its system.
That's not inaccurate, but it minimizes the impact of this scandal. It's not as if this was just a couple of bad apples who got caught. The reality is more ethically questionable.
Follow-up by the Atlantic: "reporters at the company were for years not only permitted, but frequently and forcefully encouraged, to monitor Blomberg's terminal customers for news" ; "... he used the function to surreptitiously track the movements of the CEO of Fiat as he traveled across the United States."
Impeachment probably won't sink Trump, but Bloomberg just might. He's already instructed his reporters not to investigate Democrats. With the data available from rich Trump supporters' Bloomberg terminals and possibly those of Trump administration officials, Mike is in a better position than most to find something to ruin Trump's reputation.
There are some resources posted at business schools, where Bloomberg Terminal usage is frequently part of coursework [1, 2, 3]. Also the "Bloomberg Markets" magazine (frequently sold in major airports) covers new terminal features and shows how to use the terminal to analyze trending financial topics.
I recommend going to your local business public library, they usually have a terminal. Or your local university MBA library. Just play around with it. It is a beautiful and very different machine/software.
If you really want to use it, I enjoyed the book Paul Wilmott on Quantitative Finance which uses the Bloomberg Terminal quite a bit for interactive learning.
Not sure about your city, but for example, while I was in college, I accessed the Bloomberg terminal from:
https://www.nypl.org/locations/sibl
while off-campus
Similarly, law libraries usually have access to LexisNexis or Westlaw. It’s as useless for uninitiated as access to Bloomberg Terminal - you need to be trained to do anything useful with them.
Here's a pretty good tutorial [1] (albeit a bit old) on how to price credit default swaps using a typical Bloomberg function. This kind of esoteric fixed income calculator is what makes Bloomberg so dominant. Otherwise, you'd have to write all of this crap in Excel just to price a relatively simple product like a swap.
Best way to see what the terminal looks like to look up help and documentation for it. Google things like "Bloomberg SWPM tutorial"
A fair bit can be pieced together from its own website.
For example these days the terminal is just a software based product which comes with a keyboard for each license. The PC is up to you to provide. You can even connect to Bloomberg using the internet but you can still use a dedicated leased line connection.
In the past few years, Bloomberg has been sponsoring a booth at PyCon US (they're always hiring). They have a 3 screen terminal setup there where you can see it in action and ask questions about how it works. They will be there again at PyCon in April in Pittsburgh.
If all the institutions are inputting trades on their Bloomberg terminals, does that mean Bloomberg is actually executing their trades, making margin loans, etc? Or is just just a standardized interface to other firms?
What about when traders IM each other? How does that actually become a trade? Does someone at the bank read their chat history looking for agreements to buy/sell and do the actual paperwork later?
> does that mean Bloomberg is actually executing their trades, making margin loans, etc? Or is just just a standardized interface to other firms?
good question! often its a standardized interface to other firms, a "middle office" that is usually at your broker (if you're a fledgling shop) or in your own offices (if you're a bank or a bigger more established fund). yes, this means you use bloomberg as a standardized interface to your own firm. This still makes sense because its such an industry standard, and has good compliance recordkeeping. I'm sure Bloomberg could execute your trades, I've just personally never come across or met anyone that has needed that so I'd probably say that is a minority of situations. Come to think of it, I'm not sure why Bloomberg doesn't also own this market. its very standard, boring stuff.
making margin is a whole nother ball game. that's more of broker-dealer territory. again Bloomberg is so big probably some part of it does that kind of thing, but far more common you're getting that sort of thing from a broker-dealer.
> What about when traders IM each other? How does that actually become a trade? Does someone at the bank read their chat history looking for agreements to buy/sell and do the actual paperwork later?
often, yes actually. someone in the middle office looks thru your chat transcript to confirm the trades (sending paperwork over to their counterparts, making sure it's within appropriate limits and placed in the right risk accounts etc). for more standard deals you might have a STP (straight through processing system) automatically pick it up from chat (with ofc a confirmation step). i have no idea when this started, it was before my time, but this definitely predates bloomberg itself. As a currency trader at a bank we had these old ass machines (i forget their name, oops, i loved them) where you had a direct line to all other banks and could "call out" to them to deal over chat. because of the sensitive nature of these transactions (you could be dealing in billions of notional amounts), one unique nature of these chats was that they were immutable: no backspace, no edit button. this means we needed a convention to recover from typos. this often worked out as spamming EEEEE after a mistake, e.g. "Hi I buy 200 EUR at 45EEEEEE43 pls thx". Sometimes flagrant mistakes aren't caught either, so there's a sort of gentleman's agreement thing if you spot your counterpart making a mistake in your favor, you ask them if they're sure or to double check, and if they're sure then you take the deal.
kinda rickety, but it worked. this is how much of institutional block trading is still done today* , but ofc more and more is taken over by bots.
*caveat that i'm about 4 years out of the business now
only very occasionally, specifically because other people use them as support and resistance levels. that sht is real.
but otherwise.. yeah most of the time technical analysis is extreme backfit tea leaf reading mixed up with poor understanding of value vs momentum factors.
burned out, it was super high stress. multiple nights sleeping at my desk. waking up with cold sweats having nightmares about my positions. say a "good" trader gets 52% of their trades correct. that means you're wrong 48% of the time, even on the stuff you're high conviction, done a genuine amount of work on. (tbf not all shops do this, i was just in a large multimanager hedge fund that did work like that. ofc if you're at a quant shop this does not at all apply).
as a junior-to-mid level person in finance, most of us are doing some form of coding anyway. i was forced to progress from vba to python to haskell based on the shops i was at. i realized that i was both good at this, enjoyed it, and didnt enjoy the trading part. so i decided to switch into dev despite having no qualifications for it. doing a js bootcamp helped fill in the holes.
i'd say finance careers have a much higher ceiling for comp, my boss was pulling in 2m/yr at age 33ish, but he was both lucky and exceptional. i wasn't gonna be him. at my career trajectory (the vast majority of us in finance) i'd probably be more like 200-500k/yr. just kinda not worth it if i could go to tech and make somewhat less but with far better quality of life.
I was at a financial startup ~ 2012 and remember getting a couple of these to play with. They came in the form of 1U servers (HP I think) running RHEL5 that each needed a public IP that was open to bloomberg. I think the client app was windows only at that time, I wonder how much has changed
I do not think it runs on anything but windows, but you can install the terminal software on any Windows computer you want. They are now selling "Anywhere" subscriptions that basically let you move from one machine to another.
I interned at Bloomberg this summer and there was an announcement that B2 (what you're maybe referring to as V2) will be sunsetted, although some of the major improvements will be ported over to B1 (the "original" version). Unfortunately, tabs were not one of the things they'd be porting :(
I am increasingly seeing "software" used as a discrete noun, rather than as a continuous noun or an adjective, as in this line from the article:
"The terminal — a software officially named Bloomberg Professional — is still a major part of Bloomberg’s overall business [...]"
I know languages grow and change, but this really grinds on my ears. Not so long ago, the author would have written "a program", or "a software program", or "an application". I see no value in the change.
I’d really quite like to read an article about the actual architecture of the terminal software. It’s a phenomenal piece of work that operates under some absolutely brain-bending constraints.
The terminal has been so successful largely because of timing and damn good execution. Mike was at the right place at the right time with changes around the financial industry and move to digitization to capture the uplift these brought to the product it has become. It created cloud computing and social network before those terms were officially defined.
Its distribution is such that any new startup hedge fund for example has to have one to be taken seriously by its investors and to deal effectively with brokers.
Other firms continue to try to beat it and in some sectors for certain functions they have but no one really has hurt it in its entirety... Thompson Reuters now Refinitiv has had best shot but honestly it's barley left a dent.
I use the terminal in my work. I’ve come to loathe the obtuse UX - every function like PORT or EMSX has its own peculiar design that has to be learned by trial and error. A button named ”cancel” might be placed in a way that would imply closing a window but in reality cancels a trade. The archaic design is a trademark in its own right, so it’ll be around forever it seems.
I've been obsessed with the Bloomberg terminal ever since I discovered my latent love for finance a few years back. I actually got to check one out, but didn't really get to play with it as much as I liked. One day I'll be able to afford the $14k/yr.
One trick I heard was to take finance courses at a community college/university that owns a terminal license. Johns Hopkins specifically has a bunch of terminals donated by Bloomberg himself.
I used a Bloomberg terminal for years and years, both as a user and as a coder.
- It's quite convenient for business side people. I used it to trade all sorts of things (FI, credit, equities, fx, derivs on all those) and there was always some convenient function you could type in to give you a calculator for whatever it was. Whatever derivatives model you found in a textbook, you could find it in the terminal. With relevant data loaded in.
- Data is convenient too. Once you know how to work the API, you can pull a huge amount of data. A lot of it is available elsewhere, but nowhere has so much in one place, in one API.
- They are very serious about you not sharing the terminal or the data. Obviously once you have the data in a text file, they can't do much about that, but they do limit the amount you can download, and then they phone you once you trigger something. Sounds like a warning, but also a sales call at the same time.
- It's not so easy to share the terminal itself. The standard tricks like installing it on a VM, or installing remote desktop / VNC won't work. I'm sure someone has figured it out, but it's not as easy as sharing most other software services. They'd be fine with a small business sharing a terminal though, as long as it stayed on one machine that different staff would take turns on. And in case you thought a Bloomberg Anywhere would solve it for your distributed team, that used to use a special biometric device. Not sure if it's still there.
- Chats I'm guessing are not nearly as interesting as a few years ago, before the revelations about what was being said. I never got much gossip, but it really depends on where you're sitting in the market. You can use them as a replacement for voice trading, and everything is recorded. And it warns you if you're about to send a swear word, heh.
- A lot of small firms use the terminal to trade directly with counterparties, there's a whole OTC infrastructure in there. I never used it much but all the banks had their own Bloomberg pages for doing trades in all sorts of things with them.
- In terms of infrastructure, you can get a dedicated line for your bbg, they come and stick some stuff into your rack. This can fail over to internet if you want, simply a matter of changing the config on the app and phoning them. Also IIRC you can get a special data server, depending on whether the guy above scared you into buying one.
- The help function is for users, not coders. You'll wait for ages while the agent on the helpdesk figures out that he doesn't understand your problem if you're a coder. If not he'll find the business function you're after quite fast. Every time I got through to a dev about something that needed to be changed, it went into a suggestions queue and stayed there.
Fun fact: Information from the Bloomberg terminal can also be received right into Excel using special VBA functions. Although, there are licensing restrictions on sharing such information.
The terminals are popular, but having worked with some of the staff at Bloomberg to get MIFID related changes implemented, they didn't impress me at all.
A trader has an idea about what inflation will look like in 2025-2030 (The 5 Year period starting 5 years from now).
Lots of other people have ideas about the same thing, so there is a product you can buy or sell to bet on it.
She asks her broker what price they can buy or sell it. The broker asks how much she wants and gives a price.
This conversation is so common that there is an agreed upon structure for it. Bloomberg parses all your conversations and provides you with an aggregated view of all quotes brokers have offered you. You can then chart/do whatever you want with this data.
> This conversation is so common that there is an agreed upon structure for it. Bloomberg parses all your conversations and provides you with an aggregated view of all quotes brokers have offered you. You can then chart/do whatever you want with this data.
I appreciate when a human interaction becomes so formalized that it becomes a de-facto API that computers can use. It would be funny to imagine a future where that interaction is happening between 2 chatbots and report results back to their humans.
One amendment: 20k means dollars per basis point, rather than dollars of notional. That is, enough notional that a 0.01% change in interest rates would cause a $20 000 change in the net present value of the instrument. Traders often think in these terms because it makes it much easier to compare across different instruments.
Also, if you tried to trade 20k dollars notional, dealers would tell you to get lost, because an amount that tiny isn't worth their time.
traded like this because it is a meaningful measure of risk regardless of tenor. also its the same whether you're doing bonds or interest rate swaps (or, rarer, options)
The chat rooms have really interesting features, like pinning and rich-embedding equity information that updates in real time. Also, you can "ring" the room with a bell, which was immensely entertaining as an intern.
Ringing the bell is grounds for expulsion from many chat rooms, at least the semi-anonymous chat rooms provided by Bloomberg and other sell sides shops. Apparently it is very annoying to certain people.
If you give a quote as a trader you typically give the other participant some time to answer you.
If the price moves against you since you last quoted, you typically say something like "off" and ring the bell so that the other guy knows that price is not good anymore. Fairly relevant when you're talking to a salesguy who is not looking at the chat, cause he's talking with his trader
Good question. I think of it as being equivalent to marking an email “high priority”. In my experience brokers would sometimes use it to call attention to a time-sensitive issue, eg confirming details for a trade settling today. Always thought it was annoying and if they had something really urgent they should just pick up the phone, but that’s just me.
Echoing another commenter, level of discourse is generally pretty low. In public chat rooms you’re more likely to get a wise crack rather than an actual response to any question. That said, you can still find some nuggets of wisdom.
> "And while the terminal can be hard to learn — it’s not very intuitive — once they pick it up, a lot of people don’t want to learn a new tool and run the risk of making a mistake. ... The terminal is sticky."
I don't think they're quite as rare as they make it sound. It seems like half the restaurants in NYC have one. Though I would believe that most people who have seen one didn't realize what it is.
That would explain why the POS vendors keep their prices so dang high for otherwise commodity hardware - they were hiding a Bloomberg terminal this entire time!
They don't need it, but their customers might. I always imagined it was like in movies about rich people in the 80s where the waiter would interrupt the lunch with a note on a silver platter, and they run off because Saudia Arabia just cut oil production and oil futures are going crazy or something. But wait! They don't have to go all the way to their office because there's a Bloomberg right here!
"Half" is almost certainly an exaggeration, but there's probably a few places on Wall Street that serve $200 steaks or whatever for lunch regularly that have one. And it probably gets used only a few times a month, if at all, and they consider it an advertising expense.
Disclaimer: I was a programmer for Bloomberg, but I never saw one in a restaurant.
The Bank of America branch on Sand Hill Road in Palo Alto, near the headquarters of the major VCs, had a public access Bloomberg terminal in the lobby for a year. May have been a marketing demo from Bloomberg.
Making a reservation or ordering food from Bloomberg Chat actually sounds like a feature that would be used by a lot of traders. I doubt that there are many restaurants that have a Bloomberg account though (there is no need for a physical terminal, Bloomberg Anywhere can run in a browser).
The bit that really amazed me was the way the front end is implemented. The front-end is fully rendered server side (meaning every click requires a full round trip to Bloombergs servers) in Javascript using spidermonkey. This caused a lot of difficulties since any real time elements needed to be rendered in a totally different way. As well the version of Javascript was restricted from using things like timers or callbacks since that could make rendering stall. In some ways it's impressive that they were doing server side Javascript at least 5 years before nodeJS but whole approach seems like a byproduct of age of mainframes.
[0] https://bloomberg.github.io/comdb2/overview_home.html