Python toolkit for quantitative finance
github.com
github.com
Most data vendors will require a free API key because that's their GTM. They want you to create an account with them to get a free API key and then expect to be able to upsell you over time.
Or you can access "free data" (e.g. yfinance) that relies on projects who actively scrape financial data from a website - these tend to need a lot of updates from main maintainer since there are no aligned incentives between maintainer of the scrapped API and company that has the data.
PS: I'm the main creator behind the OpenBB project on GitHub.
Are there any decent APIs for UK data, by the way?
We have the OpenBB Platform CLI, a command line interface (CLI) that allows users to access a lot of financial data but needs to bring each API key.
The reason why this works is that once you run the CLI, you are running it on your machine and leveraging your own API keys - which, when you subscribe you sign for Terms and Conditions.
And, in it, it usually states that you cannot use the data for any commercial purpose.
This is what most data vendors do. Not only because they are trying to upsell you but because giving you access to data costs them money.
So, most of the APIs that you find that are free and have the rights to distribute that data are usually from governments (e.g. FRED or Companies House https://developer.company-information.service.gov.uk/get-sta...)
> PS: I'm the main creator behind the OpenBB project on GitHub.
As you point out the GTM of others, can you tell us what your GTM is?
We have a paid enterprise product: OpenBB Terminal Pro (https://openbb.co/products/pro).
In it, users have access to several datasets that we have redistribution rights for. This enables users to export any dataset but also to access that same financial data through our Excel Add-in.
Most retail financial products only have display rights as it's much cheaper than the redistribution license.
Access to anything useful is behind GS specific data APIs via https://developer.gs.com/docs/gsquant/authentication/gs-sess...
I’ve seen surprising stuff that had rational reasons under closer investigation. Companies have cultures and internal priorities that make sense when you’re inside the bubble, but look weird from outside.
From the README this looks like a piece of advertising to developers about what GS does, more than anything useful to the outside world.
https://github.com/goldmansachs/gs-quant/blob/master/gs_quan...
Probably added in panic mode around March 2020?
https://github.com/goldmansachs/gs-quant/blob/51a7ff1afb722c...
I suspect he wouldn't have thought it was over engineering if it didn't have such a long comment for one line of code... Which is silly.
Looking at this code hurts my eyes.
Think eg. the comparison with the acumen of the adtech sector, which supports (among countless other things) the most used open source mobile OS, the most used open source web browser, the most sophisticated open source suites for machine learning etc. etc.
In fact a good reason why "adtech" is (absurdly) considered part of "big tech" is that no other business sector has managed to articulate a long-term sustainable digitization story.
- holiday calendars
- ex dividend dates
- interest rate curves
- real-time stock prices
- corporate actions database
Are there open source and free sources of the above? For the first two, sort of, for the remainder, no. And I'm sure I'm forgetting a number of other inputs.
Not to mention the real-time data which is, quite simply, catastrophically expensive. And that’s assuming the least sophisticated (retail) implementation of this stuff.
There is also the bit of data cleaning work that is costly - somebody must be paid to design and operate it, but again with modern tech solutions its likely that this could become immaterial.
Yet there is broader challenge beyond concrete applications: the financial industry is 100% an information processing industry but is largely inconsequential and absent in the development of modern digital technology.
Jane Street keeps OCaml alive.
Goldman was the first place to do a system like that, and when it was copied at other investment banks like JP Morgan and Bank of America, they opted to use Python instead of an in-house language and so "bank python" was born. Actually, the banks all poached engineers from one another, so many of the people that built the system at one place ended up building it again at another, hence why there are so many similarities between the equivalent systems at all these US investment banks. Some of those people eventually went on to build it again as a SaaS offering: https://www.beacon.io/
You are correct. (Full disclosure: I work at Beacon.)
Financial institutions are extremely sensitive about where their data is held, processed, stored and/or sent to. Some of it is just basic corporate governance ("we do not like the additional risk"). Some you could lump in with secrecy and competitive edge ("this is our secret sauce, no way are we going to let anyone else get it"). Some is driven by regulations ("we hold/process highly sensitive financial and personal data on individuals, sending it to a third party is a huge no-no"). And some is just garden variety contract obligations.
[Note that I intentionally chose to omit any consideration for "plain" security. In this industry that can get political.]
Where data governance/sovereignity is concerned, the term "SaaS" is commonly understood as: "send data to a third party, get results back". You can imagine how well that plays with any data an institution considers precious.
You don't make money with this.