get_deposit_rate_data
Retrieve benchmark deposit rate data for China's A-share market analysis, supporting date ranges and multiple output formats.
Instructions
Benchmark deposit rates.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| start_date | No | ||
| end_date | No | ||
| limit | No | ||
| format | No | markdown |
Implementation Reference
- src/tools/macroeconomic.py:25-31 (handler)The main handler function for the 'get_deposit_rate_data' tool, decorated with @app.tool(), which handles execution by delegating to the use case via run_tool_with_handling.@app.tool() def get_deposit_rate_data(start_date: Optional[str] = None, end_date: Optional[str] = None, limit: int = 250, format: str = "markdown") -> str: """Benchmark deposit rates.""" return run_tool_with_handling( lambda: fetch_deposit_rate_data(active_data_source, start_date=start_date, end_date=end_date, limit=limit, format=format), context="get_deposit_rate_data", )
- src/data_source_interface.py:98-101 (schema)Abstract method definition in FinancialDataSource interface, specifying the expected signature for concrete data source implementations of get_deposit_rate_data.@abstractmethod def get_deposit_rate_data(self, start_date: Optional[str] = None, end_date: Optional[str] = None) -> pd.DataFrame: """Fetches benchmark deposit rates.""" pass
- mcp_server.py:55-55 (registration)Invocation of register_macroeconomic_tools during server startup, which defines and registers the get_deposit_rate_data tool among others.register_macroeconomic_tools(app, active_data_source)
- src/use_cases/macroeconomic.py:9-13 (helper)Use case function called by the tool handler; fetches raw data from data source, validates output format, adds metadata, and formats as table.def fetch_deposit_rate_data(data_source: FinancialDataSource, *, start_date: Optional[str], end_date: Optional[str], limit: int, format: str) -> str: validate_output_format(format) df = data_source.get_deposit_rate_data(start_date=start_date, end_date=end_date) meta = {"dataset": "deposit_rate", "start_date": start_date, "end_date": end_date} return format_table_output(df, format=format, max_rows=limit, meta=meta)
- src/baostock_data_source.py:664-666 (helper)Concrete implementation in BaostockDataSource that delegates to shared _fetch_macro_data helper for querying the Baostock deposit rate API.def get_deposit_rate_data(self, start_date: Optional[str] = None, end_date: Optional[str] = None) -> pd.DataFrame: """Fetches benchmark deposit rates using Baostock.""" return _fetch_macro_data(bs.query_deposit_rate_data, "Deposit Rate", start_date, end_date)