Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Can’t afford Bloomberg Terminal? No prob, I built the next best thing (github.com/didierrlopes)
1422 points by sexy_year on Feb 25, 2021 | hide | past | favorite | 289 comments



If you like stocks and are careful with the way you spend your money, you know how much time goes into buying shares of a stock. It’s tedious and I don’t have 24k for a Bloomberg terminal. Which led me to the idea during xmas break to spend the time creating my own terminal. I introduce you to “Gamestonk Terminal” (probably should’ve sent 1 tweet everyday to Elon Musk for copyrights permission eheh).

In summary, the Terminal (https://github.com/DidierRLopes/GamestonkTerminal) has 7 distinct menus: - Discover Stocks Top gainers; Sectors performance; upcoming earnings releases; top high shorted interest stocks; top stocks with low float; top orders on fidelity; and some SPAC websites with news/calendars.

- Market Sentiment Scrolling through Reddit main posts, and most tickers mentions; Extracting stocktwit sentiment based on bull/bear flags; Twitter in-depth sentiment prediction using AI; Google mentions over time.

- Research Web pages List of good pages to do research on a stock, e.g. macroaxis, zacks, macrotrends, ..

- Fundamental Analysis Read financials from a company from Market Watch, Yahoo Finance, Alpha Vantage, and Financial Modeling Prep API.

- Technical Analysis The usual technical indicators: sma, rsi, macd, adx, bbands, and more.

- Due Diligence Some features are: Latest news of the company; Analyst prices and ratings; Price target from several analysts plot over time vs stock price; Insider activity, and these timestamps marked on the stock price historical data; Latest SEC fillings; Short interest over time; A check for financial warnings based on Sean Seah book.

- Prediction Techniques The one I had more fun with. It tries to predict the stock price, from simple models like sma and arima to complex neural network models, like LSTM. The additional capability here is that all of these are easy to configure. Either through command line arguments, or even in form of a configuration file to define your NN.


if it doesn't come with an ISDA, I'm not interested.

"JP Morgan Employee : But, uh... you guys are under the capital requirements for an ISDA.

Charlie Geller : By how much?

JP Morgan Employee : [thinking] Uh... how much? One billion, four hundred seventy million. So... a lot.

Charlie Geller : This makes us look bad, doesn't it? That we didn't know what the capital requirements were?

JP Morgan Employee : Uh... it's not great. But keep up those returns and give us a call way down the line, you know. Okay?"


Can you provide some more context on this?


Watch the movie "the big short". It's really good. This is from one of the scenes where too guys try to get a license. Although the manage a few million dollars, in order to get the license they should have even more. Or as it turns out the right connections.


the book is even better.


Both are good. The flick is quite faithful to the book, especially in tone.


Michael Lewis, author of the Big Short, also wrote Liar's Poker about his experience at Solomon Brothers in the mid-eighties where things like mortgage backed securities were invented. It's captivating.


Yep, plus that. Although I had to buy the Dutch (My native language) version too (first bought the English version). The subjects are pretty difficult so reading about them in my native language worked better for me.


It's the best scene in the movie. https://www.youtube.com/watch?v=Qo1OSqBQYmk


Reading the comments, I'm struck by how I read this scene totally differently to most of them. I see an overworked, annoyed young analyst sent to deal with two rich kids (starting a hedge fund with money they made 'taking boats down the river', then skipping the ISDA requirements by calling their neighbour) who are wasting everyone's time by not even doing the absolute minimum research -- it was 2006, just Google ISDA and you find out the requirements.

Also a security guard kicking out two men in suits from a lobby is just weirdly unrealistic.


To test this out, I googled ISDA capital requirements and sure enough it doesn't mention the capital requirements in any of the links I found (ymmv).

I think the issue is that they're bespoke transactions so the credit support required may change depending on the context.


Its a great scene, but this one takes the cake: https://www.youtube.com/watch?v=xbiDrzTd8fE

"That's a nice shirt, do they make it for men?"

"Somehow you're like Dora the Explorer and you're the first person who has found this thing..."


It's a great scene, but this one takes the cake: https://m.youtube.com/watch?v=DQ5VfKSYvSk

"There’s some shady stuff going down. God, this is intimate. I feel like I’m financially inside of you or something."

"I'm jacked. Jacked to tits!"


Literally laughed out loud, thanks for the smile on a tough afternoon.


It's a quote from "The Big Short".


I could watch The Big Short and Moneyball all day every day.


I swear we must be the same person!


Don't forget the best line in the movie, usable anytime there is a bit of malfeasance afoot:

"Holy shit, that’s just fucking crazy. That’s fraud!"

I find myself quoting this a hell of a lot in the last few years.



Quote from the movie Margin Call.


Also a good movie, but wrong. The Big Short is correct.


You're thinking of: "Please, speak as you might to a young child or a Golden Retriever. It wasn't brains that got me here, I can assure you that."


Jeremy Irons is a god in Margin Call, such a good performance.


Ah the wily Brownhole fund from the 2008 collapse


Wrap it in a SaaS and dummies like me will buy it! Make a mill!


He should accept GME stock as payment medium. 10 stocks per year


I'll give you my GME when you pry it from my dead, cold hands.


This right here except a mil is an understatement


Make a trill!


Looks awesome. I’d love to see some screen shots as I’m not that literate on the jargon


You are a blessing. I thank you to the moon and back. Will definitely check this out and definitely supporting you for your incredible work.


Did you use floating point or fixed point numbers?


Great question, I remember inheriting some code that mixed the two and led to some “interesting” results.


I can't see any reason to use fixed point numbers here, seems like floating point would be perfectly sufficient.


Floating point numbers are inadequate to manipulate accounts representing currency, and for finance at a large.

https://stackoverflow.com/questions/3730019/why-not-use-doub...


You're cargo culting. Floating point numbers are perfectly fine for financial modeling and forecasting. If your goal is to figure out what stocks to buy/sell, it doesn't matter if your software calculates the P/E ratio as 19.232738273816 but the actual value is 19.232738273817. It doesn't even matter if you calculate it as 19.23 but the actual value is 19.22.

When you're storing balances or transacting payments between institutions, you need to emulate a specific set of operations, part of which includes using fixed point numbers. It is not sufficient to just use fixed point, you also need the correct number of digits (AFAIK it's 4 digits with US currency) you need the correct rounding mode, etc.

