313 comments

[ 2.7 ms ] story [ 296 ms ] thread
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.

Anyway to see the UI for people who don’t know anything about code but looking for a investment alternative
Really? 2 downvotes for being curious and excited about OPs platform
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.
(comment deleted)
Looks awesome. I’d love to see some screen shots as I’m not that literate on the jargon
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

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...

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.

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.

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.
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"
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

I won’t mention that website, but FYI I built it and I have no idea who posted that comment.
I don't think nodesocket is affiliated with the sites he linked, nor I find any links between the two?
(comment deleted)
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!
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?
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.

Nigerian princes must really love you.
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
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.

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".

(comment deleted)
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?
Quote from the movie Margin Call.
(comment deleted)
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.
(comment deleted)
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.

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.
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.
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.
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.
Ah the wily Brownhole fund from the 2008 collapse
Wrap it in a SaaS and dummies like me will buy it! Make a mill!
This right here except a mil is an understatement
I'll throw up a site and try it.

By the looks of it that would be fine right?

He should accept GME stock as payment medium. 10 stocks per year
(comment deleted)
I'll give you my GME when you pry it from my dead, cold hands.
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?

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.
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.
likewise, profiled.
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
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

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 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.
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
Looks interesting, I've been wanting to build something like this - thanks for potentially saving me a bunch of time!
I love it.

          ---------------         --                           | -      
        -/               \        | \-                        /   \     
       /                  -\      |   \-                     /     \    
     -/                     \     |     \-                   |      \   
    /     ----  ------------ -\   /  |           /--        /  |     \  
    \ ---/     |             / - |   | |     /---   - -   |    /   /  \ 
     -\        |           /-    |   | |  ---     -/ | \  |   |   |    \
       \       \         /-      |   | |        -/   \  \         / --- 
        -\      |      /-        |            -/      |  \       |-/|   
          \     |    /-                       |       \            /    
           \       /-              \          |        |           |    
            -\   /-                 \          \       |-\        /     
              - -                    \         |          -\     /      
                                      -        |            -\   |      
                                                              - /
Wow, there is this ascii art now. I like the stonk.
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
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.
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.)

(comment deleted)
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.

(comment deleted)
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.
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?

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.

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.

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).
Diddums. Like anyone gives a fuck
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.

The disclaimer is a quote from DFV, DeepFuckingValue, from /r/wallstreetbets
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.
on a serious note, koyfin is really very nice and does a better job than Bloomberg, at least for equities
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 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 :)

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.
but does it have data about options?
"...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. :)
How does an everyday person get the real time market data that this would theoretically need to invest to compete with a Bloomberg terminal?
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?
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.

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 :-)

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
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?
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.

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.
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%!

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.. :/
(comment deleted)
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 amazing, thanks buddy.
Should probably rewrite it in rust, to solve the markets memory leaks, otherwise everything will keep going up.
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.
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?
The 2008 financial meltdown of mortgage bonds
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.
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.

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.
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.

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.

ASDF requires nearly the same amount of effort for every language
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

Something like docoh.com will get you a bit closer, including instant alerts
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
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.

Maybe now I can finally start to get into algo trading.
I've been working on something similar! Hahah, money is a great motivator, isn't it?
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.
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.
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.
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>

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