pybroker.scope module
Contains scopes that store data and object references used to execute a
pybroker.strategy.Strategy.
- class ColumnScope(df: DataFrame)[源代码]
基类:
objectCaches and retrieves column data queried from
pandas.DataFrame.- 参数:
df --
pandas.DataFramecontaining the column data.
- bar_data_from_data_columns(symbol: str, end_index: int) BarData[源代码]
Returns a new
pybroker.common.BarDatainstance containing column data of default and custom data columns registered withStaticScope.- 参数:
symbol -- Ticker symbol to query.
end_index -- Truncates column values (exclusive). If
None, then column values are not truncated.
- fetch(symbol: str, name: str, end_index: int | None = None) ndarray[tuple[int, ...], dtype[_ScalarType_co]] | None[源代码]
Fetches a
numpy.ndarrayof column data forsymbol.- 参数:
symbol -- Ticker symbol to query.
name -- Name of column to query.
end_index -- Truncates column values (exclusive). If
None, then column values are not truncated.
- 返回:
numpy.ndarrayof column data for every bar untilend_index(when specified).
- fetch_dict(symbol: str, names: Iterable[str], end_index: int | None = None) dict[str, ndarray[tuple[int, ...], dtype[_ScalarType_co]] | None][源代码]
Fetches a
dictof column data forsymbol.- 参数:
symbol -- Ticker symbol to query.
names -- Names of columns to query.
end_index -- Truncates column values (exclusive). If
None, then column values are not truncated.
- 返回:
dictmapping column names tonumpy.ndarrays of column values.
- class IndicatorScope(indicator_data: Mapping[IndicatorSymbol, Series], filter_dates: Sequence[datetime64])[源代码]
基类:
objectCaches and retrieves
pybroker.indicator.Indicatordata.- 参数:
indicator_data --
Mappingofpybroker.common.IndicatorSymbolpairs topandas.Seriesofpybroker.indicator.Indicatorvalues.filter_dates -- Filters
pybroker.indicator.Indicatordata onSequenceof dates.
- fetch(symbol: str, name: str, end_index: int | None = None) ndarray[tuple[int, ...], dtype[float64]][源代码]
Fetches
pybroker.indicator.Indicatordata.- 参数:
symbol -- Ticker symbol to query.
name -- Name of
pybroker.indicator.Indicatorto query.end_index -- Truncates the array of
pybroker.indicator.Indicatordata returned (exclusive). IfNone, then indicator data is not truncated.
- 返回:
numpy.ndarrayofpybroker.indicator.Indicatordata for every bar untilend_index(when specified).
- class ModelInputScope(col_scope: ColumnScope, ind_scope: IndicatorScope, models: Mapping[ModelSymbol, TrainedModel])[源代码]
基类:
objectCaches and retrieves model input data.
- 参数:
col_scope --
ColumnScope.ind_scope --
IndicatorScope.models --
Mappingofpybroker.common.ModelSymbolpairs topybroker.common.TrainedModels.
- fetch(symbol: str, name: str, end_index: int | None = None) DataFrame[源代码]
Fetches model input data.
- 参数:
symbol -- Ticker symbol to query.
name -- Name of
pybroker.model.ModelSourceto query input data.end_index -- Truncates the array of model input data returned (exclusive). If
None, then model input data is not truncated.
- 返回:
numpy.ndarrayof model input data for every bar untilend_index(when specified).
- class PendingOrder(id: int, type: Literal['buy', 'sell'], symbol: str, created: datetime64, exec_date: datetime64, shares: Decimal, limit_price: Decimal | None, fill_price: int | float | floating | Decimal | PriceType | Callable[[str, BarData], int | float | Decimal])[源代码]
基类:
NamedTupleHolds data for a pending order.
- type
Type of order, either
buyorsell.- Type:
Literal['buy', 'sell']
- created
Date the order was created.
- Type:
- exec_date
Date the order will be executed.
- Type:
Number of shares to be bought or sold.
- Type:
- limit_price
Limit price to use for the order.
- Type:
decimal.Decimal | None
- fill_price
Price that the order will be filled at.
- Type:
int | float | numpy.floating | decimal.Decimal | pybroker.common.PriceType | Callable[[str, pybroker.common.BarData], int | float | decimal.Decimal]
- class PendingOrderScope[源代码]
基类:
objectStores
PendingOrders- add(type: Literal['buy', 'sell'], symbol: str, created: datetime64, exec_date: datetime64, shares: Decimal, limit_price: Decimal | None, fill_price: int | float | floating | Decimal | PriceType | Callable[[str, BarData], int | float | Decimal]) int[源代码]
Creates a
PendingOrder.- 参数:
type -- Type of order, either
buyorsell.symbol -- Ticker symbol of the order.
created -- Date the order was created.
exec_date -- Date the order will be executed.
shares -- Number of shares to be bought or sold.
limit_price -- Limit price to use for the order.
fill_price -- Price that the order will be filled at.
- 返回:
ID of the
PendingOrder.
- contains(order_id: int) bool[源代码]
Returns whether a
PendingOrderexists withorder_id.
- orders(symbol: str | None = None) Iterable[PendingOrder][源代码]
Returns an
IterableofPendingOrders.
- remove(order_id: int) bool[源代码]
Removes a
PendingOrderwithorder_id`.
- remove_all(symbol: str | None = None)[源代码]
Removes all
PendingOrders.
- class PredictionScope(models: Mapping[ModelSymbol, TrainedModel], input_scope: ModelInputScope)[源代码]
基类:
objectCaches and retrieves model predictions.
- 参数:
models --
Mappingofpybroker.common.ModelSymbolpairs topybroker.common.TrainedModels.input_scope --
ModelInputScope.
- fetch(symbol: str, name: str, end_index: int | None = None) ndarray[tuple[int, ...], dtype[_ScalarType_co]][源代码]
Fetches model predictions.
- 参数:
symbol -- Ticker symbol to query.
name -- Name of
pybroker.model.ModelSourcethat made the predictions.end_index -- Truncates the array of predictions returned (exclusive). If
None, then predictions are not truncated.
- 返回:
numpy.ndarrayof model predictions for every bar untilend_index(when specified).
- class PriceScope(col_scope: ColumnScope, sym_end_index: Mapping[str, int], round_fill_price: bool)[源代码]
基类:
objectRetrieves most recent prices.
- class StaticScope[源代码]
基类:
objectA static registry of data and object references.
- logger
- data_source_cache
diskcache.Cachethat stores data retrieved frompybroker.data.DataSource.
- data_source_cache_ns
Namespace set for
data_source_cache.
- indicator_cache
diskcache.Cachethat storespybroker.indicator.Indicatordata.
- indicator_cache_ns
Namespace set for
indicator_cache.
- model_cache
diskcache.Cachethat stores trained models.
- model_cache_ns
Namespace set for
model_cache.
- default_data_cols
Default data columns in
pandas.DataFrameretrieved from apybroker.data.DataSource.
- custom_data_cols
User-defined data columns in
pandas.DataFrameretrieved from apybroker.data.DataSource.
- get_indicator(name: str)[源代码]
Retrieves a
pybroker.indicator.Indicatorfrom static scope.
- get_indicator_names(model_name: str) tuple[str][源代码]
Returns a
tuple[str]of allpybroker.indicator.Indicatornames that are registered withpybroker.model.ModelSourcehavingmodel_name.
- get_model_source(name: str)[源代码]
Retrieves a
pybroker.model.ModelSourcefrom static scope.
- has_indicator(name: str) bool[源代码]
Whether
pybroker.indicator.Indicatoris stored in static scope.
- has_model_source(name: str) bool[源代码]
Whether
pybroker.model.ModelSourceis stored in static scope.
- classmethod instance() StaticScope[源代码]
Returns singleton instance.
- param(name: str, value: ~typing.Any | None = <object object>) Any | None[源代码]
Get or set a global parameter.
- set_indicator(indicator)[源代码]
Stores
pybroker.indicator.Indicatorin static scope.
- set_model_source(source)[源代码]
Stores
pybroker.model.ModelSourcein static scope.
- unfreeze_data_cols()[源代码]
Allows additional data columns to be registered if
pybroker.scope.StaticScope.freeze_data_cols()was called.
- get_signals(symbols: Iterable[str], col_scope: ColumnScope, ind_scope: IndicatorScope, pred_scope: PredictionScope) dict[str, DataFrame][源代码]
Retrieves dictionary of
pandas.DataFrames containing bar data, indicator data, and model predictions for each symbol.
- param(name: str, value: ~typing.Any | None = <object object>) Any | None[源代码]
Get or set a global parameter.