pybroker.cache module
Contains caching utilities.
Copyright (C) 2023 Edward West. All rights reserved.
This code is licensed under Apache 2.0 with Commons Clause license (see LICENSE for details).
- class CacheDateFields(start_date: datetime, end_date: datetime, tf_seconds: int, between_time: tuple[str, str] | None, days: tuple[int] | None)[source]
Bases:
objectDate fields for keying cache data.
- start_date
Start date of cache data.
- Type:
- end_date
End date of cache data.
- Type:
- between_time
tuple[str, str]of times of day (e.g. 9:00-9:30 AM) that were used to filter the cache data.
- class DataSourceCacheKey(symbol: str, tf_seconds: int, start_date: datetime, end_date: datetime, adjust: str | None, source: str)[source]
Bases:
objectCache key used for
pybroker.data.DataSourcedata.- classmethod from_date_fields(*, symbol: str, adjust: str | None, source: str, fields: CacheDateFields) DataSourceCacheKey[source]
- 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:
objectCache key used for indicator data.
- classmethod from_date_fields(*, symbol: str, ind_name: str, fields: CacheDateFields) IndicatorCacheKey[source]
- 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, pooled_symbols: tuple[str, ...] | None = None, lookahead: int | None = None)[source]
Bases:
objectCache key used for trained models.
- 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_data_source_cache()[source]
Disables caching data retrieved from
pybroker.data.DataSources.
- enable_caches(namespace: str, cache_dir: str | None = None, l1_maxsize: int = 1024)[source]
Enables all caches.
- Parameters:
namespace – Namespace shared by cached data.
cache_dir – Directory used to store cached data.
l1_maxsize – Maximum in-process L1 cache entries per cache.
- enable_data_source_cache(namespace: str, cache_dir: str | None = None, l1_maxsize: int = 1024) 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.
l1_maxsize – Maximum in-process L1 cache entries.
- Returns:
diskcache.Cacheinstance.
- enable_indicator_cache(namespace: str, cache_dir: str | None = None, l1_maxsize: int = 1024) Cache[source]
Enables caching indicator data.
- Parameters:
namespace – Namespace of the cache.
cache_dir – Directory used to store cached indicator data.
l1_maxsize – Maximum in-process L1 cache entries.
- Returns:
diskcache.Cacheinstance.
- enable_model_cache(namespace: str, cache_dir: str | None = None, l1_maxsize: int = 1024) Cache[source]
Enables caching trained models.
- Parameters:
namespace – Namespace of the cache.
cache_dir – Directory used to store cached models.
l1_maxsize – Maximum in-process L1 cache entries.
- Returns:
diskcache.Cacheinstance.