Every few years someone comes along with a big new idea to rewrite the aging dinosaur COBOL code that runs the financial world in something modern. It never works. Nobody wants to go through the old COBOL code to figure out exactly what the code does, they take a greenfield approach with a description of what the UI is and an incomplete spec of the operations that need to happen. And then when it comes time to test the system, they get balances and numbers that are wrong. Because the only thing they know is "we need to use fixed point" but never bother to understand the actual full scope of how basic financial arithmetic is unique, and different from "normal" arithmetic.


The problem gets compounded as you chain more operations together. Financial calculations often involve long sequences of operations and that is where you can see the true effect of what I am mentioning.

With numbers that are large enough, a 1% or 0.1% difference means a lot of money. And if you have an automated system making decisions based on those numbers that can translate into financial ruin, legal problems, etc.

Leave the ad hominem aside, btw, noone wants to hear about it.


Fixed point numbers have finite precision. As soon as you multiply two fixed point numbers you risk losing precision unless you use more space for your result. You can’t fix your “long chain of calculation” by making it fixed point as you’ll still be rounding things (unless it happens that all your numbers need 54-63 bits of precision and you were wasting bits on the exponent)

Apart from in accounting, the two problems with floats are nonassociativity and speed, neither of which are particularly relevant here.

The risk of losing money does not look like subtle floating point rounding errors. It looks like someone fucking up a formula in excel or the model being wrong or the model being right but risk not being hedged.plenty of people in finance will add percentages as x + y instead of doing (1-(1+x)*(1+y)) because it’s simpler (this works fine because log(1+x) is approximately x when it’s small, and it can obviously be made better by taking the log earlier but plenty of percentage inputs to a model may be rough guesses anyway (who cares if you write 5% or log(5%)))


> Nobody wants to go through the old COBOL code to figure out exactly what the code does, they take a greenfield approach with a description of what the UI is and an incomplete spec of the operations that need to happen.

The only way to improve on this description would be to note that the contract rate for each of the persons involved in this endeavor would be in the $485/hour range (of which, the labor provider might get $50). And then to note the 12 layers of management sign-off/approval on top of that - billed separately.


No, for finance at large floats are often fine. Plenty of financial calculations cannot be done precisely using fixed point or arbitrary precision numbers either, so there's no point giving up the performance/ease of use that floating point offers. Billions of dollars is transacted based on Excel calculations every day, this whole fixed point for finance thing is a programmer myth.

Of course as you say for accounting you don't want to use floating point, but I can't see anything like that in this application.


Have you considered the problem that any publicly available indicator suffers from the fact that being the first to execute the strategy is the only way to make money? This would imply an entirely algorithmic trading strategy to reduce any potential for delay. That's how we end up with HFT. Maybe not subsecond HFT but <10s HFT.


Does it have the chat feature as well?


Anyway to see the UI for people who don’t know anything about code but looking for a investment alternative


You may want to add a Dockerfile.


Just pushed a really simply start of a Docker PR https://github.com/DidierRLopes/GamestonkTerminal/pull/13. Take a look and contribute.


Nothing stopping you from submitting a PR :)


Impressive work, I didn't know could code!


> probably should’ve sent 1 tweet everyday to Elon Musk for copyrights permission eheh

Why? I assume you're doing this as an advertisment?


I dont have a github account....

But i was working through sigaloid's post here

https://github.com/DidierRLopes/GamestonkTerminal/issues/2

And was still hitting a error on compile

Generally ending with

NFO:pystan:COMPILING THE C++ CODE FOR MODEL anon_model_dfdaf2b8ece8a02eb11f050ec701c0ec NOW. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Ran the following to clear the error

sudo apt-get install build-essential libssl-dev libffi-dev python3-dev

Pretty sure libssl-dev and python3-dev were the only ones needed though

Also UserWarning: Using slow pure-python SequenceMatcher. Install python-Levenshtein to remove this warning warnings.warn('Using slow pure-python SequenceMatcher. Install python-Levenshtein to remove this warning')

So the following was needed as sigaloid stated

pip3 install python-Levenshtein


Where is the market data (price, volume, etc) from? All open source projects related to stocks seem to use Yahoo quotes, which is essentially abandoned and not supported at all. No SLA or any indication of long term survival.

I found Alpaca[1] which looks decent in terms of a stock API and their upstream data provider Polygon.io[2] which looks even better but costs $199/mo for essentially per tick market data.

[1] https://alpaca.markets/ [2] https://polygon.io


According to the docs it uses https://www.alphavantage.co/


He just wanted to push his service. HN comment section has been unbearable recently with the substantial increase of people doing this. It has always been present but now it is almost reaching the point of making the comment section worthless.


For real, this has been a big problem for a lot of people. So I built a real time comment pruning algorithm service that lets you browse HN with only quality comments. Subscribe today!


Who just wanted to push this service? OP or sevencolors?

Either way, as a counterweight to all the conspiracy theory nonsense on the web, I have been making an effort to not assume I know people’s hidden intentions. I’d like to invite you to join me in that.


Yeah im just as lost as you. Im not really sure who is pushing what service that is their own... either way, I did find all the links relevant, and worthwhile knowing about..... shrug


Nigerian princes must really love you.


Pushing your own product has been standard and encouraged practice at HN since the beginning. This is an incubator site!


Even if you are posting a fake review as a third person?


There are quite a lot of comments that make it to the top which say, "That's nice, I made this similar thing which is really interesting, here's a <link>." Followed by a big thread about their thing.

I don't mind those comments so much, as they can lead to good stuff, but I do mind them derailing the main thread when they are upvoted. So, I often downvote them in retaliation.


I'm OK with it so long as it's something on GitHub, useful, and you can drop in replace it.


I am OK if it is something directly relevant to the topic and it is presented in a direct manner, but no, 99% of the time it is some disingenuous thing like this: "Hey guys you are talking about nuclear engineering, that made me wonder how fishes in my zone would be affected by a nearby nuclear plant . I use allmyfishes.com which seems to be a great site detailing all the fishes in the US, there is a free tier and good paid plans. _disclaimer_ I founded allmyfishes.com"


I don't think nodesocket is affiliated with the sites he linked, nor I find any links between the two?


And it just happened again, in this same thread:

https://news.ycombinator.com/item?id=26260064


