class_docstr: Base strategy for trading
class_docstr_tok: ["Base","strategy","for","trading"]
docstr: A method for updating the outer_trade_decision.
  The outer strategy may change its decision during updating.
  
  Parameters
  ----------
  outer_trade_decision : BaseTradeDecision
      the decision updated by the outer strategy
  
  Returns
  -------
      BaseTradeDecision
docstr_tok: ["A","method","for","updating","the","outer_trade_decision",".","The","outer","strategy","may","change","its","decision","during","updating",".","Parameters","--","--","--","--","--","outer_trade_decision",":","BaseTradeDecision","the","decision","updated","by","the","outer","strategy","Returns","--","--","--","-","BaseTradeDecision"]
code: def alter_outer_trade_decision(
      self, outer_trade_decision: BaseTradeDecision
  ) -> BaseTradeDecision:
      """
      A method for updating the outer_trade_decision.
      The outer strategy may change its decision during updating.
  
      Parameters
      ----------
      outer_trade_decision : BaseTradeDecision
          the decision updated by the outer strategy
  
      Returns
      -------
          BaseTradeDecision
      """
      # default to reset the decision directly
      # NOTE: normally, user should do something to the strategy due to the change of outer decision
      return outer_trade_decision
  
imports: from __future__ import annotations
  from abc import ABCMeta, abstractmethod
  from typing import Any, Generator, Optional, TYPE_CHECKING, Union
  from typing import Tuple
  from ..backtest.decision import BaseTradeDecision
  from ..backtest.utils import CommonInfrastructure, LevelInfrastructure, TradeCalendarManager
  from ..rl.interpreter import ActionInterpreter, StateInterpreter
  from ..utils import init_instance_by_config
label_desc: Use image node_id 13 for calling the BaseStrategy obj's underlying member method code with example usage: obj.alter_outer_trade_decision(outer_trade_decision) and returns: outer_trade_decision