API Reference

Trading system

class alchemist_lib.tradingsystem.TradingSystem(name, portfolio, set_weights, select_universe, handle_data, broker, paper_trading=False)[source]

Basic class for every trading system. The run method will start the live-trading.

name

str – The name of the trading system.

portfolio

alchemist_lib.portfolio.* – An istance of a portfolio class.

broker

alchemist_lib.broker.* – An instance of a module in alchemist_lib.broker package.

_set_weights

callable – The function to set the weights of every asset in the portfolio.

_select_universe

callable – The function to select the universe of asset.

_handle_data

callable – The function to manage the trading logic.

paper_trading

boolean – If this arg is True no orders will be executed, they will be just printed and saved.

rebalance_time

int – Autoincrement number, used to manage the frequency of rebalancing.

session

sqlalchemy.orm.session.Session – Connection to the database.

__init__(name, portfolio, set_weights, select_universe, handle_data, broker, paper_trading=False)[source]

Costructor method. After setting the attributes it will register the trading system in the database.

Parameters:
  • name (str) – Name of the trading system.
  • portfolio (alchemist_lib.portfolio.*) – An istance of a portfolio class.
  • broker (alchemist_lib.broker.*) – An instance of a module in alchemist_lib.broker package.
  • set_weights (callable) – The function to set the weights of every asset in the portfolio.
  • select_universe (callable) – The function to select the universe of asset.
  • handle_data (callable) – The function to manage the trading logic.
  • paper_trading (boolean, optional) – Specify if the trading system has to execute orders or just simulate.
handle_data()[source]

Call the _handle_data callable attribute if it’s not None.

Returns:Return a dataframe with an alpha value for every asset. Empty if _handle_data is None.
Return type:data (pandas.DataFrame)
on_market_open(timeframe, frequency)[source]

Save new data and call the rebalance function.

Parameters:
  • timeframe (str) – The timeframe we want to collect informations about for every asset in the universe.
  • frequency (int) – Frequency of rebalancing.
rebalance(alphas, orders_type, frequency)[source]

This method rebalance the portfolio based on the alphas parameters. It also update the current AUM value on the database.

Parameters:
  • alphas (pandas.DataFrame) – A dataframe with the following columns: * asset (alchemist_lib.database.asset.Asset): Must be the index. * alpha (decimal.Decimal): The value that will be used to calculate the weight of the asset within the portfolio.
  • orders_type (str) – Order type identifier.
  • frequency (int) – Frequency of rebalancing.
run(delay, frequency)[source]

This method manages the “event-driven” interface. Start every method at the right time.

Parameters:
  • delay (str) – Timeframe identifier. Every delay time the on_market_open is executed.
  • frequency (int) – Frequency of rebalancing.
select_universe()[source]

Call the _select_universe callable attribute if it’s not None.

Returns:Return a list of assets.
Return type:universe (list[alchemist_lib.database.Asset.asset])
set_weights(df)[source]

Call the _set_weights callable attribute if it’s not None.

Parameters:df (pandas.DataFrame) – The alpha dataframe setted in handle_data().
Returns:Return a dataframe with a weight for every asset. Empty if _set_weights is None.
Return type:weights (pandas.DataFrame)

Factor

Factor autoclass

Datafeed

__init__

alchemist_lib.datafeed.get_data_sources_dict(session)[source]

Remember to change this method every time you add a module.

Parameters:session (sqlalchemy.orm.session.Session) – Connection to the database.
Returns:Return a dictionary. The key must be the name of the data source in the database and the value must be an instance of the module charged to collect data.
Return type:dsd (dict)
alchemist_lib.datafeed.get_last_price(assets)[source]

Returns the last trade price for every asset. The last price is retrived based on alchemist_lib.datafeed.get_data_sources_dict().

Parameters:assets (alchemist_lib.database.asset.Asset, list[Asset]) – List of assets which we want last trade price of.
Returns:
A dataframe with the following columns:
  • asset (alchemist_lib.database.asset.Asset): Must be the index.
  • last_price (decimal.Decimal): The last price of the associated asset.
Return type:df (pandas.DataFrame)
alchemist_lib.datafeed.save_ohlcv(session, assets, start_date, timeframe)[source]

This method collects and saves OHLCV data ( from start_date to utcnow() ).

Parameters:
  • session (sqlalchemy.orm.session.Session) – Database connection.
  • assets (alchemist_lib.database.asset.Asset, list[Asset]) – List of assets which we want informations of.
  • start_date (datetime.datetime) – Datetime to start collecting data from.
  • timeframe (str) – Timeframe identifier.
