🚀 AI 一键生成 qmt 策略代码
立即体验

QMT平台如何获取股票中文名称?使用 get_stock_name 打印中文股票名(附Python代码)

qmt | 发布时间: 2026/8/6
以下内容由 EasyQuant 生成。

问题描述

qmt 策略易读性:如何使用 get_stock_name 打印中文股票名称?
qmt如何获取股票代码对应的中文名称?

解决方案

QMT 策略易读性:如何使用 get_stock_name 获取并打印中文股票名称

在编写量化交易策略时,控制台输出的日志(如买入、卖出信号)如果只显示 000001.SZ600000.SH 等股票代码,往往不够直观。为了提高策略的可读性和调试效率,QMT 提供了 ContextInfo.get_stock_name() 接口,允许开发者直接获取股票代码对应的中文名称。

本文将详细介绍该接口的用法、注意事项,并提供完整的 Python 代码示例。


1. ContextInfo.get_stock_name 接口详解

接口定义

  • 用法ContextInfo.get_stock_name(stockcode)
  • 释义:根据股票/证券代码获取其对应的中文名称。
  • 参数
    • stockcode (string):股票代码,格式为 代码.市场(例如 '000001.SZ''600000.SH')。
    • 注:缺省值为空字符串 '',默认获取当前主图品种的名称。
  • 返回值
    • 返回 string 类型的中文名称(GBK 编码)。

2. 经典代码示例

示例一:获取指定股票的中文名称

以下是一个简单的 QMT 策略,展示了如何在 handlebar 中打印指定股票的中文名称:

#encoding:gbk

def init(ContextInfo):
    # 初始化设置
    pass

def handlebar(ContextInfo):
    # 获取平安银行的中文名称
    stock_code = '000001.SZ'
    stock_name = ContextInfo.get_stock_name(stock_code)
    
    # 打印输出
    print(f"股票代码: {stock_code}, 中文名称: {stock_name}")

示例二:在交易信号中打印中文名称(实战应用)

在实际交易中,结合中文名称输出日志,可以让交易信号一目了然:

#encoding:gbk

def init(ContextInfo):
    # 设定股票池
    ContextInfo.set_universe(['600000.SH', '000002.SZ'])

def handlebar(ContextInfo):
    # 遍历股票池
    for stock in ContextInfo.get_universe():
        stock_name = ContextInfo.get_stock_name(stock)
        
        # 模拟某种买入条件触发
        if ContextInfo.is_last_bar():
            print(f"【交易提示】 策略触发:拟买入 {stock_name} ({stock}) 100股")

3. 核心注意事项

  1. 编码格式设置
    QMT 平台默认使用 GBK 编码。在编写 Python 策略时,务必在代码第一行加上 #coding:gbk#encoding:gbk,否则在打印中文时可能会出现乱码。

  2. 缺省参数
    如果不传入任何参数,即调用 ContextInfo.get_stock_name(),QMT 会默认返回当前运行主图的股票名称。这在单股策略中非常方便。

  3. 数据准备
    使用该接口前,请确保客户端已通过“数据管理”功能补充了相应市场的基本行情数据,否则可能无法正确获取名称。