- Solve real problems with our hands-on interface
- Progress from basic puts and calls to advanced strategies

Posted October 10, 2024 at 12:54 pm
The article “FinanceDatabase Guide – A Comprehensive Database of Financial Symbols (Python Package)” first appeared on AlgoTrading101 blog.
Excerpt
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/
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.
Yes, FinanceDatabase is open-sourced and thus it is completely free.
The FinanceDatabase doesn’t have direct alternatives but some of them are:
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 |
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
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_industriesarray(['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()

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.
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.
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.
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.
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.
Join The Conversation
For specific platform feedback and suggestions, please submit it directly to our team using these instructions.
If you have an account-specific question or concern, please reach out to Client Services.
We encourage you to look through our FAQs before posting. Your question may already be covered!