class_docstr: Single-asset order execution (SAOE) simulator which is implemented based on Qlib backtest tools.
  
  Parameters
  ----------
  order
      The seed to start an SAOE simulator is an order.
  executor_config
      Executor configuration
  exchange_config
      Exchange configuration
  qlib_config
      Configuration used to initialize Qlib. If it is None, Qlib will not be initialized.
  cash_limit:
      Cash limit.
class_docstr_tok: ["Single-asset","order","execution","(","SAOE",")","simulator","which","is","implemented","based","on","Qlib","backtest","tools",".","Parameters","--","--","--","--","--","order","The","seed","to","start","an","SAOE","simulator","is","an","order",".","executor_config","Executor","configuration","exchange_config","Exchange","configuration","qlib_config","Configuration","used","to","initialize","Qlib",".","If","it","is","None",",","Qlib","will","not","be","initialized",".","cash_limit",":","Cash","limit","."]
docstr: Execute one step or SAOE.
  
  Parameters
  ----------
  action (float):
      The amount you wish to deal. The simulator doesn't guarantee all the amount to be successfully dealt.
docstr_tok: ["Execute","one","step","or","SAOE",".","Parameters","--","--","--","--","--","action","(","float",")",":","The","amount","you","wish","to","deal",".","The","simulator","does","n't","guarantee","all","the","amount","to","be","successfully","dealt","."]
code: def step(self, action: Optional[float]) -> None:
      """Execute one step or SAOE.
  
      Parameters
      ----------
      action (float):
          The amount you wish to deal. The simulator doesn't guarantee all the amount to be successfully dealt.
      """
  
      assert not self.done(), "Simulator has already done!"
  
      try:
          self._last_yielded_saoe_strategy = self._iter_strategy(
              action=action
          )
      except StopIteration:
          pass
  
      assert self._executor is not None
  
file_path: qlib/qlib/rl/order_execution/simulator_qlib.py
imports: from __future__ import annotations
  from typing import Generator, List, Optional
  import pandas
  from qlib.backtest import collect_data_loop, get_strategy_executor
  from qlib.backtest.decision import BaseTradeDecision, Order, TradeRangeByTime
  from qlib.backtest.executor import NestedExecutor
  from qlib.rl.data.integration import init_qlib
  from qlib.rl.simulator import Simulator
  from .state import SAOEState
  from .strategy import SAOEStateAdapter, SAOEStrategy
label_desc: Use image node_id 6 for calling the SingleAssetOrderExecution obj's underlying member method code with example usage: obj.step(action) without return types