Skip to main content

A wrapper of kdb and sql for convenient trade data management.

Project description

*** IMPORTANT NOTICE ***

This package is not in a usable stage. It is only uploaded for convenience of developing and testing.

Postgreslq Initialization

CREATE DATABASE trade_data;
CREATE USER tradedbadmin WITH PASSWORD 'trade_password';
GRANT ALL PRIVILEGES ON DATABASE trade_data TO tradedbadmin;
\connect trade_data;
GRANT ALL ON SCHEMA public TO tradedbadmin;

Add the following lines in the pg_hba.conf file to allow password authentication for the tradedbadmin role.

# trade database
host    all            tradedbadmin     0.0.0.0/0               scram-sha-256
host    all            tradedbadmin     ::/0                    scram-sha-256

KDB+ Initialization

get license

Request a 64-bit license from Kx Systems. Fill the form then the system will send an email with the license file and a base64 key (Either can be used to license the product).

Server side (Linux system)

  1. Put the executable q and license in desired folder, say /opt/l64 directory.
  2. Create a folder to store the data, say /opt/data directory.
  3. Set the environment variable QLIC to the directory where the license file is stored. And QHOME to the data directory.
  4. Run the q executable with the following command:
    $ q -p 5000 -s 1 -w 100 -t 1000 -T 1000 -U /opt/l64/trade.q
    
    • -p 5000: This sets the port number for the kdb+ process. In this case, the port number is 5000.

    • -s 1: This sets the number of secondary threads. In this case, it's set to 1.

    • -w 100: This sets the workspace heap size. In this case, it's set to 100 MB.

    • -t 1000: This sets the timer interval in milliseconds. In this case, it's set to 1000 milliseconds, or 1 second.

    • -T 1000: This sets the timeout in seconds for client queries. In this case, it's set to 1000 seconds.

    • -U /opt/l64/trade.q: This sets the access control list file. In this case, the file is located at /opt/l64/trade.q. This file contains a list of usernames and passwords for clients that are allowed to connect to the kdb+ process.

MetaData Initialization

Allowed instruments types are given in "Instrument Types" section of meta_enumerations.md.

Data Initialization for Instrument Type(s)

from trade_database_manager.manager import MetadataSql

metadatalib = MetadataSql()
metadatalib.initialize(for_inst_types="CB")

This will try to create two tables, instruments and instruments_cb in the database if not yet exists. The instruments table will store the common information of all instruments, and the instruments_cb table will store the type-specific information of the instruments of type CB.

The table fields are listed in the data_organization.md file.

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

trade_database_manager-0.0.14.tar.gz (36.8 kB view details)

Uploaded Source

Built Distribution

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

trade_database_manager-0.0.14-py3-none-any.whl (32.2 kB view details)

Uploaded Python 3

File details

Details for the file trade_database_manager-0.0.14.tar.gz.

File metadata

  • Download URL: trade_database_manager-0.0.14.tar.gz
  • Upload date:
  • Size: 36.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for trade_database_manager-0.0.14.tar.gz
Algorithm Hash digest
SHA256 654c3b9273bdaacf1a7cada4778cc541c1604be22592b2cf430ddf347f24c946
MD5 63f244876801f1608f6430ee9a520f9c
BLAKE2b-256 d79bc68ab012aecf543ad635d9752181815eb580c4f1ca0edb8656277b0ed2f6

See more details on using hashes here.

File details

Details for the file trade_database_manager-0.0.14-py3-none-any.whl.

File metadata

File hashes

Hashes for trade_database_manager-0.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 9ea84519aa7f7623fd2fb64b3962b9c947a2dd056c7285f13685d91380f82768
MD5 6aa96ae2e763a9ad5b240af12b9329ea
BLAKE2b-256 5aa845d1cb4e7b1b4f4f0a84dd9657d6831cf89c1e123c75fabf1902ab7b1f4d

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