函数命名规则

  • 函数名以 get_ 开头的,表示数据来源于客户端内存
  • 函数名以 query_ 开头的,表示数据是向服务查询

账号类型说明

  • 'FUTURE' - 期货账号
  • 'STOCK' - 股票账号
  • 'CREDIT' - 信用账号
  • 'FUTURE_OPTION' - 期货期权
  • 'STOCK_OPTION' - 股票期权
  • 'HUGANGTONG' - 沪港通
  • 'SHENGANGTONG' - 深港通

symbol_code - 代码表示

迅投代码(symbol_code)是迅投平台统一用于表示交易标的的代码 其格式为:交易标的代码.交易所代码,例如深圳证券交易所的平安银行,迅投代码为000001.SZ(不区分大小写)。代码表示可以在迅投研终端的行情列表或者按键精灵中查询。

迅投研终端示例

交易所代码

目前迅投研支持国内12个交易所,12个交易所的代码缩写如下:

交易所名称迅投简称显示后缀
上海证券交易所SHSH
深圳证券交易所SZSZ
北京证券交易所BJBJ
香港证券交易所HKHK
沪港通HGTHGT
深港通SGTSGT
中国金融期货交易所IFCFFEX
上海期货交易所SFSHFE
大连商品交易所DFDCE
郑州商品交易所ZFCZCE
上海国际能源交易中心INEINE
广州期货交易所GFGFEX

迅投研系统目前支持一站式获取全球多市场数据,详情链接:全球市场数据在新窗口打开

全球行情展示

交易标的代码

交易标的代码是指交易所给出的交易标的代码, 包括股票(如 600000), 期货(如 rb2011), 期权(如 10002498), 指数(如 000001), 基金(如 510300)等代码。

注意

对于期货合约代码来说,我们仅对market做了简化处理,symbol仍遵守交易所标准命名规则,且严格区分大小写,例如AP401.ZF不能写成ap401.ZF,rb2401.SF不能写成RB2401.SF

symbol示例

市场中文名市场代码示例代码显示后缀证券简称
上交所SH600000.SHSH浦发银行
深交所SZ000001.SZSZ平安银行
北交所BJ830779.BJBJ武汉蓝电
中金所IFIC2311.IFCFFEX中证 500 指数 2023 年 11 月期货合约
上期所SFrb2311.SFSHFE螺纹钢 2023 年 11 月期货合约
大商所DFm2311.DFDCE豆粕 2023 年 11 月期货合约
郑商所ZFFG305.ZFCZCE玻璃 2023 年 5 月期货合约
上海国际能源交易中心INEsc2311.INEINE原油 2023 年 11 月期货合约
广期所GFlc2405.GFGFEX碳酸锂 2024 年 05 月期货合约
上证期权SHO10005334.SHOSH50ETF购12月2650
深证期权SZO90002114.SZOSZ深证100ETF沽12月2700
板块指数BKZS290001.BKZSBKZS工业品期货板块指数

期货主力连续合约

仅支持回测模式下交易,期货主力连续合约为量价数据的简单拼接,未做平滑处理,如rb00.SF螺纹钢主连合约,其他[主连合约代码请参考](期货数据 | 迅投知识库 (thinktrader.net))

期货加权连续合约

仅支持回测模式下交易,期货加权连续合约为迅投按照一定规则加权合成的连续合约,相比主力连续合约更加平滑,如rbJQ00.SF,其他[加权合约代码参考](期货数据 | 迅投知识库 (thinktrader.net))

mode - 模式选择

迅投研终端中,策略可以以四种模式运行,分别为调试运行模式回测模式,模拟信号模式,实盘交易模式,模式需要在运行策略时手动选择

调试运行模式

调试运行模式需要在策略编辑界面点击编辑栏上方的运行,该模式下策略会以实时行情进行运算,但迅投研终端不会记录交易信号迅投研终端示例

回测模式

回测模式需要在策略编辑界面点击编辑栏上方的回测,该模式下策略会以右侧栏设定的回测周期推进行情进行运算,回测模式下,发生的交易会被记录在回测结果页面 迅投研终端示例

模拟信号模式

模拟信号模式需要在策略交易界面,在左侧策略文件栏中选择要进行计算运行的策略,点击右侧圆形按钮选择模拟,点击三角形运行按钮后策略会以实时行情进行运算,该模式下调用的下单函数(passorder)不会产生实际交易,仅会记录交易信号在下方的策略信号栏中迅投研终端示例

实盘交易模式

实盘交易模式需要在策略交易界面,在左侧策略文件栏中选择要进行计算运行的策略,点击右侧圆形按钮选择实盘,点击三角形运行按钮后策略会以实时行情进行运算,该模式下调用的下单函数(passorder)会对账户实际下单,同时交易信号会记录在下方的策略信号栏中迅投研终端示例

ContextInfo - 上下文对象

ContextInfo.start/ContextInfo.end - 回测开始/结束时间

注意

一、此属性只在回测模式生效;

二、仅在init中设置生效,应在init中设置完毕;

三、缺省值为策略编辑界面设定的回测时间范围;

四、回测起止时间也可在策略编辑器的回测参数面板中设置,若两处同时设置,则以代码中设置的值为准;

五、结束时间小于等于开始时间则计算范围为空。

释义

可通过此属性设定回测开始/结束的时间,以%Y-%m-%d %H:%M:%S格式传入

原型

ContextInfo.start # 回测开始时间属性
ContextInfo.end # 回测结束时间属性

返回值none

示例

# coding:gbk
def init(ContextInfo):
	ContextInfo.start = "2017-01-01 00:00:00"# 回测开始时间为 2017-01-01
	ContextInfo.end = "2020-01-01 00:00:00"# 回测结束时间为 2020-01-01
def handlebar(ContextInfo):
	# 打印输出当前回测时间
	print(timetag_to_datetime(ContextInfo.get_bar_timetag(ContextInfo.barpos), "%Y-%m-%d %H%M%S"))

ContextInfo.capital - 设定回测初始资金

注意

此函数只支持回测模式。回测初始资金也可在策略编辑器的回测参数面板中设置,若两处同时设置,则以代码中设置的值为准。

释义 设定回测初始资金,支持读写,默认为 1000000

原型

ContextInfo.capital = 10000000 # 设定ContextInfo.capital 值为10000000

返回值float类型的数值,代表当前策略设定的回测金额

示例

# coding:gbk
def init(ContextInfo):
    ContextInfo.capital = 10000000
def handlebar(ContextInfo):
    print(ContextInfo.capital)

ContextInfo.period - 获取当前周期

释义 获取当前周期,即基本信息中设置的默认周期,只读

原型

ContextInfo.period

返回string,返回值含义:

含义
'1d'日线
'1m'1分钟线
'3m'3分钟线
'5m'5分钟线
'15m'15分钟线
'30m'30分钟线
'1h'小时线
'1w'周线
'1mon'月线
'1q'季线
'1hy'半年线
'1y'年线

示例

# coding:gbk
def init(ContextInfo):
    pass
def handlebar(ContextInfo):
    print(ContextInfo.period)

ContextInfo.barpos - 获取当前运行到 K 线索引号

释义

获取主图当前运行到的 K 线索引号,只读,索引号从0开始

原型

ContextInfo.barpos

返回值int类型值,代表着当前K线的索引号

示例

# coding:gbk
def init(ContextInfo):
    pass
def handlebar(ContextInfo):
    print(ContextInfo.barpos)

ContextInfo.time_tick_size - 获取当前图 K 线数目

释义

获取当前图 K 线bar的数量,只读

原型

ContextInfo.time_tick_size

返回值int

示例

# coding:gbk
def init(ContextInfo):
    pass
def handlebar(ContextInfo):
    print(ContextInfo.time_tick_size)

ContextInfo.stockcode - 获取当前图代码

释义

获取当前主图代码,只读

原型

ContextInfo.stockcode

返回值string:对应主图代码

示例

# coding:gbk
def init(ContextInfo):
    pass
def handlebar(ContextInfo):
    print(ContextInfo.stockcode)

ContextInfo.market - 获取当前主图市场

释义

获取当前主图市场,只读

原型

ContextInfo.market

返回值string:对应主图市场

示例

# coding:gbk
def init(ContextInfo):
    pass
def handlebar(ContextInfo):
    print(ContextInfo.market)

ContextInfo.dividend_type - 获取当前主图复权处理方式

释义

获取当前主图复权处理方式

原型

ContextInfo.dividend_type

返回值string,返回值含义:

含义
'none'不复权
'front'向前复权
'back'向后复权
'front_ratio'等比向前复权
'back_ratio'等比向后复权

示例

# coding:gbk
def init(ContextInfo):
    pass
def handlebar(ContextInfo):
    print(ContextInfo.dividend_type)

ContextInfo.benchmark - 获取回测基准标的

注意

该属性只在回测模式可用

释义 获取回测基准的代码,只读

原型

ContextInfo.benchmark

返回值string

示例

# coding:gbk
def init(ContextInfo):
    pass
def handlebar(ContextInfo):
    print(ContextInfo.benchmark)

ContextInfo.do_back_test - 表示当前是否为回测模式

释义

表示当前是否为回测模式,只读,默认值为 False

原型

ContextInfo.do_back_test

返回值bool

上次更新:
邀请注册送VIP优惠券
分享下方的内容给好友、QQ群、微信群,好友注册您即可获得VIP优惠券
玩转qmt,上迅投qmt知识库