I think we need some sort of AI tool to identify these cases. I read a review on findbssales.io which says it could do exactly this, with a good payment model based on API calls.

Disclaimer, I built findbssales.io


findbssales.io is down.


I won’t mention that website, but FYI I built it and I have no idea who posted that comment.


What is this low-quality cynicism? Why do you think that it's his service?


Alpaca is primarily for trading.

They were using Polygon for data, but if I recall correctly, I believe seeing an email or such that they're going to roll out their own data and discontinue the Polygon "bridge".


The biggest thing you pay for in the Bloomberg Terminal is the chat function, which lets you talk to other people who also have $25,000 a year to spend on a Bloomberg Terminal.

But this is still pretty cool :)


Sometimes I casually flash my B-Unit around or pretend to check the time on it just to let everyone know I have a subscription.

Other times I will go out of my way to send emails from the terminal just so others get a glance at my @bloomberg.net email address. I also have people send me stuff to the email if it's someone I haven't met before.

The Bloomberg Terminal is well worth it for these two perks. It's much better than paying for an @hey.com email address.


Assert your dominance by using your childhood hotmail email address for business purposes


Log into work's Microsoft subscription from hotmail.com to keep The Man humble


xXSlayer_420Xx


I honestly can't tell if this is a parody or not


Parody. If you have a Bloomberg terminal then probably many of the people you interact with at work also have Bloomberg subscriptions. Imagine some tech worker in Silicon Valley trying to flex some employer-provided top-of-the-range MacBook. The price isn’t the same but the idea that it won’t impress the in-group is.


The SV equivalent is the corporate badge casually clipped to the belt while having lunch/coffee/drinks/dinner.


Hey,I've seen people flex their Palantir seat licenses!


Maybe it's like teamblind? IIRC you need to sign up to them using your work e mail. And it's authwalled so can't really be read without an account.


That's the best type of parody


Not to the proud family whose surname is Parody.

Also those representing parity overheard you and may have a bit to talk with you about.


If it isn’t a copypasta, it should be.


I absolutely detest this comment and all it implies. I'll accept my downvotes now.

Unless I missed sarcasm, in which case, please accept my humblest apologies.


Don't forget the included subscription to Bloomberg Businessweek that we religiously "read" with the feet on the 10 cm of our desk that are not covered with terminal screens.


Having worked in finance on the buy side, I can say this was not true for me or the dozens of people I knew who use it. Neither I nor others I know in the space use the terminal as a place to "hang out" with wealthy people.

Bloomberg's tooling is quite good, and you can get 80% of the way to a bespoke chart with 20% of the work.

Not sure if the above is speculation, or parody, or just a projection of a stylized view of how finance and the world works. But definitely the above comment is confusing / misleading to people who don't work in the industry.


Hello from the (ex) sell side. I think it's satire. Pretty hard to tell though. But I think it's just really good satire.


Poe's Law strikes again.


This has that too, it's called "reddit"


I'm sure jedberg will be very interested to find out about this Reddit thing


Reddit isn't people who have made at least a 25k investment in a terminal communicating under their real name and job title. That's worth something.


No, but it has plenty of people making at least a 250k investment into a meme stock.


My understanding was that the real action takes place in the anonymous chat rooms on the Bloomberg terminal, But I don't know if this is true.


> This has that too, it's called "reddit"

If you receive a Bloomberg message from someone, it's something actionable. That's not true, in finance, of virtually any other electronic communication channel.


> If you receive a Bloomberg message from someone, it's something actionable.

That's some real blue sky thinking.


Can you give some examples? Do you mean it's highly trustworthy?


>communicating under their real name and job title.

I never got spammed once on my terminal.

Not once.


He's just saying the high cost acts as an inbound filter.


Spamfilter prior to HashCash based on Proof of Income


I wonder if a messageboard where you had to submit a significantly difficult hashcash proof with every message would be very interesting.


Yeah that's why we're using Echofin to chat with my trading group. We have tradingview charts, stock screener and a few self-developed crypto tools alongside the chat workspace. Pretty fucking awesome if u ask me.


A ton of big asset trades get initiated and agreed upon via bb chat. But if you’re just trading equities on an exchange, this is probably of no real value to you.


I thought they were too busy Snapchatting themselves with their gold iPhone 12 pros in diamond-encrusted cases with ruby-encrusted selfie sticks.


Just go to 4chan /biz/ for crypto or reddit's wsb for stocks.

The idea that you still need to pay 25k$ for a communication software in 2021 is absurd.

Check my comment history, bought lots of link in 2017 because everyone was buying it on /biz/, posted about it once here and got criticized for it by someone because it's 4chan etc... and people will only listen to you if you have an expensive suite and watch on, even tech people ironically.


It’s about who you know and the quality of info haha, do what you want


Well /biz/ was telling everyone to buy chainlink at 20 cents, it's now 26$, and they were posting all sorts of information to back their claims.

If information giving more than x100 ROI in 3 years isn't quality enough for you then I don't know what is.

One would be wise to look past the anonymity, racist jokes, homophobic jokes, etc... to find what you want, it's like diving in a lake of shit that has treasure chests under it you'll find it if you look hard and deep enough, but you'll have to swim in shit.


"They predicted 13 out of the last 2 bubbles"


That’s someone who understands bubble physics. They tend to join like that before they pop.


The issue is that predicting that a specific thing will rise doesn't mean anything, for all we know you've been predicting EVERYTHING will rise, and got no false negatives but a million false positives.


For every ChainkLink there's a dozen pnd/rugpull scams.


Is it just me, or is the feel of the comment on this post different than other HN posts? There are a lot more snarky jokes. A little more combative. It feels like why I stopped reading Reddit. I hope it doesn’t metastasize to posts on other topics.



Hacker News has always been reddit. All these comments are just people seeing through the matrix.


The overlap between HN and Reddit must be huge. Folks just take off their fedora and put on a panama hat.


Hacker News is Reddit with a thesaurus. This is only an insult to Hacker News if you think Reddit is bad, but they clearly share the same dynamic brought on by the perverse incentives of the "karma" system and individually threaded comments. Classic discussion forum interfaces (e.g. vBulletin or phpBB) allow for much richer and calmer communication.


The problem with the karma system is that it incentivizes simple comments and appealing to common human instincts. I often regret it when my score goes up drastically because I think that I made a low effort comment that exploits ingrained biases instead of actually contributing to the discussion.

