Skip to main content

No project description provided

Project description

🐻 Bearish

Bearish is a package for querying financial and price data from various equities across different countries, and persisting it into a well-structured SQLite database for further data analysis and stock screening.


🎯 Use Case

This package is intended for active retail investors with a strong passion for data analysis, who require well-structured, clean, and large datasets locally to:

  • Run custom technical and fundamental analysis
  • Perform in-depth data analysis
  • Identify patterns and investment insights
  • Build custom screeners

Bearish is not designed for real-time trading, but for extensive analysis of historical and current financial data.


🌍 Global Scope

Bearish is designed to collect large-scale data from exchanges in different countries. It fetches data politely — meaning it does not make large-scale concurrent API calls and instead respects the rate limits and policies of each data provider. So, patience is required during large data retrieval.

The data fetched includes:

  • Historical price data
  • Company fundamentals
  • Balance sheets, income statements, and more

All data is stored in a local SQLite database from which you can query, analyze, and build insights.


📊 Data Sources

Bearish pulls data from multiple sources:

Ticker information is enriched using additional sources like yFinance, FMP, etc.
Bearish is also extensible — you can add support for any data source or API.

By default, Bearish relies primarily on yFinance due to limitations in free-tier APIs of other providers. However, if you have a premium subscription, you can use other sources more fully.


📥 Installation

Install Bearish with pip:

pip install bearishpy

🚀 Fetch & Store Data

🏛️ Country-Level Data

Fetch and store stock data for selected countries:

bearish run /path/to/sqlite/db Belgium France --api-keys=config.json

✅ This command:

  • Loads tickers from FinanceDatabase and InvestPy
  • Filters relevant equities from the selected countries
  • Enriches the data with fundamentals and prices
  • Stores everything in your local SQLite database

⏱️ This operation can take some time depending on the size of the country’s exchange — data is fetched "politely", not in bulk.

Once your database is populated, future updates are quicker.

img.png


The config.json contains the API keys of the different providers (if needed):

{
  "FMPAssets": "your Financial Modeling Prep API key",
  "FMP": "your Financial Modeling Prep API key",
  "AlphaVantage": "your Alphavantage API key",
  "Tiingo": "your Tiingo API key"
}

🔄 Updating Data

💵 Update Prices

To update only the price data:

bearish prices /path/to/sqlite/db Belgium France --api-keys=config.json

img_2.png

🧾 Update Financials

To update financial and fundamental data:

bearish financials /path/to/sqlite/db Belgium France --api-keys=config.json

img_1.png

🎯 Fetch Specific Tickers

To fetch and store data for specific tickers:

bearish run /path/to/sqlite/db US --filters NVDA,TSLA,RHM.DE --api-keys=config.json

You must always provide the country where each ticker is traded along with the desired tickers as filters.


📚 Summary

Feature Description
🌍 Country-level support Fetch equities from any exchange
🧠 Fundamental data Balance sheets, cash flow, income statements
📉 Price history Up-to-date historical prices
🗄️ Local database Data saved in SQLite for offline analysis
🔌 Extensible Plug in your own APIs or providers
🧪 Designed for analysis Ideal for custom screeners and research

🛠️ Contributing

Contributions are welcome! Feel free to open issues or submit pull requests to improve Bearish.


📄 License

Bearish is released under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bearishpy-0.22.0.tar.gz (41.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bearishpy-0.22.0-py3-none-any.whl (58.5 kB view details)

Uploaded Python 3

File details

Details for the file bearishpy-0.22.0.tar.gz.

File metadata

  • Download URL: bearishpy-0.22.0.tar.gz
  • Upload date:
  • Size: 41.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.11

File hashes

Hashes for bearishpy-0.22.0.tar.gz
Algorithm Hash digest
SHA256 41fd276e41203cae3af5d2d5f5ec1a7174546c15b635bc3790653010ce09e9c8
MD5 019ce46ee0081ba26d8882a34face444
BLAKE2b-256 bfa2d619efbb4306d0115179c4b404dcb4480dc9351810c035921262d6d367da

See more details on using hashes here.

File details

Details for the file bearishpy-0.22.0-py3-none-any.whl.

File metadata

  • Download URL: bearishpy-0.22.0-py3-none-any.whl
  • Upload date:
  • Size: 58.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.11

File hashes

Hashes for bearishpy-0.22.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f5d5fa11de66af196eb0e5c75d4b86e1345103e4437882cab751c6840ce12a00
MD5 05e2324d7851f25e21c10b60f4a49c18
BLAKE2b-256 528379acf12f3427b38518a78ddbb06092c3d9baed75875163f200d81530e2d2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page