alchemist_lib.datafeed.save_last_ohlcv(session, assets, timeframe)[source]

This method collects and saves the last OHLCV candle.

Parameters:
  • assets (alchemist_lib.database.asset.Asset, list[Asset]) – List of assets which we want informations of.
  • timeframe (str) – Timeframe identifier.
alchemist_lib.datafeed.check_ohlcv_data(session, assets, timeframe, window_length)[source]

Check if all OHLCV candles needed are already saved in the db. It’s useful in order to not requests OHLCV data more times (in different functions).

Parameters:
  • session (sqlalchemy.orm.session.Session) – Database connection.
  • assets (alchemist_lib.database.asset.Asset, list[Asset]) – List of assets which we want informations of.
  • timeframe (str) – Timeframe identifier.
  • window_length (int) – The number of steps to do in the past.
Returns:

List of not-updated assets.

Return type:

assets_toret (list[Asset])

ohlcv

class alchemist_lib.datafeed.ohlcv.OhlcvBaseClass(session)[source]

Abstract class used by modules that manage OHLCV data.

Abstract methods:
  • get_last_price(assets): It has to return a dataframe (pandas.DataFrame) with the following columns:
    • asset (alchemist_lib.database.asset.Asset): Must be the index.
    • last_price (decimal.Decimal): The last trade price of the asset.
  • get_ohlcv(assets, start_date, end_date, timeframe): It has to return a list of Ohlcv (alchemist_lib.database.ohlcv.Ohlcv).

session

sqlalchemy.orm.session.Session – Database connection.

__init__(session)[source]

Costructor method.

Parameters:session (sqlalchemy.orm.session.Session) – Connection to the database.
_save(data)[source]

Save records in the database.

This method doesn’t use self.session.add_all(data) because some objects could raise sqlalchemy.exc.IntegrityError and so nothing will be saved. Save an object per time allow us to pass away IntegrityError.

Parameters:data (list[obj]) – List of map class instances.
get_last_ohlcv(assets, timeframe)[source]

This method collects the last OHLCV candle.

Parameters:
  • assets (alchemist_lib.database.asset.Asset, list[Asset]) – List of assets which we want informations of.
  • timeframe (str) – Timeframe identifier.
Returns:

List of candles.

Return type:

candles (list[alchemist_lib.database.ohlcv.Ohlcv])

save_last_ohlcv(assets, timeframe)[source]

This method collects and saves the last OHLCV candle.

Parameters:
  • assets (alchemist_lib.database.asset.Asset, list[Asset]) – List of assets which we want informations of.
  • timeframe (str) – Timeframe identifier.
save_ohlcv(assets, start_date, timeframe, end_date=datetime.datetime(2018, 4, 26, 20, 13, 36, 937626))[source]

This method collects and saves OHLCV data from the data source.

Parameters:
  • assets (alchemist_lib.database.asset.Asset, list[Asset]) – List of assets which we want informations of.
  • start_date (datetime.datetime) – Datetime to start collecting data from.
  • end_date (datetime.datetime, optional) – Datetime to end collecting data from. Default is utcnow().
  • timeframe (str) – Timeframe identifier.

poloniexdatafeed

class alchemist_lib.datafeed.poloniexdatafeed.PoloniexDataFeed(session)[source]

Class that collects data from Poloniex. Inherits from alchemist_lib.datafeed.ohlcv.OhlcvBaseClass.

Website: https://poloniex.com/

Api documentation: https://poloniex.com/support/api/

Api wrapper: https://github.com/s4w3d0ff/python-poloniex

session

sqlalchemy.orm.session.Session – Database connection.

polo

poloniex.Poloniex – Communication object.

__init__(session)[source]

Costructor method.

Parameters:session (sqlalchemy.orm.session.Session) – Connection to the database.
get_assets()[source]

Returns the list of assets traded.

Returns:List of assets.
Return type:assets (list[alchemist_lib.database.asset.Asset])

Note

Return only pairs with bitcoin as base currency.

get_last_price(assets)[source]

Retrieves last trade price of the list of assets.

Parameters:assets (alchemist_lib.database.asset.Asset, list[Asset]) – List of assets which we want the last trade price of.
Returns:
A dataframe with the following columns:
  • asset (alchemist_lib.database.asset.Asset): Must be the index.
  • last_price (decimal.Decimal): The last price of the associated asset.