I am personally not against the idea of sorting comments based on a score but the score itself shouldn't be visible to anyone.


I don't care at all about internet points, but I do get a chuckle when I notice my karma drop by double digits in a short time period because it means someone was mad enough at one of my comments that they went to my profile page and downvoted everything they could.


I think “Reddit but smarter” is a legitimate point of differentiation. I gave up Reddit for HN because despite all the issues you probably have in mind, the average quality of interaction and information is marginally better here.


Alternatively, reddit but nerdier and less fun. Granted I've only seen wallstreetbets which might not be entirely representative...


I know it's as "old as the hills", and so on, but this was the first time I was feeling it too. But I think it's because one satiric comment just got a lot of attention [1], then other people started to do a bit of satire as well. Which is why it feels Reddit like. Looking at the other comments and top child comments, I don't see it either.

[1] https://news.ycombinator.com/item?id=26261247


Hacker News was never good.


It's funny to post that next to a junkchat thread started by one of the most famous redditors.


9 times out of 10 someone says this, they're taking one tiny interaction and making a huge stretch.

But this post definitely has a very bizarre comment section compared to most.

And not just any one comment, but almost every thread. Maybe it has to do with the "Gamestonks" moniker and what it entails


You missed the point of my post entirely. I said that the comments on this one post felt like Reddit. Specifically I noted that feels different from HN.


I noticed more snarky comments in general in the last 1-1.5 years. I just downvote/flag them and move on. If it some day becomes unbearable then I'll just click on the links and not read the comments anymore - which would be a shame because it's what most of the value of this site is about.


Maybe these are /r/wallstreetbets folks flocking in?

On a more serious note: I think the topic of stocks and getting rich real quick might generate that kind of feel, on any platform. Probably borderline for HN to have these discussions?


It's more the people who pay for the bloomberg terminal who can't handle the headline. The opposite crowd of /r/wallstreetbets.


No, half the sarcasm is at the expense of Bloomberg.

This is the people "sticking it to the hedge funds" pouring in.


I independently had the same thought.


As soon as someone started talking about swinging their big Bloomberg D, and going all alpha corporate overlord, the thread went to shite.


Bloomberg would be threatened by an alternative to their cash cow terminals


maybe it has something to do with the confidence of the posting: "no prob, I built the next best thing". Might come off as arrogant and that probably triggers people.


/r/LOLHackerNews


Welcome to the wonderful world of "Show HN"


I don’t get this same feeling on all ShowHN posts. Most of them, especially for individual projects like this, are supportive critiques of the thing being “shown”.


Says the man who's never posted a Show. You wouldn't know, bud, you wouldn't know. :D


Should probably rewrite it in rust, to solve the markets memory leaks, otherwise everything will keep going up.


I know you are joking.

But asides from the securities offered by the typing system and borrow checker, Rust (and Go; and maybe others to some extend) have going for them is that the compiled binary is "OOTB".

I'm on ubuntu, and it seems all python tooling is there to start running Gamestonks Terminal. But more often then not, getting a Python, Nodejs or Ruby project running requires a lot of fiddling, insider-information (what is npx, why did pipenv just break my entire desktop, why is this 'rbenv' thing giving these weird 'RVM' errors?).

A rust project: download it, unzip it, run it. A very short Daft Punk song, really.


Long ago I had lucid reasons why Sass was better than Less in very important ways, but over time it became "but not worth the trouble of maintaining a Ruby distribution on your machine"

The c implementation didn't hit the point of me being able to endorse it before I just gave up and let people use Less if that's what they prefer.

Runtimes, man. They can be the pits.


Aren't PAR files meant to address that?


Probably. As would appimg or snap or any other packaging.

But all of these don't make the packaging easier, they merely move the complexity of such setups from "all users" to "the devs". Which helps a lot.

But it's still easier if no-one has to deal with this.


ASDF requires nearly the same amount of effort for every language


Daft Punk has split up, so it is no longer a valid meme.


That’s just like, your opinion man.

See what I did? It’s an older meme, but it checks out.


Maybe your joke will be fine when Hell Freezes Over.


Just wait for the 2025 reunion tour.


I realise this is a joke but there are economic reasons to expect stocks to go up in real terms on average in the long term. Investing in the long term is not a zero sum game.


No one here said anything to the contrary.


> solve [...], otherwise everything will keep going up

This implies that markets going up is a problem that needs to be solved.


Market going up when the economy is going down IS a problem because when it crashes it will amplify the problem ten fold.


Do you have any data to back up that assertion?


That used to be case when you had to clear certain hurdles to IPO and stay listed. With the recent SPAC craze you no longer have to meet any of those. All you need is a credible narrative. In that environment, no, you shouldn’t expect stocks to have positive returns. Long-term positive return in stocks is purely a function of required rate of _cash_ return. But if an underlying business is never meant to ever distribute cash back to investors, the stock is worth exactly ZERO. In other words a ponzi scheme.


You shouldn’t expect EVERY stock to have positive returns. Unless the bad stocks to which you're referring become a considerable part of the market, you should still expect stocks, on average, to earn you real interest.


The borrow checker is still busted tho.


Not sure if short selling joke or Rust dig.


¿Por qué no los dos?


Markets are garbage collected.


The market can leak memory longer than you can stay solvent. Or something.


A full garbage collection can be a brutal time.


Yeah, but that scheduling!


this comment is underrated


Wow. This looks awesome. When you say "necessary API keys", does this mean you can still use the program without them, just minus those functions?

e: and is there a way to perform all DD, PT, etc?

e2: oh no!

'xlwings requires an installation of Excel and therefore only works on Windows and macOS. To enable the installation on Linux nevertheless, do: export INSTALL_ON_LINUX=1; pip install xlwings'

e3: https://github.com/DidierRLopes/GamestonkTerminal/issues/2


"...that has been developed for fun, while I saw my GME shares tanking."

"Spare time"...

Wasn't that only several weeks ago? This is an incredible feature set! How many hours did you put into this?


It was "an overnight success" after practising for 15 years. :)


Initial commit was on Dec 20th, and wasn't that big before then

https://github.com/DidierRLopes/GamestonkTerminal/blob/580e2...


From before Christmas.


The only thing that this shares with the bloomberg terminal is that it can do equities and is on a terminal.

