def get_historical_data(self, ticker: str, period: str = "1mo", interval: str = "1d") -> Dict[str, Any]:
        """
        Get historical market data for a ticker.
        
        Args:
            ticker: The ticker symbol (e.g., 'AAPL' for Apple)
            period: The period to fetch data for (default: '1mo')
                Valid periods: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max
            interval: The interval between data points (default: '1d')
                Valid intervals: 1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 1d, 5d, 1wk, 1mo, 3mo
            
        Returns:
            Dictionary containing historical data
        """
        import yfinance as yf
        import pandas as pd
        
        # Get ticker object
        ticker_obj = yf.Ticker(ticker)
        
        # Get historical data
        hist = ticker_obj.history(period=period, interval=interval)
        
        # Convert DataFrame to dictionary
        hist_dict = hist.reset_index().to_dict(orient='records')
        
        return {
            "data": hist_dict,
            "period": period,
            "interval": interval,
            "ticker": ticker
        }

        Get historical market data for a ticker.
        
        Args:
            ticker: The ticker symbol (e.g., 'AAPL' for Apple)
            period: The period to fetch data for (default: '1mo')
                Valid periods: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max
            interval: The interval between data points (default: '1d')
                Valid intervals: 1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 1d, 5d, 1wk, 1mo, 3mo
            
        Returns:
            Dictionary containing historical data
        
src/upsonic/tools.py