If some prices are not retrieved the last_price attribute will be 0.

Return type:df (pandas.DataFrame)
get_ohlcv(assets, start_date, timeframe, end_date=datetime.datetime(2018, 4, 26, 20, 13, 36, 980271))[source]

Collects ohlcv data from start_date to end_date for every asset.

Parameters:
  • assets (list[alchemist_lib.database.asset.Asset]) – List of assets.
  • start_date (datetime.datetime) – Datetime to start collecting data from.
  • end_date (datetime.datetime, optional) – Datetime to end collecting data from. Default is utcnow().
  • timeframe (str) – Timeframe identifier.
Returns:

List of ohlcv data.

Return type:

candles (list[alchemist_lib.database.ohlcv.Ohlcv])

bittrexdatafeed

class alchemist_lib.datafeed.bittrexdatafeed.BittrexDataFeed(session)[source]

Class that collects data from Bittrex. Inherits from alchemist_lib.datafeed.ohlcv.OhlcvBaseClass.

Website: https://bittrex.com/

Api documentation: https://bittrex.com/Home/Api

Api wrapper: https://github.com/ericsomdahl/python-bittrex

session

sqlalchemy.orm.session.Session – Database connection.

bittrex

bittrex.bittrex.Bittrex – Communication object.

__init__(session)[source]

Costructor method.

Parameters:session (sqlalchemy.orm.session.Session) – Connection to the database.
get_assets()[source]

Returns the list of traded asset.

Returns:List of assets.
Return type:assets (list[alchemist_lib.database.asset.Asset])

Note

Returns only pairs with bitcoin as base currency.

get_last_price(assets)[source]

Retrieves last trade price for every asset in the list.

Parameters:assets (alchemist_lib.database.asset.Asset, list[Asset]) – List of assets which we want the last trade price of.
Returns:
A dataframe with the following columns:
  • asset (alchemist_lib.database.asset.Asset): Must be the index.
  • last_price (decimal.Decimal): The last price of the associated asset.

If some prices are not retrieved the last_price attribute will be 0.

Return type:df (pandas.DataFrame)
get_ohlcv(assets, start_date, timeframe, end_date=datetime.datetime(2018, 4, 26, 20, 13, 36, 987452))[source]

Collects ohlcv data from start_date to end_date for every asset.

Parameters:
  • assets (list[alchemist_lib.database.asset.Asset]) – List of assets.
  • start_date (datetime.datetime) – Datetime to start collecting data from.
  • end_date (datetime.datetime, optional) – Datetime to end collecting data from. Default is utcnow().
  • timeframe (str) – Timeframe identifier.
Returns:

List of ohlcv data.

Return type:

candles (list[alchemist_lib.database.ohlcv.Ohlcv])

Broker

broker

class alchemist_lib.broker.broker.BrokerBaseClass[source]

Abstract class used by broker modules.

Abstract methods:
  • place_order(allocs, amount, operation, order_type): It has to place an order based on parameters.
session

sqlalchemy.orm.session.Session – Database connection. Default is None.

__init__()[source]

Costructor method.

execute(allocs, ts_name, curr_ptf, orders_type='MKT')[source]

This method will execute orders for all portfolio. Before the SELL orders and after the BUY orders in order to have enought liquidity.

Parameters:
  • allocs (list[alchemist_lib.database.ptf_allocation.PtfAllocation]) – List of allocations to be executed on the market.
  • orders_type (str, optional) – Type of order. Default is MKT.
  • ts_name (str) – Name of the trading system.
  • curr_ptf (list[alchemist_lib.database.ptf_allocation.PtfAllocation]) – List of allocations currently in the portfolio.
set_session(session)[source]

Setter method.

Parameters:session (sqlalchemy.orm.session.Session) – Database connection.

poloniexbroker

class alchemist_lib.broker.poloniexbroker.PoloniexBroker(api_key=None, secret_key=None)[source]

Inherits from alchemist_lib.broker.broker.BrokerBaseClass.

Website: https://poloniex.com/

Api documentation: https://poloniex.com/support/api/

Api wrapper: https://github.com/s4w3d0ff/python-poloniex

session

sqlalchemy.orm.session.Session – Database connection.

polo

poloniex.Poloniex – Communication object.

__init__(api_key=None, secret_key=None)[source]

Costructor method.

Parameters:
  • api_key (str) – The api key provided by Poloniex.
  • secret_key (str) – The secret key provided by Poloniex.
