Fix missing pandas import in y_finance bulk indicators

This commit is contained in:
samchen 2026-03-31 00:47:24 -05:00
parent 4641c03340
commit 9524e04fe1
2 changed files with 41 additions and 1 deletions

View File

@ -0,0 +1,39 @@
import importlib
import sys
import types
import unittest
from unittest.mock import patch
import pandas as pd
class YFinanceBulkIndicatorTests(unittest.TestCase):
def test_bulk_indicator_maps_nan_to_na(self):
fake_stockstats = types.ModuleType("stockstats")
fake_stockstats.wrap = lambda df: df
with patch.dict(sys.modules, {"stockstats": fake_stockstats}):
sys.modules.pop("tradingagents.dataflows.stockstats_utils", None)
sys.modules.pop("tradingagents.dataflows.y_finance", None)
try:
y_finance = importlib.import_module("tradingagents.dataflows.y_finance")
sample_df = pd.DataFrame(
{
"Date": pd.to_datetime(["2024-01-02", "2024-01-03"]),
"rsi": [float("nan"), 55.5],
}
)
with patch.object(y_finance, "load_ohlcv", return_value=sample_df):
result = y_finance._get_stock_stats_bulk("AAPL", "rsi", "2024-01-03")
finally:
sys.modules.pop("tradingagents.dataflows.stockstats_utils", None)
sys.modules.pop("tradingagents.dataflows.y_finance", None)
self.assertEqual(result["2024-01-02"], "N/A")
self.assertEqual(result["2024-01-03"], "55.5")
if __name__ == "__main__":
unittest.main()

View File

@ -1,6 +1,7 @@
from typing import Annotated
from datetime import datetime
from dateutil.relativedelta import relativedelta
import pandas as pd
import yfinance as yf
import os
from .stockstats_utils import StockstatsUtils, _clean_dataframe, yf_retry, load_ohlcv, filter_financials_by_date
@ -418,4 +419,4 @@ def get_insider_transactions(
return header + csv_string
except Exception as e:
return f"Error retrieving insider transactions for {ticker}: {str(e)}"
return f"Error retrieving insider transactions for {ticker}: {str(e)}"