Sort of irks me because a bloomberg terminal can do so much more: level 2 data, trading capability, damn near instant news alerts, options, debt instrumentals + so much more

- and I get it, this isn't meant for that same crowd and this is pretty well flushed out for a retail investor. But the comparison with the bloomberg terminal is a bit of a head scratcher


Maybe it's like a Bloomberg terminal as of a few decades ago?

I think access to market data is a challenge in trying to replicate more of the present-day Bloomberg terminal. First because it's so voluminous (as people elsewhere in this thread have said), and second because so much of it is commonly provided under license for a fee (and with nondisclosure obligations) (and also subject to the trend where people pay more to get or generate market data that's closer to real-time).

But in terms of the feature competition, I think people have upvoted this so much because it's an initial version of a single person's passion project that manages to put a whole bunch of financial information at your fingertips. With an active community (and modulo the important data access issues), it could easily grow and grow and grow in functionality.


a couple of decades ago the bloomberg was massively more than that already


Brittanica also had much more than Wikipedia. And Unix could do much more than Linux.

This is how great open source begins.


Also, this looks like it's purely for equities - no bonds, futures, options, swaps, etc. I suspect that by volume of risk traded by users (not purely through the terminal), equities are a minority of what the Bloomberg terminal supports.

Still, this is a cool hack. I understand that it is not a genuine attempt to unseat Bloomberg!


I know, I got excited when I saw the headline, only to discover it’s yet another equity-only tool


For stocks Bbg is overkill. A stock investor basically needs latest PR, SEC and earnings release info for his watchlist of stocks, which can be done using Feedly and Seeking Alpha. Alerts connected to the watchlists ("high volume on stock at new high in this watchlist") would be useful but I haven't found anything with that. Finviz is good for charts, although it doesn't have log charts (at least in the free version). That's basically it. Yahoo Finance was brilliant while it lasted.


Would you be interested in a PR for function to show market holidays? The terminal can pull the data from my site TradingHours.com.


this is nice - it looks like it's linked against at least one GPL lib (fuzzywuzzy) though, so the MIT license almost certainly isn't allowed. looks like there's only one usage though, the other is an unused import, so may be easy to change


Can easily be changed to rapidfuzz, which is based on the older 2011 MIT fuzzywuzzy before it was forced to GPL after incorporating python-levenstein. Also a lot faster.

https://github.com/maxbachmann/RapidFuzz


The MIT license is ‘allowed’. The code in itself is MIT licensed. It's just that, when compiled and linked against fuzzywuzzy, the aggregate work that results must be GPLed.


It's not clear that the aggregate work is allowed to be distributed under the GPL. My legal hypothesis (from having worked with BSD licensed code and noticed how much hassle having many licenses is) is that the extra requirement of repeating the MIT license could be challenged against the "extra restrictions" clause of the GPL. Think of the case of having 500 variant MIT/BSD3-clause/et licenses that CLAIM to mean the same thing and need full reproduction; the cost of having lawyers verify this is substantial, so it is an actual substantial restriction.

GNU believes that the lax licenses (MIT, advertising clause free BSD) are "compatible with GPL" because the GPL requires attribution and the licenses can be considered a form of attribution.

The actual status of this has, to the best of my knowledge, not been tested in court. Because this is a claim from the group that wants to add restrictions (the GPL side) and they generally want to be able to take BSD code and apply extra restrictions to it, it's not clear it's a large risk in practice.


Coding against a library is usually understood to result in creating something that's a derivative work of that library.


The act of linking against a library produces a derivative work of that library. But since APIs are not copyrightable (in europe, at least), the act of using an API does not produce a derivative work, and thus code which uses an API is not bound to any particular license wrt it.


I don’t understand what you mean. You can’t use the API without, in this case, importing it in the python code. That means you bring in a whole copy of the code into your project, or the API wouldn’t work, right?

So, my understanding is the author’s new files that use the GPL licensed library can individually be licensed MIT, but the work as a whole must the GPL.


There is a pretty clear line between using an API and using the code behind it.

The line between an API and code describing and documenting that API is quite fine. See Google vs Oracle.


> See Google vs Oracle

Google v oracle happened in the us. I explicitly qualified with ‘in europe’. That lawsuit would never have flown in the first place. Oracle's position was specifically that they held the copyright of the java stdlib APIs, which copyright was infringed upon by google.

> code describing and documenting that API

I'm not sure what you mean by that, can you clarify?


interesting: given that it may at any time hit that line of GPL'd code, your claim is that the rest of the code can be MIT licensed? i am not a lawyer but that sure seems like a borderline case at best.


The author can licence their source code however they want. The GPL doesn’t relicense other code either, it’s that the GPL asks you to additionally follow its terms for the whole resulting compiled distribution


This is incorrect, and it's precisely for this sort of situation that the LGPL exists.

https://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL

The problem for the author in this case is that a) writing their code against a GPL'd library constitutes creating a derivative work, and b) putting it on GitHub is distribution.


The page you linked contradicts you:

> the terms of the GPL apply to the entire combination. The software modules that link with the library may be under various GPL compatible licenses, but the work as a whole must be licensed under the GPL.

The application is a ‘software module’ licensed under the MIT license (a ‘GPL compatible license’). When you link that application against the GPL'd library, the resultant ‘work as a whole’ must be provided under the terms of the GPL.

(Since the MIT license allows relicensing, and the GPL does not contradict any of the terms of the MIT license, this is legal. If the MIT license did not allow relicensing, or if it contradicted some term of the GPL, the OP's application would still be legally licensed under the MIT license. It would just be illegal to link it against its GPL'd dependency.)


The key part is “but the work as whole must be licensed under the terms of the GPL.”

Licenses are freaking confusing :) but I think folks are correct to point this out.

My understanding is that all of the new files the author wrote can individuals be licensed MIT, but unfortunately the work as a whole should be GPL.


From the FAQ, I don't get why the code has to be GPL licensed. It talks about libraries, "entire combinations", "software modules that link" and "work as a whole".

On your second point: Can't they argue that they implement against an API, which could be provided by non-GPL software as well?


Compatibility with GPL in this case simply means a software distributed in a compatible license like MIT can be combined and distributed under GPL [0].

>On your second point: Can't they argue that they implement against an API, which could be provided by non-GPL software as well?

