get_money_supply_data_year
Retrieve yearly money supply data for China's A-share market analysis. Specify date ranges to access historical monetary indicators for financial research and investment decisions.
Instructions
Yearly money supply data.
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:61-69 (handler)The primary MCP tool handler for 'get_money_supply_data_year'. It is registered via @app.tool() decorator and executes the tool logic by delegating to the use case function with standardized error handling.@app.tool() def get_money_supply_data_year(start_date: Optional[str] = None, end_date: Optional[str] = None, limit: int = 250, format: str = "markdown") -> str: """Yearly money supply data.""" return run_tool_with_handling( lambda: fetch_money_supply_data_year( active_data_source, start_date=start_date, end_date=end_date, limit=limit, format=format ), context="get_money_supply_data_year", )
- mcp_server.py:55-55 (registration)Top-level registration call that invokes the function defining and registering the macroeconomic tools, including 'get_money_supply_data_year'.register_macroeconomic_tools(app, active_data_source)
- src/use_cases/macroeconomic.py:38-42 (helper)Helper use case function that fetches yearly money supply data from the data source, applies validation, and formats the output as markdown or other specified format.def fetch_money_supply_data_year(data_source: FinancialDataSource, *, start_date: Optional[str], end_date: Optional[str], limit: int, format: str) -> str: validate_output_format(format) df = data_source.get_money_supply_data_year(start_date=start_date, end_date=end_date) meta = {"dataset": "money_supply_year", "start_date": start_date, "end_date": end_date} return format_table_output(df, format=format, max_rows=limit, meta=meta)
- src/data_source_interface.py:118-121 (schema)Abstract method in the FinancialDataSource interface defining the expected input parameters and return type for fetching money supply data.@abstractmethod def get_money_supply_data_year(self, start_date: Optional[str] = None, end_date: Optional[str] = None) -> pd.DataFrame: """Fetches yearly money supply data (M0, M1, M2 - year end balance).""" pass
- src/baostock_data_source.py:682-685 (helper)Concrete implementation of the data source method using Baostock's query_money_supply_data_year API wrapped in a generic macro data fetcher.def get_money_supply_data_year(self, start_date: Optional[str] = None, end_date: Optional[str] = None) -> pd.DataFrame: """Fetches yearly money supply data (M0, M1, M2 - year end balance) using Baostock.""" # Baostock expects YYYY format for dates here return _fetch_macro_data(bs.query_money_supply_data_year, "Yearly Money Supply", start_date, end_date)