Trader¶
- class zvt.trader.trader.Trader(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: Optional[zvt.contract.AdjustType] = None, profit_threshold=(3, - 0.3), keep_history=False)¶
Bases:
object
- __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: Optional[zvt.contract.AdjustType] = None, profit_threshold=(3, - 0.3), keep_history=False) None ¶
- init_selectors(entity_ids, entity_schema, exchanges, codes, start_timestamp, end_timestamp, adjust_type=None)¶
overwrite it to init selectors if you want to use selector/factor computing model :param adjust_type:
- 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 –
- 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_targets_filtered(timestamp, level, selector: zvt.factors.target_selector.TargetSelector, long_targets: List[str], short_targets: List[str]) Tuple[List[str], List[str]] ¶
overwrite it to filter the targets from selector
- Parameters
timestamp – the event time
level – the level
selector – the selector
long_targets – the long targets from the selector
short_targets – the short targets from the selector
- Returns
filtered long targets, filtered short targets
- on_time(timestamp: pandas._libs.tslibs.timestamps.Timestamp)¶
called in every min level cycle
- Parameters
timestamp – event time