I don't think that is reasonable. A GPL program is specifically named in requirements.txt and imported. It's essentially the same as dynamic linking, that is no more than naming a program and using it's API. If this argument was valid one could also argue it's possible to modify a dynamically linked binary's rpath (can be easily done with patchelf on GNU/linux) from a GPL library to a non-GPL one so dynamically linking a library would never require you to do abide to it's license, which is obviously untrue [1].

[0]http://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean

[1]http://www.gnu.org/licenses/gpl-faq.html#GPLStaticVsDynamic


> writing their code against a GPL'd library constitutes creating a derivative work

I’m not at all convinced that a court would agree, particularly when the effect on the code is fairly insubstantial.


Almost. The author can license their contributions with a more permissive license if they want (e.g. individual files can be MIT licensed) but the software as a whole must be licensed under the GPL.

I guess it boils down to whether the LICENSE file is meant to apply to the code in that repo or the software it produces when built. I would expect the latter, but I guess it's a bit ambiguous since we're having this discussion.


The Julia programming language does the exact same thing, last I checked (language itself is MIT-licensed, but the reliance on GPL-licensed math libraries makes the whole shebang GPL'd).


It's written in Python... It never gets compiled or linked.


Yeah this has me confused as well, why is nobody talking about that here?

In Python, it's literally just a line of text, an instruction to import something. If that thing doesn't exist, too bad. The user is responsible for supplying it, not the Python code.


How good does this work for non US stocks? I don't think you should invest all your money in stocks of just one nation.


What percentage of profits in the S&P 500 index do you think comes from outside the United States? The nice thing about S&P 500, EuroSTOXX 50, and Nikkei 225 indices: A huge portion of their profits come from outside their home regions: US, EU(rope), Japan. Think: FAANG, Microsoft, Intel, AMD, NVidia, HP, Ford, Boeing, Phillip Morris, Tesla, Siemens, EADS, Phillips, NXP Semi, Alstom, ABB, SAP, Santander, Volvo, Volkswagon, Hitachi, Panasonic, Toyota, Kyocera, Nintendo, Sony, etc. Upon closer inspection, they act like international indices. Don't bother with indices focused upon developing economies -- they are already covered by the Big Three indices!

My take: Of these Big Three indices, the S&P 500 will outperform others over the long term. That is not blind pro-US bias. The US economy (and, correspondingly, the S&P 500 index) is much more dynamic than EU and Japan. It can recover faster after downturns -- recessions & depressions.

<snark> As a retail investor, put your money into a very low commission ETF that tracks the S&P 500 index. See: Fidelity, State Street, or Vanguard. Enable dividend reinvestment programme ("DRIP") to buy more shares with dividends. Go to sleep for 30 years. Wake up rich. Simples. </snark>


You can trade shares of companies from all around the world on US stock exchange.


You can trade global depository receipts* of companies from all around the world.


That's what money is.


I wish you luck trying to sell your shares from some unknown European company in the US that nobody in the US wants to buy.


The article on the potential of making the alternative to Bloomberg Terminal and the corresponding HN discussions [1][2].

[1]https://marker.medium.com/why-its-hard-to-kill-the-bloomberg...

[2]https://news.ycombinator.com/item?id=23891161


The disclaimer is a quote from DFV, DeepFuckingValue, from /r/wallstreetbets


How about Thomson Reuters Eikon the next best cheaper Bloomberg Terminal?

https://www.investopedia.com/articles/investing/052815/finan...


TradingView is more than good for most users


And they even have a wonderful Pine scripting to script new indicators and strategies! TradingView can be quite memory hungry sometimes but page refresh helps in such cases.


Without level 2 data trading is just trying your luck on a random number generator.


There's lots of short-term trading strategies that can work without L2 data. I know 2 people running short term strategies making 7 figures consistently who don't rely on L2. It's a dogma in certain high frequency trading firms that L2 is necessary for profitable edge (since that's a core part of their edge). That said, most profitable short term traders do rely on L2.


7 figures per what time range, for how much invested capital?


7-figures per-year with annual returns of about 100% (not including the capital they use on margin), which is fairly typical for a proprietary short-term strategy


I wish I was more literate in these subjects, some of these terms - I am not familiar with such as `sma, rsi, macd, adx, bbands`


I'd recommend Investopedia to learn more about those terms. As someone with a robotics background, I used Investopedia extensively when I was taking Machine Learning for Trading (would highly recommend the course as well: https://www.udacity.com/course/machine-learning-for-trading-...) if that's something you're interested in.


One more nice thing about Investopedia: they have recently restructured their newsletter ("one term a day") to include references to current events.

That is really nice because it not only gives you something to learn but it also puts it in context.



For someone new to ML for Trading, would you have any other courses or links to check out?


They are terms relating to technical analysis, an attempt to determine future price action from past price action. Many traders look down on technicals as an attempt to read tea leaves while ignoring more important information. Myself included. Still, technical analysis can on occasion be a useful tool when making tactical decisions because people do watch certain levels, reversion and breakouts are real phenomena, and any widespread trading approach is at times a self-fulfilling prophecy.


I think you’re right about rsi, macd, etc but sma, ema, alpha, beta and sharpe are essential to look at before buying any stock imo


They are technical indicators: Simple moving average, Relative strength index, Moving Average Convergence-Divergence, Average Directional Index, Bollinger Bands.

You can google each one, there is usually a decent explanatory article


The are all acronyms for functions on time series trade data. Investopedia has definitions without a lot of fluff if you want to learn them.


on a serious note, koyfin is really very nice and does a better job than Bloomberg, at least for equities


US and Canadian equities, anyway, and while certainly important, leaves out half the world's market capitalization. Not bad for free! But Bloomberg's value proposition and justification for the insane price is that they are a maximum product for all financial data, news, and analytics, so that no MVP could possibly do more.


It looks promising. I was going to create an account to try it but then I stopped. Their privacy policy states I would have to send an email to delete my account data. Why do people make it harder to remove an account when the sign up process so easy?


I mean, the alternative costs $2,000/mo.


I have the same process on my site. The reason is that it is such a risky operation that you want to have a human in the middle as a safeguard from accidental deletion.

Account cancellations and so on are automatic of course, but anything that can’t be rolled back requires human input.


It guess it's not hard to put a deletion timer and send warning emails before actual deletion. Not every service out there requires you to send an email to delete your account.


