带你详细了解miniQMT的xtdata模块 (第九篇)——一些拓展的合约基础信息查询应用

QUANT 2025-12-26 17:03:15 7 举报


①很多策略都有特定的偏好,比如不交易上市未满一年的次新股,或者需要基于市值进行选股

• 痛点:策略买入了波动巨大的次新股,或无法区分大盘股和小盘股。
• 解决方案:利用OpenDate(上市日期)和FloatVolume(流通股本)进行筛选。

from datetime import datetime, timedelta
import xtquant.xtdata as xtdata


stock_code = '300750.SZ'  # 宁德时代
info = xtdata.get_instrument_detail(stock_code)

if info:
    # 1. 判断是否是次新股
    open_date_str = info.get('OpenDate')
    open_date = datetime.strptime(open_date_str, '%Y%m%d')

    if datetime.now() > open_date + timedelta(days=365):
        print(f"{info.get('InstrumentName')} 已上市超过一年。")
    else:
        print(f"{info.get('InstrumentName')} 是上市不足一年的次新股。")

    # 2. 计算流通市值
    float_volume = info.get('FloatVolume')  # 流通股数
    pre_close = info.get('PreClose')  # 昨日收盘价
    market_cap = float_volume * pre_close
    print(f"流通股本:{float_volume / 1e8:.2f}亿股")
    print(f"昨日流通市值约:{market_cap / 1e8:.2f}亿元")


日志如下:


②现在,我们将以上功能整合起来,创建一个非常实用的函数。你给它一个股票代码,它给你一份完整的报告

• 目标:封装一个函数,实现对任意股票的快速、全面的信息扫描。

from datetime import datetime, timedelta
import xtquant.xtdata as xtdata


def inspect_stock(stock_code):
    """查询并打印指定股票的详细基础信息"""
    print(f"\n--- 正在查询 {stock_code} 的详细信息 ---")
    info = xtdata.get_instrument_detail(stock_code)

    if not info:
        print("查询失败:股票代码不存在或数据获取异常。")
        return

    print(f"股票名称: {info.get('InstrumentName', 'N/A')}")
    print(f"交易所:   {info.get('ExchangeID', 'N/A')}")
    print(f"上市日期: {info.get('OpenDate', 'N/A')}")
    print(f"是否可交易: {'是' if info.get('IsTrading') else '否'}")
    print(f"前收盘价: {info.get('PreClose', 0):.2f}")
    print(f"今日涨停价: {info.get('UpStopPrice', 0):.2f}")
    print(f"今日跌停价: {info.get('DownStopPrice', 0):.2f}")
    print(f"流通股本: {info.get('FloatVolume', 0) / 1e8:.2f} 亿股")
    print(f"最小价格变动: {info.get('PriceTick', 0)}")
    print("----------------------------------------")

inspect_stock('000001.SZ')
inspect_stock('600519.SH')
inspect_stock('300315.SZ') 


日志如下:


QMT/miniQMT免费申请

QMT免费领取学习案例

QMT落地辅助策略代写服务

需要的朋友欢迎联系 ~~~



尊重知识,尊重市场 1

著作权归文章作者所有。

最新回复 ( 0 )
发新帖
0
DEPRECATED: addslashes(): Passing null to parameter #1 ($string) of type string is deprecated (/data/user/htdocs/xiunophp/xiunophp.min.php:48)