place_order(asset, amount, order_type)[source]

Places an order for a specific asset on Poloniex.

Parameters:
  • asset (alchemist_lib.database.asset.Asset) – The asset we want exchange for BTC.
  • amount (decimal.Decimal) – The amount we want to exchange.
  • order_type (str) – Type of order.
Returns:

The order identifier, if some error occurs returns -1.

Return type:

order_id (int)

bittrexbroker

class alchemist_lib.broker.bittrexbroker.BittrexBroker(api_key=None, secret_key=None)[source]

Inherits from alchemist_lib.broker.broker.BrokerBaseClass.

Website: https://bittrex.com/

Api documentation: https://bittrex.com/Home/Api

Api wrapper: https://github.com/ericsomdahl/python-bittrex

session

sqlalchemy.orm.session.Session – Database connection.

bittrex

bittrex.bittrex.Bittrex – Communication object.

__init__(api_key=None, secret_key=None)[source]

Costructor method.

Parameters:
  • api_key (str) – The api key provided by Bittrex.
  • secret_key (str) – The secret key provided by Bittrex.
place_order(asset, amount, order_type)[source]

Places an order for a specific asset on Bittrex.

Parameters:
  • asset (alchemist_lib.database.asset.Asset) – The asset we want exchange for BTC.
  • amount (decimal.Decimal) – The amount we want to exchange.
  • order_type (str) – Type of order.
Returns:

Order identifier, if some errors occur it returns int(-1).

Return type:

order_id (str, int)

Portfolio

portfolio

class alchemist_lib.portfolio.portfolio.PortfolioBaseClass(capital)[source]

Abstract class used by modules that manage the portfolio costructor.

Abstract methods:
  • normalize_weights(df): It has to return a dataframe (pandas.DataFrame) with the following columns:
    • asset (alchemist_lib.database.asset.Asset): Must be the index.
    • weight (decimal.Decimal): The weight of the specified asset in the portfolio. The sum of all weights in the dataframe must be near 100 (or 1).
  • set_allocation(session, name, df): It has to return a list of allocations (alchemist_lib.database.ptf_allocation.PtfAllocation) based on the type of portfolio you want.

capital

decimal.Decimal – Capital allocated for the portfolio.

__init__(capital)[source]

Costructor method.

Parameters:capital (int, float, str, decimal.Decimal) – Capital allocated for the portfolio.
load_ptf(session, name)[source]

Load the current portfolio from the database. After that, It updates the base_currency_amount attribute.

Parameters:
  • session (sqlalchemy.orm.session.Session) – Database connection.
  • name (str) – Name of the trading system which manages the portfolio.
Returns:

List of allocations of the specified trading system.

Return type:

allocs (list[PtfAllocation])

rebalance(curr_ptf, target_ptf)[source]

This method returns a list of PtfAllocation (alchemist_lib.database.ptf_allocation.PtfAllocation) that will be executed in order to mantain the portfolio rebalanced.

Parameters:
  • curr_ptf (alchemist_lib.database.ptf_allocation.PtfAllocation, list[PtfAllocation]) – Current portfolio, loaded from the database.
  • target_ptf (alchemist_lib.database.ptf_allocation.PtfAllocation, list[PtfAllocation]) – Ideal portfolio.
Returns:

List of PtfAllocation to execute in order to get the ideal portfolio.

Return type:

new_ptf (list[alchemist_lib.database.ptf_allocation.PtfAllocation])

longsonly

class alchemist_lib.portfolio.longsonly.LongsOnlyPortfolio(capital)[source]

Class that manages the creation of a portfolio of longs-only positions. Inherits from alchemist_lib.portfolio.portfolio.PortfolioBaseClass.

capital

decimal.Decimal – Capital allocated for the portfolio.

__init__(capital)[source]

Costructor method.

Parameters:capital (int, float, str, decimal.Decimal) – Capital allocated for the portfolio.
set_allocation(session, name, df)[source]

Return a list of allocations (alchemist_lib.database.ptf_allocation.PtfAllocation) based on the weight of every asset.

Parameters:
  • session (sqlalchemy.orm.session.Session) – Connection to the database.
  • name (str) – Name of the trading system.
  • df (pandas.DataFrame) – A dataframe with the following columns: * asset (alchemist_lib.database.asset.Asset): Must be the index. * weight (decimal.Decimal): The weight of the specified asset in the portfolio. The sum of all weights in the dataframe must be near 1.
Returns:

List of allocations (ideal portfolio).

