Package: reefledge
reefledgeis a Python package which provides a fast, simple and
powerful API designed to simplify the retrieval of price/return density
forecasts (on a ticker-by-ticker basis) generated from cutting-edge Time
Series Analysis models.
Our algorithms consume market data on liquid financial assets and
require demanding estimation and simulation steps, both accomplished on
a high-performance cloud cluster.
Forecasts are produced for a wide range of reference dates and
investment horizons, covering multiple metrics for a variety of asset
classes.Delivery FrequencyForecasts are generated on a daily basis.Data FrequencyAll models consume daily-frequency data.Data Reporting LagUsually, every ticker which passes our demanding filtering criteria
requires around one minute of processing on a Google Cloud C2 compute
engine with a single vCPU and four gigabytes of RAM.
Our cluster boots as soon as the latest market data is available
and, at the time of writing, scales up to 120 vCPUs.Data HistoryIn general, expect forecasts to be readily accessible for reference
dates going back at least four years.Data CoverageCurrently, only the ‘NYSE’ target is in production. Nonetheless,
multiple targets - such as ‘NASDAQ’ - have already been extensively
tested and will be released soon.Main FeaturesHere are just a few of the things that makereefledgespecial:Intuitive object oriented interface.Type checking at runtime of all public functions/methods.Seamless integration with Microsoft Excel.Fast and robust cythonized codebase.Multithreading capabilities to overcome I/O overheads.Smart and ‘respectful’ (in terms of RAM usage) caching.Efficient and highly available back end, featuring global load
balancing, optimized connection pooling and extensive database table
partitioning, besides an intelligent use of indexes to speed up SQL
queries (not to mention full use of SSD disks).InstallationThe easiest way to installreefledgeand get updates is viapip:$ pip install reefledgeOn Linux, the shell command above should return an error due to thexlwingsmodule dependency, which is only relevant on the Windows
platform. You can safely ignore it by preceding the installation command
with:$ export INSTALL_ON_LINUX=1Basic Usage>>> import reefledge as rl
>>> rl.login(user_name='foobar', api_key='secret')
>>> df = rl.get_point_forecasts_df( # Returns a pandas DataFrame instance.
        target='NYSE',
        metric='STD',
        tickers=['GS', 'IBM'])Advanced UsageAdvanced users should refer to the following functions/classes:reefledge.reefledge.front_end.get.getfor retrieving and parsing data into areefledge.reefledge.back_end.data_wrapper.data_wrapper.DataWrapperinstance.reefledge.reefledge.front_end.get_point_forecasts_df.get_point_forecasts_dffor retrieving and parsing data into apandas.core.frame.DataFrameinstance.reefledge.reefledge.front_end.list_tickers.list_tickersfor querying all available tickers associated with a particular
target.reefledge.reefledge.back_end.api_config.api_config.APIConfigfor configuring the API.Generic Error Catching>>> try:
        rl.get_point_forecasts_df(target='NYSE', metric='STD', tickers='GS')
    except rl.Error as exc:
        print(exc)Basic Configuration>>> rl.APIConfig.allow_caching
True
>>> rl.APIConfig.allow_tickers_sorting
False
>>> rl.APIConfig.allow_caching = False # Disable caching.NotesFurther examples assume thatreefledgehas been imported asrl:>>> import reefledge as rl