{
  "ticker": "GLDM",
  "ticker_name": "SPDR Gold MiniShares Trust",
  "status": "failed",
  "analysis_date": "2026-04-15",
  "error": "Failed to perform, curl: (28) Operation timed out after 30008 milliseconds with 0 bytes received. See https://curl.se/libcurl/c/libcurl-errors.html first for more details.",
  "traceback": "Traceback (most recent call last):\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\curl_cffi\\requests\\session.py\", line 640, in request\n    c.perform()\n    ~~~~~~~~~^^\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\curl_cffi\\curl.py\", line 365, in perform\n    self._check_error(ret, \"perform\")\n    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\curl_cffi\\curl.py\", line 187, in _check_error\n    raise error\ncurl_cffi.curl.CurlError: Failed to perform, curl: (28) Operation timed out after 30008 milliseconds with 0 bytes received. See https://curl.se/libcurl/c/libcurl-errors.html first for more details.\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"C:\\actions-runner\\_work\\TradingAgents\\TradingAgents\\tradingagents\\scheduled\\runner.py\", line 384, in _run_single_ticker\n    trade_date = resolve_trade_date(ticker, config)\n  File \"C:\\actions-runner\\_work\\TradingAgents\\TradingAgents\\tradingagents\\scheduled\\runner.py\", line 318, in resolve_trade_date\n    history = yf.Ticker(normalized_symbol).history(\n        period=f\"{config.run.latest_market_data_lookback_days}d\",\n        interval=\"1d\",\n        auto_adjust=False,\n    )\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\yfinance\\utils.py\", line 95, in wrapper\n    result = func(*args, **kwargs)\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\yfinance\\base.py\", line 129, in history\n    return self._lazy_load_price_history().history(*args, **kwargs)\n           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\yfinance\\base.py\", line 135, in _lazy_load_price_history\n    self._price_history = PriceHistory(self._data, self.ticker, self._get_ticker_tz(timeout=10))\n                                                                ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\yfinance\\base.py\", line 160, in _get_ticker_tz\n    if k in self.info:\n            ^^^^^^^^^\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\yfinance\\ticker.py\", line 159, in info\n    return self.get_info()\n           ~~~~~~~~~~~~~^^\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\yfinance\\base.py\", line 282, in get_info\n    data = self._quote.info\n           ^^^^^^^^^^^^^^^^\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\yfinance\\scrapers\\quote.py\", line 503, in info\n    self._fetch_info()\n    ~~~~~~~~~~~~~~~~^^\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\yfinance\\scrapers\\quote.py\", line 612, in _fetch_info\n    result = self._fetch(modules=modules)\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\yfinance\\scrapers\\quote.py\", line 588, in _fetch\n    result = self._data.get_raw_json(_QUOTE_SUMMARY_URL_ + f\"/{self._symbol}\", params=params_dict)\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\yfinance\\data.py\", line 462, in get_raw_json\n    response = self.get(url, params=params, timeout=timeout)\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\yfinance\\utils.py\", line 95, in wrapper\n    result = func(*args, **kwargs)\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\yfinance\\data.py\", line 375, in get\n    response = self._make_request(url, request_method = self._session.get, params=params, timeout=timeout)\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\yfinance\\utils.py\", line 95, in wrapper\n    result = func(*args, **kwargs)\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\yfinance\\data.py\", line 430, in _make_request\n    response = request_method(**request_args)\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\curl_cffi\\requests\\session.py\", line 661, in get\n    return self.request(method=\"GET\", url=url, **kwargs)\n           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"C:\\actions-runner\\_work\\_tool\\Python\\3.13.12\\x64\\Lib\\site-packages\\curl_cffi\\requests\\session.py\", line 647, in request\n    raise error(str(e), e.code, rsp) from e\ncurl_cffi.requests.exceptions.Timeout: Failed to perform, curl: (28) Operation timed out after 30008 milliseconds with 0 bytes received. See https://curl.se/libcurl/c/libcurl-errors.html first for more details.\n",
  "started_at": "2026-04-15T22:07:09.898127+09:00",
  "finished_at": "2026-04-15T22:07:49.935379+09:00",
  "duration_seconds": 40.04
}