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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file FinDataBroker-1.0.0a4.tar.gz.

File metadata

  • Download URL: FinDataBroker-1.0.0a4.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5

File hashes

Hashes for FinDataBroker-1.0.0a4.tar.gz
Algorithm Hash digest
SHA256 2378ef12a7000e40630ad05d7a7bdcd2fc2ff264b5f0508ae6c579c370522daf
MD5 4fbf0fca5ca09f82b5cc2c477d66aef7
BLAKE2b-256 7f4d04a48f525acc61b45ae8879e3bf0e8bdc1d1866574b03f2d87f93268dd6b

See more details on using hashes here.

File details

Details for the file FinDataBroker-1.0.0a4-py3-none-any.whl.

File metadata

  • Download URL: FinDataBroker-1.0.0a4-py3-none-any.whl
  • Upload date:
  • Size: 22.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5

File hashes

Hashes for FinDataBroker-1.0.0a4-py3-none-any.whl
Algorithm Hash digest
SHA256 d6f05a3d219310c8ab07d186f229b8c6516d8144d246fe172ce5bb28c62c147f
MD5 f9d3c31fa1f458741d5c3c55db15ce8b
BLAKE2b-256 4aaa9c8f2676ae6c9eb81d189b2e58aa87ee777b199131f8644a649dd5bad18e

See more details on using hashes here.

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