Return type:

allocs (list[PtfAllocation])

Exchange

exchange

class alchemist_lib.exchange.exchange.ExchangeBaseClass[source]

Abstract class for every exchange module.

Abstract methods:
  • are_tradable(assets): It has to filter the args and returns just assets that are tradable.
  • get_min_trade_size(asset): It has to returns the minimum order size based on the specified market.
__init__()[source]

Costructor method. (no attributes, no args)

__init__

alchemist_lib.exchange.get_exchanges_dict()[source]

Remember to change this method every time you add a module.

Returns:Returns a dictionary. The key must be the name of the exchange in the database and the value must be an instance of the module charged to collect data.
Return type:dsd (dict)
alchemist_lib.exchange.are_tradable(assets, exchange_name)[source]

Removes not tradable asset from the list.

Parameters:
  • assets (alchemist_lib.database.asset.Asset, list[Asset]) – List of assets to filter.
  • exchange_name (str) – The name of the exchange as is saved in the database.
Returns:

Returns the same list of assets passed as arg without not tradable assets. If exchange_name is not correct the return is an empty list.

Return type:

universe (list[Asset])

alchemist_lib.exchange.get_assets(session, exchange_name)[source]

Returns all assets traded in a specified exchange.

Parameters:
  • session (sqlalchemy.orm.session.Session) – Database connection.
  • exchange_name (str) – Name of the exchange.
Returns:

List of Asset instances.

Return type:

universe (list[alchemist_lib.database.asset.Asset])

poloniexexchange

class alchemist_lib.exchange.poloniexexchange.PoloniexExchange[source]

Class that manages Poloniex metadata. Inherits from alchemist_lib.exchange.exchange.ExchangeBaseClass.

Website: https://poloniex.com/

Api documentation: https://poloniex.com/support/api/

Api wrapper: https://github.com/s4w3d0ff/python-poloniex

polo

poloniex.Poloniex – Communication object.

__init__()[source]

Costructor method.

are_tradable(assets)[source]

Filters tradable assets.

Parameters:assets (alchemist_lib.database.asset.Asset, list[Asset]) – List of assets to check.
Returns:Returns all tradable asset (remove not tradable assets from the arg).
Return type:tradable (list[Asset])

Note

Checks just pairs with BTC as base currency.

get_min_order_size(asset)[source]

This method would return the minimum order size for a specific market, but It’s not specified in the Poloniex documentation. https://poloniex.com/support/api/

Parameters:asset (alchemist_lib.database.asset.Asset) – The asset traded again BTC.
Returns:Minimum order size. Default is 0.
Return type:size (decimal.Decimal)

bittrexexchange

class alchemist_lib.exchange.bittrexexchange.BittrexExchange[source]

Class that manages Bittrex metadata. Inherits from alchemist_lib.exchange.exchange.ExchangeBaseClass.

Website: https://bittrex.com/

Api documentation: https://bittrex.com/Home/Api

Api wrapper: https://github.com/ericsomdahl/python-bittrex

bittrex

bittrex.bittrex.Bittrex – Communication object.

__init__()[source]

Costructor method.

are_tradable(assets)[source]

Filters tradable assets.

Parameters:assets (alchemist_lib.database.asset.Asset, list[Asset]) – List of assets to check.
Returns:Returns all tradable asset (remove not tradable assets from the arg).
Return type:tradable (list[Asset])

Note

Checks just pairs with BTC as base currency.

get_min_order_size(asset)[source]

This method returns the minimum order size for a specific market.

Parameters:asset (alchemist_lib.database.asset.Asset) – The asset traded again BTC.
Returns:Minimum order size. Default is 0.
Return type:size (decimal.Decimal)

Populate

saver

class alchemist_lib.populate.saver.Saver(session)[source]

Class that saves data on the database.

session

sqlalchemy.orm.session.Session – Database connection.

__init__(session)[source]

Costructor method.

Parameters:session (sqlalchemy.orm.session.Session) – Database connection.
_save(obj)[source]

Save an instance of a map class.

Parameters:obj (obj) – Instance to save.
asset(ticker, instrument_id, name, exchanges)[source]

Save an asset on the db.

Parameters:
  • ticker (str) – Ticker code of the asset.
  • instrument_id (int) – Financial instrument identifier.
  • name (str) – Long name of the asset.
  • exchanges (list[alchemist_lib.database.asset.Asset]) – Exchanges where this asset is tradable.
Returns:

Map class instance.