And if you make a mistake there, your whole database evaporates and the business dies.

It is possible, but it is expensive and risky to do it right. In my case there were perhaps five people that requested data deletion over the span of 8 years the site was working. Features that are so rarely used you don’t automate.

Granted, I could’ve added a button that would send the e-mail automatically. It just honestly never crossed my mind - will implement it in future sites :)


but does it have data about options?


Back with the CTS Labs AMD debacle, it became clear that Bloomberg isn't trustworthy. These were known scam artists, who called a RELATIVE working inside Bloomberg to push stories which weren't actually true. Nobody ever apologized, this wasn't even a story in the media. So while some people think a Bloomberg Terminal's a big deal and very useful, other people know Bloomberg has no issues dealing in misinformation and maybe you'd be better looking things up for yourself.


This is really cool! I have been adjusting to life without Bloomberg recently. Does anyone know of something similar to this for rates, credit, or the ABS space?


I tried to install - requirements and it always fails to install fbprohet, bs4 alpha_vantage modules, can some body help me with this? Thanks,


Check out AlleAktien Quantitativ (attn: it's German but it's 100% free) and they'll translate it to other languages, soon: https://www.alleaktien.de/quantitativ/


that looks interesting. it certainly has many of the stuff that I'm looking for. Do you know how "soon" are they gonna be translating it into other languages?

and if you happen to know German, is there any mention of where are they getting their data?


As far as I can tell they make no mention of where exactly they are getting their data, but they claim to update multiple times daily and review all data manually.

They also say the following:

> Uns blieb bei der Aktienanalyse oft keine andere Wahl, als unzählige Geschäftsberichte der vergangenen 20 Jahre zu öffnen und dort die gesuchten Daten manuell und mühsam viele Stunden herauszusuchen.

The essence of which is that in the past they often manually extracted data from the last twenty years of annual reports from a given company. Maybe that's still how they're doing it.


I was looking at the various APIs the project sources for data and was wondering does Bloomberg aggregate data sources from other vendors or does Bloomberg produce it's own market data for their terminals?


Most of the data on Bloomberg or any other market data terminal is going to from another data source. Either from an exchange, ratings agency, SEC reports, price reporting agencies, etc. They’ll also have proprietary data that are exclusive to their platform.


Not or, both. There is a crapton of data available in the terminals.


I’m not a coder. This looks awesome and I’d really love to try it.

Can anyone tell me how to get this working or point me to a set of instructions? I see the code and read me on GitHub but don’t know what to do next.

Thank you.


From a quick glance, the first thing you'll need to do is install Python for your platform. There are a bunch available, but for Windows I usually recommend WinPython. This one should be good: https://sourceforge.net/projects/winpython/files/WinPython_3... . Run that and select an empty folder to install it into. When it's done, open the folder and run the "WinPython Command Prompt".

Once you have that, download the code (green button "Download as ZIP") and extract it into your WinPython folder. Go into it by typing "cd GamestonkTerminal" into the terminal and press enter. The terminal should indicate you're now in that folder.

Once there, run the following command: "pip -r install". This wil take some time to complete, during which you can follow the links in the "API Keys" section of the Readme and follow whatever steps they require for you to get an API key (probably have to register an account, create an "application" and create a key - it'll usually be a long random-looking string of characters).

Once you have the keys, edit the "config_terminal.py" using notepad or preferably Notepad++ and put the corresponding keys where "REPLACE_ME" is at the end of each line (keep the quotes!).

If you've done all that, go back to the command prompt from before and run "python ganestonk_terminal.py". The terminal should be running.


n00b here as well...

WinPython install completed. Ran WinPython Command Prompt. Extracted zip folder to WinPython folder. Typed in "cd Gamestonk Terminal" (with and without "s). Result: The system cannot find the path specified. Terminal seems to have opened with scripts folder in command line.

Any ideas?


NM, I just copied the GS folder contents into the scripts and ran the requirements.txt.

Thanks for your post though!


Hi!

I get two errors;

1) no such option: -r

2) Permission denied when using Git HUB

Yes i'm a noob.


1) I'm an idiot. It's "pip install -r requirements.txt". Don't know how I messed that one up.

2) Permission denied where? I'm not sure what scenario on GitHub could possibly lead to that.

I did try and install it myself and it turned out to be significantly more annoying than expected (on Linux, mind you, so it might be easier on Win). I didn't actually get it to run because after an hour, I had other things to do.


Thanks


Does it include any features that aren't present in ThinkOrSwim? Could be an advantageous tool for those who don't want to give their private information to TD-Ameritrade.


No support for commodities, bonds, or currencies. How is this a Bloomberg terminal replacement? If you’re just looking for stock screeners, there’s already a hundred better options.


I like the software...


Looks interesting, I've been wanting to build something like this - thanks for potentially saving me a bunch of time!


I am giddy with excitement over this project! Thank you sexy_year for making this. Got any screen shots posted?


I am making a comment just so I will see the project later. Swamped at work but in a week when I have some free time... I feel like a kid waiting on Christmas with presents under the tree.


There is a "favorites" button right under the submission title, which you can then access through "favorite submissions" in your profile.


A button I love, but for some irritating reason (I suppose because the lack of JS) takes you to the main favorites page every time you mark a post as favorite


Awesome, thanks for the tip.


likewise, profiled.


Nice, needs more black though. Bloombergs were all about the original dark mode.


I wish you well but this is no comparison to a Bloomberg terminal.


This makes all the hours (months really) I've wasted on HackerNews worth it. Thanks!

Edit: I should say, it's things like this that make up for the wasted time. I've seen several really interesting things on here over time.


I wish I knew how to install it. I get so many errors and would be awesome if there was an easier way. I’m great at other things.. :/


As I see it there is no test suite? Is it planned? What is the roadmap for the project? The support section in the README only tells us to buy you a coffee, not how to reach out and support you.


Wow this is so cool! Now I can't understand most of these things so it'd be cool to have a video of someone using the tool and explaining what one can get from it : )


For a very long time I was wondering when will we ever see a funny thread on HN, and here we are:-)


I love this! Any interest in doing collab/would you care if I make this into a web app?


I think the point is that it's CLI based.


He had me at "I am not a cat" in the disclaimer.


tiingo.com is free.


How does an everyday person get the real time market data that this would theoretically need to invest to compete with a Bloomberg terminal?


