Skip to main content

A databroker for financial data

Project description

FinDataBroker

FinDataBroker is a databroker that is aimed at working in combination with FinanceJSON, to ease the saving and loading to different formats. In short it is nothing else than a wrapper to save and load dicts of lists of dicts in a convenient way. The motivation for this packages is to logically separate data storage and loading from packages analysing the data, reducing the complexity of the analysis packages.

The databroker package provides classes to save data stored in the the FinanceJSON format to the following storage systems:

  • MongoDb
  • Sqlite

In future versions the following formats will be added:

  • JSON
  • HDF5
  • PostGreSQL
  • ElasticSearch

When data is loaded back it is always returned as a dict, where the value is a list of dicts. This way, when different of these loaded dicts are combined, in a single dictionary, the overall dictionary is consistent with the FinanceJSON schema and can be validated to check if all the loaded data is consistent, at the same time making the tools of FinanceJSON available for this dataset.

Requirements

  • pymongo
  • dataset

Installation

pip install FinDataBroker

Example

A FinanceJSON file for a stock:

{
            "yh_symbol": [{"symbol": "XYZ"}],
            "ms_symbol": [{"symbol": "US_XYZ"}],
            "yh_assetProfile": [
                {
                    "index_symbol": "XYZ",
                    "date": "2019-01-01",
                    "address1": "foo",
                    "auditRisk": 1,
                    "boardRisk": 2,
                    "city": "bar",
                    "country": "a"
                }],
        }

FinDataBroker CLI

Python Version PyPI CI

This repository also contains a Python based commandline tool which is able validate and extract data from financeJSON files and written to the selected database format.

Write a financeJSON file to a mongodb:

FinDataBroker write2mongo /path/to/financejsonfile user:pwd@url:port databasename

Write a financeJSON file to an sqlite database:

FinDataBroker write2sqlite /path/to/financejsonfile sqlite:///database.db

License

GNU General Public License v3.0

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

FinDataBroker-1.0.0a4.tar.gz (7.5 kB view hashes)

Uploaded Source

Built Distribution

FinDataBroker-1.0.0a4-py3-none-any.whl (22.7 kB view hashes)

Uploaded Python 3

Supported by

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