Return type:

tt (alchemist_lib.database.asset.Asset)

broker(name, site)[source]

Save a broker on the db.

Parameters:
  • name (str) – Name of the broker.
  • site (str) – Website of the broker.
Returns:

Map class instance.

Return type:

broker (alchemist_lib.database.broker.Broker)

data_source(name, site, timeframes)[source]

Save a data_source on the db.

Parameters:
  • name (str) – Name of the data source.
  • site (str) – Website of the data source.
  • timeframes (list[alchemist_lib.database.timeframe.Timeframe]) – List of supported timeframes.
Returns:

Map class instance.

Return type:

ds (alchemist_lib.database.price_data_source.PriceDataSource)

exchange(name, website, data_source, timetable, brokers)[source]

Save an exchange on the db.

Parameters:
  • name (str) – Name of the exchange.
  • website (str) – Website of the exchange.
  • data_source (alchemist_lib.database.price_data_source.PriceDataSource) – PriceDataSource instance associated with this exchange. Specify how to get price informations.
  • timetable (alchemist_lib.database.timetable.Timetable) – Timetable of this exchange.
  • brokers (list[alchemist_lib.database.broker.Broker]) – Brokers that allow trading on this exchange.
Returns:

Map class instance.

Return type:

exchange (alchemist_lib.database.exchange.Exchange)

instrument(kind)[source]

Save an instrument on the db.

Parameters:kind (str) – Kind of instrument to save. (instrument_type)
Returns:Map class instance.
Return type:instrument (alchemist_lib.database.instrument.Instrument)
timeframe(id, description)[source]

Save a timeframe on the db.

Parameters:
  • if (str) – Timeframe identifier. (15M as example).
  • description (str) – The definition of the timeframe in english words. (fifteen minutes as example).
Returns:

Map class instance.

Return type:

tf (alchemist_lib.database.timeframe.Timeframe)

timetable(open_hour, open_minute, close_hour, close_minute, timezone)[source]

Save a timetable on the db.

Parameters:
  • open_hour (int) – Hour the market opens.
  • open_minute (int) – Minute the market opens.
  • close_hour (int) – Hour the market closes.
  • close_minute (int) – Minute the market closes.
  • timezone (str) – Timezone name.
Returns:

Map class instance.

Return type:

tt (alchemist_lib.database.timetable.Timetable)

populate

class alchemist_lib.populate.populate.PopulateBaseClass(saver)[source]

Abstract class for every populate class.

Abstract methods:
  • get_exchange_instance(): Save all data associated with an exchange and returns an instance of alchemist_lib.database.exchange.Exchange.
  • populate(): Save all assets traded in a specific exchange.
  • update_asset_list(): Update the list of assets tradable in an exchange, remove delisted assets and add new assets.
saver

alchemist_lib.populate.saver.Saver – Instance of the saver class.

__init__

alchemist_lib.populate

alias of alchemist_lib.populate

poloniexpopulate

class alchemist_lib.populate.poloniexpopulate.PoloniexPopulate(saver)[source]

Class that manages the population of the database with data from Poloniex. Inherits from alchemist_lib.populate.populate.PopulateBaseClass.

saver

alchemist_lib.populate.saver.Saver – Saver class instance.

__init__(saver)[source]

Costructor method.

Parameters:saver (alchemist_lib.populate.saver.Saver) – Saver class instance.
get_exchange_instance()[source]

Save all informations about Poloniex and returns an Exchange instance.

Returns:Exchange instance.
Return type:exchange (alchemist_lib.database.exchange.Exchange)
populate()[source]

Populate the database with all tradable assets on Poloniex.

update_asset_list()[source]

Update the list of assets traded on Poloniex.

bittrexpopulate

class alchemist_lib.populate.bittrexpopulate.BittrexPopulate(saver)[source]

Class that manages the population of the database with data from Bittrex. Inherits from alchemist_lib.populate.populate.PopulateBaseClass.

saver

alchemist_lib.populate.saver.Saver – Saver class instance.

__init__(saver)[source]

Costructor method.

Parameters:saver (alchemist_lib.populate.saver.Saver) – Saver class instance.
get_exchange_instance()[source]

Save all informations about Bittrex and returns an Exchange instance.

Returns:Exchange instance.
Return type:exchange (alchemist_lib.database.exchange.Exchange)
populate()[source]

Populate the database with all tradable assets on Bittrex.

update_asset_list()[source]

Update the list of assets traded on Bittrex.