Skip to main content

Python SDK to interact with www.WorldTradingData.com

Project description

World Trading Data Python SDK

This is an UNOFFICIAL SDK. That means that neither this repo nor the author have any relationship with World Trading Data. This repo is simply a tool built to make it easier to integrate with the rest API.

This SDK is designed to access financial data. Therefore the author would like to stress that what you do with any data you may get through this SDK is your problem and yours alone. I take absolutely zero responsibility for any losses or problems that may arise from using this SDK. Nor am I responsible for the accuracy of any of the data.
In the words of GNU (even though this project is under the MIT license),
"This software comes with ABSOLUTELY NO WARRANTY"

Getting Started

This SDK will require you to have an account with World Trading Data (sign up here)

Installation

  1. Make sure you have pip3 or pip installed
  2. In the console pip3 install worldtradingdata==0.1.1

then in python...

>>> from WorldTradingData import WorldTradingData
>>> my_api_token = get_my_token_from_somewhere_safe()
# provide the api_token once when creating the WorldTradingData instance.
# you do not need to provide the api_token on each request

>>> wtd = WorldTradingData(my_api_token)
>>> wtd.stock_search('AAPL') # will find all your favourite fruity stocks

General Guidance

Required arguments should be given individually, and optional arguments should be supplied as a dictionary, with the param name as the key, and the param value as the value.

e.g. Perform a basic stock search with
wtd.stock_search('AAPL')

Anything which is an optional query string param in the official docs can be passed in a dictionary as a second argument (see official docs for full argument reference).

optional_params = {'output': 'csv', 'currency': 'usd'}
wtd.stock_search('AAPL', optional_params)

Methods have been named in accordance with the url path suffix for that request in the official docs. i.e. if the base url of a request is https://api.worldtradingdata.com/api/v1 and the final url for a Forex History request is https://api.worldtradingdata.com/api/v1/forex_history then the url path suffix of the request is considered to be /forex_history.

All the methods in the SDK are named according to their corresponding url path suffix without the /.
e.g. wtd.forex_history(args, in, here)

Method Reference

Please be aware that this SDK is designed to be a loose wrapper around the official REST API provided by www.worldtradingdata.com . That means that it does not include pre-flight checks to make sure your provided arguments are correct. This provides much more flexibility, but it means if you provide poorly formed arguments to the SDK, they will be ignored and the results you get might not be what you expect.

I'm working on stricter type checking for version 2.

# note: 'api_token' is supplied automatically

Real Time Market Data

full reference at https://www.worldtradingdata.com/documentation#real-time-market-data
Stock and Index Real Time
wtd.stock(symbol: list [, optional_params: dict])
example
more_params = {'output': 'csv'}
wtd.stock(['AAPL', 'GOOG'], more_params)

Mutual Fund Real Time
wtd.mutual_fund(symbol: list [, optional_params: dict])
example
my_symbol_array = ['AAAAX', 'AAADX', 'AAAGX']
wtd.mutual_fund(my_symbol_array)

Intraday Market Data

full reference at https://www.worldtradingdata.com/documentation#intraday-market-data
Stock and Index Intraday
wtd.intraday(symbol: str, interval: int, range: int [, optional_params: dict])

Historical Market Data

full reference at https://www.worldtradingdata.com/documentation#historical-market-data
Full History
wtd.history(symbol: str [, optional_params: dict])

Multi Single Day History
wtd.history_multi_single_day(symbol: str, date: str [, optional_params: dict])
# date should be formatted as 'YYYY-MM-DD'

Forex

full reference at https://www.worldtradingdata.com/documentation#forex-data
Real Time
wtd.forex(base: str)

Historical
wtd.forex_history(base: str, convert_to: str [, optional_params: dict])

Single Day History
wtd.forex_single_day(base: str, date: str [, optional_params: dict])

Searching Stocks

full reference at https://www.worldtradingdata.com/documentation#searching
wtd._stock_search(search_term: string [, optional_params: dict])

Perform a basic stock search with
wtd.stock_search('AAPL')

Anything which is a query_string param in the official docs can be passed in the dictionary of optional params.

optional_params = {'output': 'csv', 'currency': 'usd'}
wtd.stock_search('AAPL', optional_params)

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

WorldTradingData-0.1.3.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

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

WorldTradingData-0.1.3-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file WorldTradingData-0.1.3.tar.gz.

File metadata

  • Download URL: WorldTradingData-0.1.3.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.5

File hashes

Hashes for WorldTradingData-0.1.3.tar.gz
Algorithm Hash digest
SHA256 290c6fbe6bd58165c8a83ca086b597fee13365036ec05fdba03019fab406dfd3
MD5 825bcc2ca29398cc7d4f0aadc12276c0
BLAKE2b-256 c2b8f9c90f31408b37507cb1e94ba09c6dcc7ed1888517b3131b4c462d69eafd

See more details on using hashes here.

File details

Details for the file WorldTradingData-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: WorldTradingData-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.5

File hashes

Hashes for WorldTradingData-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ad2bf8a5f5acaf93370260fd0f2a49c35c59d605eb4de404543b5cc47e45d941
MD5 e1d56e94466bc4d7f08d12a5a1b5a2ff
BLAKE2b-256 ce29ff9270b1a0ee5c6b36379f8579650cbba4ccce349174a309ac99c33c21d1

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