MyBullTrader

class zvt.samples.stock_traders.MyBullTrader(entity_ids: Optional[List[str]] = None, exchanges: Optional[List[str]] = None, codes: Optional[List[str]] = None, start_timestamp: Optional[Union[str, pandas._libs.tslibs.timestamps.Timestamp]] = None, end_timestamp: Optional[Union[str, pandas._libs.tslibs.timestamps.Timestamp]] = None, provider: Optional[str] = None, level: Union[str, zvt.contract.IntervalLevel] = IntervalLevel.LEVEL_1DAY, trader_name: Optional[str] = None, real_time: bool = False, kdata_use_begin_time: bool = False, draw_result: bool = True, rich_mode: bool = False, adjust_type: zvt.contract.AdjustType = AdjustType.hfq, profit_threshold=(3, - 0.3), keep_history=False)

Bases: zvt.trader.trader.StockTrader

__init__(entity_ids: Optional[List[str]] = None, exchanges: Optional[List[str]] = None, codes: Optional[List[str]] = None, start_timestamp: Optional[Union[str, pandas._libs.tslibs.timestamps.Timestamp]] = None, end_timestamp: Optional[Union[str, pandas._libs.tslibs.timestamps.Timestamp]] = None, provider: Optional[str] = None, level: Union[str, zvt.contract.IntervalLevel] = IntervalLevel.LEVEL_1DAY, trader_name: Optional[str] = None, real_time: bool = False, kdata_use_begin_time: bool = False, draw_result: bool = True, rich_mode: bool = False, adjust_type: zvt.contract.AdjustType = AdjustType.hfq, profit_threshold=(3, - 0.3), keep_history=False) None
init_factors(entity_ids, entity_schema, exchanges, codes, start_timestamp, end_timestamp, adjust_type=None)

overwrite it to init factors if you want to use factor computing model :param adjust_type:

entity_schema

alias of zvt.domain.meta.stock_meta.Stock

handle_factor_targets(timestamp: pandas._libs.tslibs.timestamps.Timestamp)

select targets from factors :param timestamp: the timestamp for next kdata coming

init_entities(timestamp)

init the entities for timestamp

Parameters

timestamp

Returns

on_factor_targets_filtered(timestamp, level, factor: zvt.contract.factor.Factor, long_targets: List[str], short_targets: List[str]) Tuple[List[str], List[str]]

overwrite it to filter the targets from factor

Parameters
  • timestamp – the event time

  • level – the level

  • factor – the factor

  • long_targets – the long targets from the factor

  • short_targets – the short targets from the factor

Returns

filtered long targets, filtered short targets

on_targets_selected_from_levels(timestamp) Tuple[List[str], List[str]]

this method’s called in every min level cycle to select targets in all levels generated by the previous cycle the default implementation is selecting the targets in all levels overwrite it for your custom logic

Parameters

timestamp – current event time

Returns

long targets, short targets

on_time(timestamp: pandas._libs.tslibs.timestamps.Timestamp)

called in every min level cycle

Parameters

timestamp – event time

update_targets_by_level(level: zvt.contract.IntervalLevel, long_targets: List[str], short_targets: List[str]) None

the trading signals is generated in min level,before that,we should cache targets of all levels

Parameters
  • level

  • long_targets

  • short_targets