pybroker.cache module

Contains caching utilities.

class CacheDateFields(start_date: datetime, end_date: datetime, tf_seconds: int, between_time: tuple[str, str] | None, days: tuple[int] | None)[source]

Bases: object

Date fields for keying cache data.

start_date

Start date of cache data.

Type:

datetime.datetime

end_date

End date of cache data.

Type:

datetime.datetime

tf_seconds

Timeframe resolution of cache data represented in seconds.

Type:

int

between_time

tuple[str, str] of times of day (e.g. 9:00-9:30 AM) that were used to filter the cache data.

Type:

tuple[str, str] | None

days

Days (e.g. "mon", "tues" etc.) that were used to filter the cache data.

Type:

tuple[int] | None

class DataSourceCacheKey(symbol: str, tf_seconds: int, start_date: datetime, end_date: datetime, adjust: str | None)[source]

Bases: object

Cache key used for pybroker.data.DataSource data.

adjust: str | None
symbol: str
class IndicatorCacheKey(symbol: str, tf_seconds: int, start_date: datetime, end_date: datetime, between_time: tuple[str, str] | None, days: tuple[int] | None, ind_name: str)[source]

Bases: object

Cache key used for indicator data.

ind_name: str
symbol: str
class ModelCacheKey(symbol: str, tf_seconds: int, start_date: datetime, end_date: datetime, between_time: tuple[str, str] | None, days: tuple[int] | None, model_name: str)[source]

Bases: object

Cache key used for trained models.

model_name: str
symbol: str
clear_caches()[source]

Clears cached data from all caches. enable_caches() must be called first before clearing.

clear_data_source_cache()[source]

Clears data cached from pybroker.data.DataSources. enable_data_source_cache() must be called first before clearing.

clear_indicator_cache()[source]

Clears cached indicator data. enable_indicator_cache() must be called first before clearing.

clear_model_cache()[source]

Clears cached trained models. enable_model_cache() must be called first before clearing.

disable_caches()[source]

Disables all caches.

disable_data_source_cache()[source]

Disables caching data retrieved from pybroker.data.DataSources.

disable_indicator_cache()[source]

Disables caching indicator data.

disable_model_cache()[source]

Disables caching trained models.

enable_caches(namespace, cache_dir: str | None = None)[source]

Enables all caches.

Parameters:
  • namespace – Namespace shared by cached data.

  • cache_dir – Directory used to store cached data.

enable_data_source_cache(namespace: str, cache_dir: str | None = None) Cache[source]

Enables caching of data retrieved from pybroker.data.DataSources.

Parameters:
  • namespace – Namespace of the cache.

  • cache_dir – Directory used to store cached data.

Returns:

diskcache.Cache instance.

enable_indicator_cache(namespace: str, cache_dir: str | None = None) Cache[source]

Enables caching indicator data.

Parameters:
  • namespace – Namespace of the cache.

  • cache_dir – Directory used to store cached indicator data.

Returns:

diskcache.Cache instance.

enable_model_cache(namespace: str, cache_dir: str | None = None) Cache[source]

Enables caching trained models.

Parameters:
  • namespace – Namespace of the cache.

  • cache_dir – Directory used to store cached models.

Returns:

diskcache.Cache instance.