docstr: show the newly report (mean, std, information_ratio, annualized_return)
      Parameter
          benchmark : string
              bench that to be compared, 'SH000905' for csi500
docstr_tok: ["show","the","newly","report","(","mean",",","std",",","information_ratio",",","annualized_return",")","Parameter","benchmark",":","string","bench","that","to","be","compared",",","'SH000905","'","for","csi500"]
code: def showReport(self, benchmark="SH000905"):
      """
      show the newly report (mean, std, information_ratio, annualized_return)
          Parameter
              benchmark : string
                  bench that to be compared, 'SH000905' for csi500
      """
      bench = D.features([benchmark], ["$change"], disk_cache=True).loc[
          benchmark, "$change"
      ]
      portfolio_metrics = (
          self.account.portfolio_metrics.generate_portfolio_metrics_dataframe()
      )
      portfolio_metrics["bench"] = bench
      analysis_result = {
          "pred": {},
          "excess_return_without_cost": {},
          "excess_return_with_cost": {},
      }
      r = (
          portfolio_metrics["return"] - portfolio_metrics["bench"]
      ).dropna()
      analysis_result["excess_return_without_cost"][0] = risk_analysis(
          r
      )
      r = (
          portfolio_metrics["return"]
          - portfolio_metrics["bench"]
          - portfolio_metrics["cost"]
      ).dropna()
      analysis_result["excess_return_with_cost"][0] = risk_analysis(r)
      self.logger.info("Result of porfolio:")
      self.logger.info("excess_return_without_cost:")
      self.logger.info(analysis_result["excess_return_without_cost"][0])
      self.logger.info("excess_return_with_cost:")
      self.logger.info(analysis_result["excess_return_with_cost"][0])
      return portfolio_metrics
  
file_path: qlib/qlib/contrib/online/user.py
imports: import logging
  from ...log import get_module_logger
  from ..evaluate import risk_analysis
  from ...data import D
label_desc: Use image node_id 4 for calling the User obj's underlying member method code with example usage: obj.showReport(benchmark) and returns: portfolio_metrics