class_docstr: The correctness of the metrics of Account in nested execution depends on the shallow copy of `trade_account` in
  qlib/backtest/executor.py:NestedExecutor
  Different level of executor has different Account object when calculating metrics. But the position object is
  shared cross all the Account object.
docstr: Update current to make rtn consistent with earning at the end of bar, and update holding bar count of stock
docstr_tok: ["Update","current","to","make","rtn","consistent","with","earning","at","the","end","of","bar",",","and","update","holding","bar","count","of","stock"]
code: def update_current_position(
      self,
      trade_start_time: pd.Timestamp,
      trade_end_time: pd.Timestamp,
      trade_exchange: Exchange,
  ) -> None:
      """
      Update current to make rtn consistent with earning at the end of bar, and update holding bar count of stock
      """
      # update price for stock in the position and the profit from changed_price
      # NOTE: updating position does not only serve portfolio metrics, it also serve the strategy
      assert self.current_position is not None
  
      if not self.current_position.skip_update():
          stock_list = self.current_position.get_stock_list()
          for code in stock_list:
              # if suspended, no new price to be updated, profit is 0
              if trade_exchange.check_stock_suspended(
                  code, trade_start_time, trade_end_time
              ):
                  continue
              bar_close = cast(
                  float,
                  trade_exchange.get_close(
                      code, trade_start_time, trade_end_time
                  ),
              )
              self.current_position.update_stock_price(
                  stock_id=code, price=bar_close
              )
          # update holding day count
          # NOTE: updating bar_count does not only serve portfolio metrics, it also serve the strategy
          self.current_position.add_count_all(bar=self.freq)
  
imports: from __future__ import annotations
  import copy
  from typing import Dict, List, Optional, Tuple, cast
  import pandas
  from qlib.utils import init_instance_by_config
  from .decision import BaseTradeDecision, Order
  from .exchange import Exchange
  from .high_performance_ds import BaseOrderIndicator
  from .position import BasePosition
  from .report import Indicator, PortfolioMetrics
label_desc: Use image node_id 10 for calling the Account obj's underlying member method code with example usage: obj.update_current_position(trade_start_time, trade_end_time, trade_exchange) without return types