Interestingly enough, as someone with both Bloomberg terminal and FactSet subscriptions, I still don't have real-time market data for most asset classes and securities. Those are actually add-on costs that I don't need for my research (I'm not a trader). The value for me (again not a trader) comes from having 25 years of robust fundamental and market data along with powerful portfolio analysis tools and models.


I guess I’m not very familiar with these offerings. I was really asking “how do I acquire a real time feed to plug into this open source software”. But it sounds like it’s not valuable to have that in practice?


I guess it depends on what you want to use the data for. There are plenty reasonably priced APIs for streaming the latest closing price once a second for, say, up to 5 stocks at a time. That's much more manageable than, say, streaming all 100,000 global stock and their transactions, bids, asks, closing prices, outstanding orders across multiple stock exchanges per stock, and 3-dimensional options data (strike price, expiration date, type). This may approach (but still be a few orders of magnitude less than) particle collider levels of data.


No, it may or may not be particularly valuable depending on your use cases.

Low latency data is mostly going to be a quality/cost/volume trade-off.


If you know a college student, there's a good chance they have one at the library.


Most brokerages provide real time data to clients.


I'm not sure the everyday person actually can get or even handle real time data. I spoke to someone about 4 years ago who was doing it for their startup and they said they had serious problems handling the data volume. Talking about terabytes of data coming in per day. Typical DB systems fall apart under that kind of load.


I'd like to understand a bit more about how Bloomberg Terminals are set up from an infrastructure perspective. Apologies if you don't know anything about that, but the idea that there's just "so much data" that only a Bloomberg Terminal can handle it seems kind of suspect to me. Don't we have other options? Or is this all proprietary?


Bloomberg operates a group of distributed, redundant data centres with massive compute and network infrastructure to ingest real-time data from every exchange and major market participant in the world, across a huge range of financial asset classes. It then fires the tiny subset of this that you happen to be interested in at any given moment down to your Bloomberg terminal.

In addition there is data that only they have because it's generated as a by-product of their trading functionality. If I'm MegaBank Corp and I want to sell e.g. credit default swaps denominated in Norwegian Krone, I can advertise this by feeding my prices for such deals to Bloomberg so potential clients who also have a BB terminal can see them and click a price they like to make a trade. This gives Bloomberg a pool of liquidity/price info that no independent source has access to.

So there are very strong network effects. Even if you could spend the billions to duplicate the infrastructure and rewrite all the software required, to actually do the same thing you would also need to replicate all the business relationships with data sources.

Disclaimer: I am not a lawyer/cat/financial-advisor/etc, but I used to be a developer at Bloomberg :-)


The key their volume though is they don't really have hard latency constraints. Most of the data flowing through the Terminal is still for human eye balls and inaccurate or laggy data is tolerated. It's not a low latency product.

They do have an API offering but you're unlikely to find serious trading shops using it except as a backup feed.


There are lots of industry alternatives to Bloomberg, such as Refinitiv Eikon, FactSet, CapIQ, etc. There is a lot of technical infrastructure required to be able to constantly provide real-time data with no downtime. Also, some data sets are in fact proprietary. For example, Refinitiv has a historical database that can’t be beat by competitors because they were literally the only ones that started recording the data as early as they did. Anyone else who claims to have an equivalent data set just won’t have the same amount to provide.


anyone can sign up for real-time data through many different providers of various quality. viewing real-time data and storing it on a per tick are two very different things. most software doesn't save it real-time. historical data is also requested from a provider as needed


need better install instructions.


[flagged]


Wow, there is this ascii art now. I like the stonk.


Strong! Many have tried before you.


This is pretty damn cool, especially given it was only started in December. Nice


This is amazing, thanks buddy.


I more fan of Bloomberg keyboards, so much keys to assign shortcuts and macros...:)


After reading the comments, I come with a surprise that there're many stock traders on hackernews!


Maybe now I can finally start to get into algo trading.


Okay, how do you properly install a python environment? I always run into trouble trying to get a project to run with Python and pip. It's either a build failure or just a complete pain to manage the virtualenv.

What's the easiest way to get this running?


This is amazing

But please implement a section for ALERTS!

I want to make them configurable so eg whenever any stock goes up by more than its normal amount for the past week/month/configurable, I want to get an alert so I can buy call options, or put options for two months from now. Those usually jump 20,000%!


Those bloomberg systems could do video. There were people who made significantly more than beer money assisting dealing room people to watch otherwise not broadcast en clair games, on their terminal, alongside the stocks.

I was not one of them. I have spoken to people who were, many aeons ago in the days of kipper ties, wide lapels and double brested suits, with padded shoulders. Shiny suits.


Not to criticize a free OSS project. It is very cool, but comparing it to Bloomberg terminal is a misnomer. Bloomberg gives you data, analysis, models, news, document access + Bchat which is highly useful to professionals. OTOH, Gamestonk Terminal is just a couple of python scripts. You have to sign up for the data feeds API access yourself. Free tier data access has limits by minute and by day. Even though GamestonkTerminal can be useful for small individual investors it will not float your boat for anything more serious.


What's that old saying ? "Reports of my death have been greatly exaggerated".

First up, people who call Bloomberg Terminal a "$25k/year chat terminal" are utterly clueless and have evidently never seen or used a Bloomberg Terminal.

The main reason Bloomberg costs so much is because unlike their competitors, Bloomberg have a "one-size-fits-all" price. You get all the data (except live data that is subject to exchange fees levied by third-parties such as NASDAQ). Contrast this with Bloomberg competitors where you spend days haggling with your neighborhood sales rep over a list of indecipherable package options (which almost always end up costing the same or more as Bloomberg by the time you add everything you want).

Secondly, hardly a year goes by without one of these "Bloomberg killers" popping up. The trouble is its nonsense.

Most of the so called "Bloomberg killers" only offer a subset of features, for example they only focus on charting. Or they only offer limited market data (e.g. US market only).

Also, most so-called "Bloomberg killers" rely on second-rate data feeds of poor or questionable quality. Services such as Bloomberg (and those of similar tier, e.g. Eikon) spend a lot of time and effort procuring first-class data.

So, don't kid yourself with the ludicrous dream of thinking you can replicate Bloomberg (or Eikon or similar) and sell it for a fraction of the cost (or give it away for free).


The Google killer!

Proceeds to introduce you grep.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: