迅投实盘 1:一个简单的下单程序,跑通 python 实盘全流程
环境说明
迅投将 Python 分为两个版本:
- 内置 Python:使用迅投客户端,客户端可以新建 Python 脚本写策略。
- 原生 Python:使用 xtquant 包就可以通过本地 Python 操作客户端执行策略。
内置 Python 依赖客户端编辑器且无法调试,因此建议使用本地的 Python 环境,在 PyCharm 中进行开发。
迅投官方知识库:https://dict.thinktrader.net/ xtquant 官方说明文档:https://dict.thinktrader.net/nativeApi/start_now.html
下单的示例程序
程序逻辑说明
这里我们就执行一个最简单的操作,看是否打通了整个流程:
- 需要先安装好 Python 环境,并且把 xtquant 的压缩包放到根目录,使用如下代码判断环境是否配置好。
import time, datetime, sys
from xtquant.xttrader import XtQuantTrader, XtQuantTraderCallback
from xtquant.xttype import StockAccount
from xtquant import xtconstant
from loguru import logger # 一个日志模块,安装方式:pip install loguru
import pandas as pd # 常用数据分析工具,安装方式:pip install pandas
- 首先是一些很套路的写法,用于链接本地 Python 与终端。
# 步骤 1. 初始化
path = r'E:\迅投极速交易终端睿智融科版\userdata' # 这里填自己的终端安装路径\userdata
session_id = int(time.time()) # 这个可以自定义,确保唯一即可
xt_trader = XtQuantTrader(path, session_id)
account = StockAccount('xxxxx', 'STOCK') # 在终端中找到自己的股票账号
- 配置交易环境 代码中下单等操作均为异步(迅投擅长高频交易,所以建议从一开始就有异步下单的习惯)。
class MyXtQuantTraderCallback():
():
(datetime.now(), )
():
(datetime.now(), , order.order_remark)
():
(datetime.now(), , trade.order_remark,
)
():
()
():
(datetime.now(), sys._getframe().f_code.co_name)
():
()
():
(datetime.now(), sys._getframe().f_code.co_name)
():
(datetime.now(), sys._getframe().f_code.co_name)
trade_call_back = MyXtQuantTraderCallback()
xt_trader.register_callback(trade_call_back)
xt_trader.start()
connect_result = xt_trader.connect()
subscribe_result = xt_trader.subscribe(account)

