The article “FinanceDatabase Guide – A Comprehensive Database of Financial Symbols (Python Package)” first appeared on AlgoTrading101 blog.
Excerpt
What is FinanceDatabase?
FinanceDatabase is a Python package of 300.000+ symbols containing Equities, ETFs, Funds, Indices, Currencies, Cryptocurrencies, and Money Markets.
Link: https://pypi.org/project/financedatabase/
What is FinanceDatabase used for?
FinanceDatabase is mainly used for any type of financial product categorization. Moreover, it gives insights into the products that exist in each country, industry, and sector and gives the most essential information about each product.
This allows algorithmic traders and investors to analyze specific financial segments and helps them find assets that are hard to uncover. For example, it is used within the OpenBB terminal.
Why should I use FinanceDatabase?
- The FinanceDatabase is comprehensive.
- The FinanceDatabase has over 300k assets.
- It is easy to use and beginner friendly.
- It is open-sourced.
- Has good filtering capabilities.
- Is actively maintained.
Why shouldn’t I use FinanceDatabase?
- The FinanceDatabase doesn’t provide up-to-date fundamentals or stock data (it doesn’t have that goal).
- The FinanceDatabase doesn’t hold all possible assets.
- It is maintained by an open-source community so some information might be outdated.
Is FinanceDatabase free?
Yes, FinanceDatabase is open-sourced and thus it is completely free.
What are some FinanceDatabase alternatives?
The FinanceDatabase doesn’t have direct alternatives but some of them are:
- Marketstack
- MarketWatch
- Bloomberg Terminal
- Quandl
What kind of data does FinanceDatabase have?
FinanceDatabase has approximately the following kind of data:
Product | Quantity | Sectors | Industries | Countries | Exchanges |
---|---|---|---|---|---|
Equities | 155.705 | 16 | 242 | 111 | 82 |
ETFs | 36.727 | 364* | 94* | 100** | 52 |
Funds | 57.816 | 1678* | 438* | 100** | 34 |
Product | Quantity | Category |
---|---|---|
Currencies | 2.590 | 174 Currencies |
Cryptocurrencies | 3.624 | 299 Cryptocurrencies |
Indices | 86.353 | 49 Exchanges |
Money Markets | 1.384 | 2 Exchanges |
How to get started with FinanceDatabase?
To get started with FinanceDatabase, you will need to install its Python library with the following command:
pip install financedatabase
In the following article sections, we will explore what the FinanceDatabase has to offer and how it can be used for conducting financial research.
import financedatabase as fd
How to get general data with FinanceDatabase?
To get general data with FinanceDatabase, you will need to initialize the part of the database you want to use (e.g. equities) and use the filtering methods such as options,
select
and search
.
For example, let’s initialize the equities database and obtain all industries from a specific country:
equities = fd.Equities() equities_germany_industries = equities.options('industry', country='Singapore') equities_germany_industries
array(['Aerospace & Defense', 'Air Freight & Logistics', 'Airlines', 'Auto Components', 'Automobiles', 'Banks', 'Beverages', ...
We obtain all of the 55 industries in Singapore, feel free to experiment with other countries.
Now, let’s obtain all equities from a specific country such as the USA:
equities_united_states = equities.select(country="United States") equities_united_states.head()
How to perform an advanced search on the FinanceDatabase?
To perform an advanced search on the Finance Databse, you can use the search
method and pass multiple parameters to limit your search to a specific market segment.
For example, let’s obtain all Swedish software companies that have the word “cloud” in their summary and are part of the FRA exchange:
equities_sweden_software = equities.search( country='Sweden', industry='Software', summary="cloud", exchange="FRA" ) equities_sweden_software
Visit AlgoTrading101 blog to learn how to collect data from the FinanceDatabase.
Disclosure: Interactive Brokers
Information posted on IBKR Campus that is provided by third-parties does NOT constitute a recommendation that you should contract for the services of that third party. Third-party participants who contribute to IBKR Campus are independent of Interactive Brokers and Interactive Brokers does not make any representations or warranties concerning the services offered, their past or future performance, or the accuracy of the information provided by the third party. Past performance is no guarantee of future results.
This material is from AlgoTrading101 and is being posted with its permission. The views expressed in this material are solely those of the author and/or AlgoTrading101 and Interactive Brokers is not endorsing or recommending any investment or trading discussed in the material. This material is not and should not be construed as an offer to buy or sell any security. It should not be construed as research or investment advice or a recommendation to buy, sell or hold any security or commodity. This material does not and is not intended to take into account the particular financial conditions, investment objectives or requirements of individual customers. Before acting on this material, you should consider whether it is suitable for your particular circumstances and, as necessary, seek professional advice.
Disclosure: ETFs
Any discussion or mention of an ETF is not to be construed as recommendation, promotion or solicitation. All investors should review and consider associated investment risks, charges and expenses of the investment company or fund prior to investing. Before acting on this material, you should consider whether it is suitable for your particular circumstances and, as necessary, seek professional advice.
Disclosure: Digital Assets
Trading in digital assets, including cryptocurrencies, is especially risky and is only for individuals with a high risk tolerance and the financial ability to sustain losses. Eligibility to trade in digital asset products may vary based on jurisdiction.
Disclosure: Forex
There is a substantial risk of loss in foreign exchange trading. The settlement date of foreign exchange trades can vary due to time zone differences and bank holidays. When trading across foreign exchange markets, this may necessitate borrowing funds to settle foreign exchange trades. The interest rate on borrowed funds must be considered when computing the cost of trades across multiple markets.