这里记录一下使用token连接行情的方法,写法较为固定

获取token

  1. 进入迅投知识库:https://dict.thinktrader.net/
  2. 点击右上角登陆,登陆后点击【个人中心】
  3. 进入页面后往下拉就可以看到【接口TOKEN】

连接行情数据库

先安装依赖:

pip install xtquant

新建一个python文件,运行下面的代码:

from xtquant import xtdatacenter as xtdc
from xtquant import xtdata
from loguru import logger

xtdc.set_data_home_dir("data")  # 数据目录(这里使用相对路径指定数据存放目录,如果不存在将会创建)
xtdc.set_token('xxxxxxx')  # 在个人中心找到token

xtdc.set_quote_time_mode_v2(True)
xtdc.set_allow_optmize_address(['115.231.218.73:55310', '115.231.218.79:55310'])  # 可链接的行情服务器
xtdc.set_index_mirror_enabled(True)
# xtdc.set_kline_mirror_enabled(True) # K线全推功能(VIP)
xtdc.set_future_realtime_mode(True)
# 初始化
xtdc.init(False)
port = xtdc.listen(port=(58620, 58630))[1]  # 在范围内选择端口进行链接
xtdata.connect(port=port)
logger.success(f'连接成功 端口号{port}')
servers = xtdata.get_quote_server_status()
xtdata.run()

运行之后会进入阻塞状态,看到“连接成功”之后,就可以啦。之后注意,这个文件不要关闭或停止运行!

获取行情数据

新建一个python文件(注意不能在原来的文件中运行),运行下面的代码:

from xtquant import xtdata

stock_code = "IF00.IF"  # 沪深300股指连续
start_time = "20250101"  # 起始日期,注意数据格式,不能是 2025-01-01 !
# 下载历史数据
xtdata.download_history_data(
    stock_code=stock_code,  # 代码,传入一个字符串
    period='1d',  # 这个参数决定下载的是什么数据,1d表示日K
    start_time=start_time,  # 起始日期
    end_time="",  # 终止日期,为空则默认下载到最新数据,格式如:20251231
    incrementally=False,  # 覆盖原始数据下载,因为历史数据可能有调整
)
# 读取历史数据
load_data: dict = xtdata.get_market_data_ex(
    field_list=[],  # 读取的列名称,为空表示读取全部列
    stock_list=[stock_code],  # 代码列表
    period='1d',
    start_time=start_time,  # 起始日期
    end_time='',
    count=-1,  # 提取全部数据,如果是正数,则是
    dividend_type='none',  # 赋权方式
    fill_data=False,  # 不做数据填充
)
load_data = load_data[stock_code]
print(load_data.shape, load_data.tail())

就可以看到已经成功获取数据,同时在第一个python文件中指定的目录data/下的文件也变得大了起来

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