{"record":{"id":"479b0e4d29d1d364","repo":"we-promise/sure","slug":"no-chart-data-found-for-symbol","errorCode":null,"errorMessage":"No chart data found for #{symbol}","messagePattern":"No chart data found for #(.+?)","errorType":"exception","errorClass":"Provider::YahooFinance::Error","httpStatus":null,"severity":"error","filePath":"app/models/provider/yahoo_finance.rb","lineNumber":342,"sourceCode":"  def fetch_security_prices(symbol:, exchange_operating_mic: nil, start_date:, end_date:)\n    with_provider_response do\n      symbol = normalize_symbol(symbol, exchange_operating_mic)\n      validate_date_params!(start_date, end_date)\n      # Convert dates to Unix timestamps using UTC to ensure consistent epoch boundaries across timezones\n      period1 = start_date.to_time.utc.to_i\n      period2 = end_date.end_of_day.to_time.utc.to_i\n\n      throttle_request\n      data = fetch_authenticated_chart(symbol, {\n        \"period1\" => period1,\n        \"period2\" => period2,\n        \"interval\" => \"1d\",\n        \"includeAdjustedClose\" => true\n      })\n\n      chart_data = data.dig(\"chart\", \"result\", 0)\n\n      raise Error, \"No chart data found for #{symbol}\" unless chart_data\n\n      timestamps = chart_data.dig(\"timestamp\") || []\n      quotes = chart_data.dig(\"indicators\", \"quote\", 0) || {}\n      closes = quotes[\"close\"] || []\n\n      # Get currency from metadata\n      meta_exchange = chart_data.dig(\"meta\", \"exchangeName\") || \"\"\n      raw_currency = chart_data.dig(\"meta\", \"currency\")\n      raw_currency ||= default_currency_for_exchange(meta_exchange) || \"USD\"\n\n      prices = []\n      timestamps.each_with_index do |timestamp, index|\n        close_price = closes[index]\n        next if close_price.nil? # Skip days with no data (weekends, holidays)\n\n        # Normalize currency and price to handle minor units\n        normalized_currency, normalized_price = normalize_currency_and_price(raw_currency, close_price.to_f)\n","sourceCodeStart":324,"sourceCodeEnd":360,"githubUrl":"https://github.com/we-promise/sure/blob/e69894adb92547273377398c15f45c979cd9416a/app/models/provider/yahoo_finance.rb#L324-L360","documentation":"Error \"No chart data found for #{symbol}\" thrown in we-promise/sure.","triggerScenarios":"Thrown at app/models/provider/yahoo_finance.rb:342 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e69894adb92547273377398c15f45c979cd9416a","analyzedAt":"2026-08-21T18:22:41.165Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}