Skip to main content
Glama
liqiongyu

Xueqiu MCP

by liqiongyu

index_perf_30

Retrieve performance data for stock indices over the past 30 days to analyze market trends and investment returns.

Instructions

获取指数最近30天收益数据

Args:
    index_code: 指数代码

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
index_codeNoSZ000002

Implementation Reference

  • main.py:354-362 (handler)
    Handler function for the 'index_perf_30' tool. Decorated with @mcp.tool() for registration. Fetches index performance data over the last 30 days using pysnowball.ball.index_perf_30 and processes the result with process_data.
    @mcp.tool()
    def index_perf_30(index_code: str="SZ000002") -> dict:
        """获取指数最近30天收益数据
        
        Args:
            index_code: 指数代码
        """
        result = ball.index_perf_30(index_code)
        return process_data(result)
  • main.py:354-354 (registration)
    The @mcp.tool() decorator registers the index_perf_30 function as an MCP tool.
    @mcp.tool()
  • main.py:34-62 (helper)
    Helper function used by index_perf_30 (and other tools) to process the raw data, including timestamp conversion.
    def process_data(data, process_config=None):
        """
        通用数据处理函数,可扩展添加各种数据处理操作
        
        Args:
            data: 原始数据
            process_config: 处理配置字典,用于指定要执行的处理操作
                例如: {'convert_timestamps': True, 'other_process': params}
        
        Returns:
            处理后的数据
        """
        if process_config is None:
            # 默认配置
            process_config = {
                'convert_timestamps': True
            }
        
        # 如果开启了时间戳转换
        if process_config.get('convert_timestamps', True):
            data = convert_timestamps(data)
        
        # 在这里可以添加更多的数据处理逻辑
        # 例如:
        # if 'format_numbers' in process_config:
        #     data = format_numbers(data, **process_config['format_numbers'])
        
        return data
  • main.py:14-31 (helper)
    Supporting helper recursively converts timestamps in the data to readable datetime strings, called by process_data.
    def convert_timestamps(data):
        """递归地将数据中的所有 timestamp 转换为 datetime 字符串"""
        if isinstance(data, dict):
            for key, value in list(data.items()):
                if key == 'timestamp' and isinstance(value, (int, float)) and value > 1000000000000:  # 毫秒级时间戳
                    data[key] = datetime.datetime.fromtimestamp(value/1000).strftime('%Y-%m-%d %H:%M:%S')
                elif key == 'timestamp' and isinstance(value, (int, float)) and value > 1000000000:  # 秒级时间戳
                    data[key] = datetime.datetime.fromtimestamp(value).strftime('%Y-%m-%d %H:%M:%S')
                elif key.endswith('_date') and isinstance(value, (int, float)) and value > 1000000000000:  # 毫秒级时间戳
                    data[key] = datetime.datetime.fromtimestamp(value/1000).strftime('%Y-%m-%d %H:%M:%S')
                elif key.endswith('_date') and isinstance(value, (int, float)) and value > 1000000000:  # 秒级时间戳
                    data[key] = datetime.datetime.fromtimestamp(value).strftime('%Y-%m-%d %H:%M:%S')
                elif isinstance(value, (dict, list)):
                    data[key] = convert_timestamps(value)
        elif isinstance(data, list):
            for i, item in enumerate(data):
                data[i] = convert_timestamps(item)
        return data

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/liqiongyu/xueqiu_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server