python_API

基本方法

编写策略过程中所需要使用的基本函数。其中init和handle_bar是必须实现的两个方法,其余是可选择实现的方法。

init (必须实现)

init(context)

初始化方法--你的算法会使用这个方法来设置你需要的各种初始化配置。context 对象将会在你的算法的所有其他的方法之间进行传递以方便你可以拿取到。
详情参考:

  1. "backtest"回测 和 "paper_trading"实际交易模式中 在回测和实时交易只会在启动的时候触发一次。
  2. "pel_call"被PEL公式调用时,在公式被初次加载时被触发一次。

参数

参数 类型 说明
context context对象 将会在整个算法中当做一个全局变量来使用。属性通过点标记(".")来取到。

范例

def init(context):
# cash_limit的属性是根据用户需求自己定义的,你可以定义无限多种自己随后需要的属性
    context.cash_limit = 5000


handle_bar (必须实现)

函数原型

handle_bar(context)

bar数据的更新会自动触发该方 法的调用。策略具体逻辑可在该方法内实现,在实时交易中,该函数在交易时间内会根据选择运行模式被触发。

注意:由于该方法可能会被频繁触发,请尽量不要在该函数中放入查询类代码以免运行时间过长,该类逻辑可放在 init() 中执行。

参数

参数 类型 说明
context context对象 储存策略自定义参数、设置的全局变量,属性通过点标记(".")来取到

范例

def handle_bar(context):
# 市价开多100手/股。自己构建开仓条件
    buy_open("SZ000001", "Market",0 ,100)


before_trading (选择实现)

函数原型

before_trading(context)

每天在基准合约开盘前30分钟会被调用。不能在这个函数中发送订单。

注意:该函数的触发时间取决于用户当前基准合约的交易时间。(仅策略交易状态时有效,"backtest"回测 和 "paper_trading"模式)。

参数

参数 类型 说明
context context对象 储存策略自定义参数、设置的全局变量,属性通过点标记(".")来取到。

范例

def before_trading (context):
    #获取平安银行EPS财务字段数据
    dataval = fin_indicator('SZ000001','EPS',1,0,0)
    #将查询到的财务数据保存到context对象中
    context.eps = dataval


after_trading (选择实现)

函数原型

after_trading(context)

每天在基准合约收盘后5分钟被调用。不能在这个函数中发送订单。您可以在该函数中进行当日收盘后的一些计算。(仅策略交易状态时有效,"backtest"回测 和 "paper_trading"模式)

参数

参数 类型 说明
context context对象 储存策略自定义参数、设置的全局变量,属性通过点标记(".")来取到。


order_status(选择实现)

函数原型

order_status(context,order)

当委托下单,成交,撤单等与下单有关的动作时,该方法就会被调用。(仅策略交易状态时有效,"backtest"回测 和 "paper_trading"模式)

参数

参数 类型 说明
context context对象 储存策略自定义参数、设置的全局变量,属性通过点标记(".")来取到。
order order对象 用于捕获处理交易过程中产生的各种下单动作,根据捕获的信息,进行相应的处理。

范例

def order_status(context,order):
    #判断柜台回报信息,是否为全部成交。
    if order.status=='filled':
        print('全部成交')


order_action (选择实现)

函数原型

order_action(context,type, account, datas)

当查询交易接口信息时返回的通知。

注意:该事件函数仅在融资融券、新股申购操作刷新动作时才会触发,一般账户无效。

参数

参数 类型 说明
context context对象 储存策略自定义参数、设置的全局变量,属性通过点标记(".")来取到。
type int type=1 表示可融券品种查询完成
type=2 表示当日可申购新股查询完成
type=3 表示中签查询完成
account str 交易账户
datas int 数量
type=1时为可融券品种数量
type=2时为新股数量
type=3时为中签新股数量


exit(选择实现)

函数原型

exit(context)

用户可以在该函数中处理一些退出后需要做的事情,比如记录一些变量到硬盘等。

  1. "backtest"回测模式下,当测评结束时,该函数被调用。
  2. "paper_trading"实际交易模式下,停止策略运行时,该函数被调用。
  3. "pel_call"被PEL公式调用时,在PEL公式关闭时调用。

参数

参数 类型 说明
context context对象 储存策略自定义参数、设置的全局变量,属性通过点标记(".")来取到。


parameter (选择实现)

函数原型

parameter()

参数定义区,这里定义的参数可以直接在context对象中获取。--(选择实现)

  1. 参数定义区定义的变量,可以用于策略运行中动态调整参数
  2. 必须使用input_par函数,定义变量,并且此函数仅支持在parameter()方法内使用。
  3. parameter 方法仅对"backtest"回测 和 "paper_trading"模式有效。

参数

范例

def parameter():
    # 使用input_par函数定义变量"myvalues1",默认值5,最小值1,最大值100,步长1。
    input_par("myvalues1",5,1,20,1)
    # 使用input_par函数定义变量"myvalues2",默认值10,最小值1,最大值100,步长1。
    input_par("myvalues2",10,1,20,1)
        .
        .
        .
def handle_bar(context):
    print(context.myvalues1+context.myvalues2)


模式说明

Python策略分为三类:Python策略、Python引用、Python模块
Python策略:Python运行策略
Python引用:编写可用于PEL调用Python模块
Python模块:供Python调用的用户模块或供VBA调用的模块。

上述3类受python运行模式限制,具体区别见下表:


策略分组 支持模式 模式说明
Python策略 paper_trading 交易模式,即进行模拟或者实盘交易状态。
backtest 回测模式,即使用策略回测功能时,绝大部分API函数均支持,部分不支持回测的函数在API函数说明中有具体说明。例如:定时器函数settimer 则不支持回测模式
Python引用 pel_call pel引用python模式,此模式仅支pel_history_bars,log_debug_info,settimer,killtimer 这4个函数的调用,其他的API函数均不可以使用。
Python模块 供Python调用的用户模块或供VBA调用的模块


交易函数

buy_open 开多(买开)

函数原型

buy_open(order_book_id,style,price,volume,amount,hedge_flag,order_queue,slithermethod,account,repeat,serial_id)

参数

参数 类型 说明
order_book_id str 合约代码,必填项
style str 交易类型 "Market"市价 "Limit"限价 "Stop"停损,"ThisClose"当前价,必须填
price float 交易价格,当交易类型为"Market"市价或"ThisClose"时可以省略,其他类型必须填
volume int 交易数量,单位期货为手,股票为股,默认参数为1
amount float 交易金额,可以指定本次交易以交易金额为单位,软件会自动换算为相应的交易数量,可以省略
hedge_flag bool 交易标志,默认为False, 对于期货品种 True:保值 False投机 ; 对于股票 True:融资 False普通 ;对于期权 True:备兑 False:非备兑,该标志对于回测无效
order_queue bool 是否为队列单,默认为False,该标志对于回测无效
slithermethod bool 指示是否使用大单处理下单模式,默认为False,该标志对于回测无效
account str 对指定具体的交易帐号下单,若不指定帐号,对默认登录帐号下单,该标志对于回测无效
repeat int 是否允许重复下单,默认值为0,代表不允许重复下单
serial_id int 表示该下单语句的下单序列,编译时自动生成填充,无需用户操作(系统参数)

返回值

​int类型的order_id,即订单id ,当返回-1表示下单失败,失败原因需要翻阅日志记录。
当order_queue或slithermethod为True时,无法返回实际order_id,返回值恒定为0,失败返回 None。

范例

#市价委托方式,买入平安银行1000股
buy_open("SZ000001", "Market",0 ,1000)
#使用账号'12345'以市价方式买入2手螺纹钢。
buy_open("SQRB00", "Market",0 ,2,account='12345')


sell_close 平多(卖平)

函数原型

sell_close (order_book_id,style,price,volume,amount,hedge_flag,order_queue,slithermethod,account,repeat,serial_id)

参数

参数 类型 说明
order_book_id str 合约代码,必填项
style str 交易类型 "Market"市价 "Limit"限价 "Stop"停损,"ThisClose"当前价,必须填
price float 交易价格,当交易类型为"Market"市价或"ThisClose"时可以省略,其他类型必须填
volume int 交易数量,单位期货为手,股票为股,默认参数为1
amount float 交易金额,可以指定本次交易以交易金额为单位,软件会自动换算为相应的交易数量,可以省略
hedge_flag bool 交易标志,默认为False, 对于期货品种 True:保值 False投机 ; 对于股票 True:融资 False普通 ;对于期权 True:备兑 False:非备兑,该标志对于回测无效
order_queue bool 是否为队列单,默认为False,该标志对于回测无效
slithermethod bool 指示是否使用大单处理下单模式,默认为False,该标志对于回测无效
account str 对指定具体的交易帐号下单,若不指定帐号,对默认登录帐号下单,该标志对于回测无效
repeat int 是否允许重复下单,默认值为0,代表不允许重复下单
serial_id int 表示该下单语句的下单序列,编译时自动生成填充,无需用户操作(系统参数)

返回值

​int类型的order_id,即订单id ,当返回-1表示下单失败,失败原因需要翻阅日志记录。
当order_queue或slithermethod为True时,无法返回实际order_id,返回值恒定为0,失败返回 None。

范例

#限价3600元,将当前账户的RBOO品种的20手仓位平掉。(平多)
sell_close("SQRB00", "Limit",3600 ,20)


sell_open 开空(卖开/融券开仓)

函数原型

sell_open (order_book_id,style,price,volume,amount,hedge_flag,order_queue,slithermethod,account,repeat,serial_id)

参数

参数 类型 说明
order_book_id str 合约代码,必填项
style str 交易类型 "Market"市价 "Limit"限价 "Stop"停损,"ThisClose"当前价,必须填
price float 交易价格,当交易类型为"Market"市价或"ThisClose"时可以省略,其他类型必须填
volume int 交易数量,单位期货为手,股票为股,默认参数为1
amount float 交易金额,可以指定本次交易以交易金额为单位,软件会自动换算为相应的交易数量,可以省略
hedge_flag bool 交易标志,默认为False, 对于期货品种 True:保值 False投机 ; 对于股票 True:融资 False普通 ;对于期权 True:备兑 False:非备兑,该标志对于回测无效
order_queue bool 是否为队列单,默认为False,该标志对于回测无效
slithermethod bool 指示是否使用大单处理下单模式,默认为False,该标志对于回测无效
account str 对指定具体的交易帐号下单,若不指定帐号,对默认登录帐号下单,该标志对于回测无效
repeat int 是否允许重复下单,默认值为0,代表不允许重复下单
serial_id int 表示该下单语句的下单序列,编译时自动生成填充,无需用户操作(系统参数)

返回值

​int类型的order_id,即订单id ,当返回-1表示下单失败,失败原因需要翻阅日志记录。
当order_queue或slithermethod为True时,无法返回实际order_id,返回值恒定为0,失败返回 None。

范例

#开空
sell_open ("SQRB00", "Limit",3600 ,20)


buy_close 平空(买平/买券还券)

函数原型

buy_close (order_book_id,style,price,volume,amount,hedge_flag,order_queue,slithermethod,account,repeat,serial_id)

参数

参数 类型 说明
order_book_id str 合约代码,必填项
style str 交易类型 "Market"市价 "Limit"限价 "Stop"停损,"ThisClose"当前价,必须填
price float 交易价格,当交易类型为"Market"市价或"ThisClose"时可以省略,其他类型必须填
volume int 交易数量,单位期货为手,股票为股,默认参数为1
amount float 交易金额,可以指定本次交易以交易金额为单位,软件会自动换算为相应的交易数量,可以省略
hedge_flag bool 交易标志,默认为False, 对于期货品种 True:保值 False投机 ; 对于股票 True:融资 False普通 ;对于期权 True:备兑 False:非备兑,该标志对于回测无效
order_queue bool 是否为队列单,默认为False,该标志对于回测无效
slithermethod bool 指示是否使用大单处理下单模式,默认为False,该标志对于回测无效
account str 对指定具体的交易帐号下单,若不指定帐号,对默认登录帐号下单,该标志对于回测无效
repeat int 是否允许重复下单,默认值为0,代表不允许重复下单
serial_id int 表示该下单语句的下单序列,编译时自动生成填充,无需用户操作(系统参数)

返回值

​ int类型的order_id,即订单id ,当返回-1表示下单失败,失败原因需要翻阅日志记录。
当order_queue或slithermethod为True时,无法返回实际order_id,返回值恒定为0,失败返回 None。

范例

#平空
buy_close ("SQRB00", "Limit",3600 ,20)


get_orders 获取当日委托订单

函数原型

get_orders (order_book_id, type, account) 

获取当日委托订单。其数据来自账户栏的“委托记录”中的记录。

参数

参数 类型 说明
order_book_id str 合约代码,或者为"all"全部合约,必填项
type int 0:只取未成交订单 1:取全部订单,必须填
account str 指定具体的交易帐号,若不指定帐号,则取默认登录帐号

返回值

​ list of Order对象

范例

示例1:
#获取当日平安银行所有委托单的价格
id_list = get_orders("SZ000001", 1)
if not(id_list == None):
    for i in id_list:
        write_logging(str(i.price))

示例2:
#获取所有平安银行的未成交订单order对象
a = get_orders("SZ000001", 0)


get_orders_id 获取当日指定id的委托订单

函数原型

get_orders_id (order_id,account)

获取当日指定id的委托订单 。

参数

参数 类型 说明
order_id int 唯一标识订单的id,必须填
account str 指定具体的交易帐号,若不指定帐号,则取默认登录帐号

返回值

Order对象,失败返回 None

范例

#获取当日订单Id列表
id_list=get_orders("SQRB00", 1, '5')
#得到上一次委托订单的order对象属性。并输出成交状态。
if not(id_list == None):
    id_last=get_orders_id (id_list[-1].order_id)
    write_logging(id_last.status)


cancel_order 撤销指定order_id的订单

函数原型

cancel_order (order_id,queue,account)

撤销指定order_id的订单 。(仅策略交易状态时有效,"backtest"回测 和 "paper_trading"模式)

参数

参数 类型 说明
order_id int 唯一标识订单的id,必须填
queue bool 指示是否为队列单,默认为False
account str 指定具体的交易帐号,若不指定帐号,则取默认登录帐号

返回值

​ 无,失败返回 None

范例

#获取最近一个订单状态。
id_list=get_orders("SQRB00", 1, '5')
if not(id_list == None):
    id_last=get_orders_id (id_list[-1].order_id)
#如果最近一次订单状态为未成交,则进行撤单操作。
    if  id_last.status =='submitted':
        cancel_order (id_last.order_id)


get_traders 获取当日成交订单

函数原型

get_traders (order_book_id, account)

获取当日成交订单

参数

参数 类型 说明
order_book_id str 合约代码,或者为"all"全部合约,必填项
account str 指定具体的交易帐号,若不指定帐号,则取默认登录帐号

返回值

​ list of trader对象,失败返回 None

范例

#获得平安银行当日第一笔成交单的类型
a = get_traders("SZ000001")
if not(a==None):
    print(a[0].type)


get_account 得到投资者账户信息

函数原型

get_account (type,account) 

得到投资者账户信息。

参数

参数 类型 说明
type int 账户信息类别,参数同PEL,必须填
account str 指定具体的交易帐号,若不指定帐号,则取默认登录帐号

返回值

​ 返回相应账户信息数值,失败返回None

范例

#获取账号'60032182'当前的浮动盈利
get_account(4,'60032182')


get_account_book 得到当前登录所有账户列表

函数原型

get_account_book() 

得到当前登录所有账户列表,(注意也包括连接失败的)

参数

​ 无

返回值

​ list of str 账户列表

范例

#获得登录的资金账号列表
account=get_account_book()


isaccount 判断指定帐号是否是当前已登录有效帐号

函数原型

isaccount(account)

判断指定帐号是否是当前已登录有效帐号,例如 isaccount("351579"),如果该账户已登录则返回True,否则返回False

参数

参数 类型 说明
account str 指定具体的交易帐号,若不指定帐号,则取默认登录帐号

返回值

​ bool 账户已登录则返回True,否则返回False

范例



get_portfolio 投资组合信息

函数原型

get_portfolio (order_book_id, type, account,calc) 

投资组合信息(股票+期货的混合)。

参数

参数 类型 说明
order_book_id str 合约代码,必填项
type int 指定查询类型,必填项, 期货 0投机 1保值 ; 股票 0普通 1融资 ; 期权 0非备兑 1备兑; 2全部类型, 该参数对回测无效
account str 指定具体的交易帐号,若不指定帐号,则取默认登录帐号,该参数对回测无效
calc bool 指示是否自动减扣未成交平仓单,比如当有1手持仓,1手未成交平仓单,那么实际返回持仓数量为0。可不填,默认为True

返回值

portfolio对象,失败返回 None

范例

#获得"RB10"品种的浮动盈亏,(多空同时存在时,为多空浮动盈亏之和)
portfolio=get_portfolio ("SQRB10", 2)
write_logging(str(portfolio.pnl))


get_portfolio_book 投资组合持仓品种

函数原型

get_portfolio_book (type, account) 

投资组合持仓品种

参数

参数 类型 说明
type int 指定查询类型,必填项, 期货 0投机 1保值 ; 股票 0普通 1融资 ; 期权 0非备兑 1备兑; 2全部类型, 该参数对回测无效
account str 指定具体的交易帐号,若不指定帐号,则取默认登录帐号,该参数对回测无效

返回值

​ 返回 list of str,若没有任何持仓,则返回一个空的list

范例

#得到账户'5'当前的持仓品种列表。
portfolio=get_portfolio_book  (2, "5")
#判断该账户中是否已经持有指定的品种。如果有则输出'已经持仓',否者输出'未持仓'或者进行其他相应的操作处理。
if 'SQRB00' in portfolio:
    write_logging('已持仓')
else:
    write_logging('未持仓')


模组函数

模组函数只能在paper_trading 模式下使用。其他模式下无效。


get_group_count 得到当前已设置模组的数量

函数原型 get_group_count()

得到当前已设置模组的数量

参数

返回值

​ 失败返回NONE

范例

#得到模组账户的数量。
count=get_group_count()
print(count)

get_group_index 取指定序号的模组ID

函数原型

get_group_index(index)

取指定序号的模组ID 取得基于0开始序号的模组ID

参数

参数 类型 说明
index int 指定序号,必填项

返回值

​ 成功返回str类型的模组ID,失败返回NONE

范例

#得到模组账户的数量。
count=get_group_count()
#遍历得到模组ID集合
for i in range(count):
    GID=get_group_index(i)
    print("模组ID " + GID)

get_group_avg_price 得到指定模组ID下指定品种的持仓均价

函数原型

get_group_avg_price(groupid,order_book_id,type)

得到指定模组ID下指定品种的持仓均价

参数

参数 类型 说明
groupid str 模组ID,必填项
order_book_id str 合约代码,必填项 如: "SQFU00"
type int 持仓方向:0表示取买持,1表示取卖持,2表示任意方向

返回值

​ 返回float类型,失败返回NONE

范例

#得到模组账户ID集合中的第二个模组账户的id。
GID=get_group_index(1)
#获取"JGROUP0002"模组账户中燃油合约的持仓均价
avg_price=get_group_avg_price(GID,"SQFU00",2)
print(avg_price)

get_group_info 得到指定模组ID的模组运行信息

函数原型

get_group_info(type,groupid)

得到指定模组ID的模组运行信息

参数

参数 类型 说明
type str 1表示 模组名称
2表示 账户状态(0主账户未登录 1已登录 2已断开 3登录错误)
3表示 账户类型(0期货 1股票 2外盘)
4表示 浮动盈亏
5表示 累计盈亏
6表示 累计费用
7表示 所属主账户
groupid str 模组ID

返回值

   type=1返回str类型
   type=2返回int类型
   type=3返回int类型
   type=4返回float类型
   type=5返回float类型
   type=6返回float类型
   type=7返回str类型
,   失败时返回NONE

范例

#得到模组账户ID集合中的第二个模组账户的id。
GID=get_group_index(1)
#获取"JGROUP0002"模组账户的浮动盈亏
Order_Profit=get_group_avg_price(4,GID)
print(Order_Profit)

get_group_hold_count 得到指定模组ID下的持仓品种数量

函数原型

get_group_hold_count(groupid)

得到指定模组ID下的持仓品种数量 注:

参数

参数 类型 说明
groupid str 模组ID

返回值

返回int类型,失败返回NONE

范例

#得到模组账户ID集合中的第二个模组账户的id。
GID=get_group_index(1)
#获取模组"JGROUP0002"账户下持仓品种的数量
group_hold_count=get_group_hold_count(GID)
print(group_hold_count)

get_group_hold_index 得到指定模组ID下的指定序号的持仓品种代码

函数原型

get_group_hold_index(index,groupid)

得到指定模组ID下的指定序号的持仓品种代码

参数

参数 类型 说明
index int 指定序号
groupid str 模组ID

返回值

返回str类型,失败返回NONE

范例

#得到模组账户ID集合中的第二个模组账户的id。
GID=get_group_index(1)
#获取模组"JGROUP0002"账户下第2条持仓记录对应的品种代码
group_hold_name=get_group_hold_index(1,GID)
print(group_hold_name)

get_group_holding 得到指定模组ID下指定品种持仓量

函数原型

get_group_holding(groupid, order_book_id, type1, type2)

得到指定模组ID下指定品种持仓量

参数

参数 类型 说明
groupid str 模组ID
order_book_id str 合约代码, 如: "SQFU00"
type1 int 持仓方向:0表示取买持,1表示取卖持,2表示净持仓量(多仓为正,空仓为负)
type2 int 持仓方向:1表示取总持,2表示取期货为今仓/股票为可用持仓

返回值

返回int类型,失败返回NONE

范例

#获取模组"JGROUP0002"账户下燃油的多头今仓数量
day_holding=get_group_holding("JGROUP0002","SQFU00",0,2)
print(day_holding)

#获取模组"JGROUP0002"账户下燃油的多头持仓总数量
all_holding=get_group_holding("JGROUP0002","SQFU00",0,2)
print(all_holding)

数据查询函数


history_bars 某一合约历史数据

函数原型

history_bars(order_book_id, bar_count,frequency,fields,skip_suspended, include_now,adjusted_price)

参数

参数 类型 说明
order_book_id str 合约代码,必填项
bar_count int 获取的历史数据数量,必填项
frequency str 获取数据什么样的频率进行。'1d'或'1m'分别表示每日和每分钟,必填项。您可以指定不同的分钟频率,例如'5m'代表5分钟线,'5s'表示5秒线,'5h'表示5小时线,其他周期可以分别为:'self'表示当前设置周期,tick分笔线,week周线,month月线,quarter季度线,halfyear半年线,year年线
fields str OR str list 返回数据字段。必填项。
时间戳:datetime
开盘价:open
最高价:high
最低价:low
收盘价:close
成交量:volume
成交额:total_turnover
持仓量:open_interest (期货专用)
skip_suspended bool 是否跳过停牌,默认True,跳过停牌
include_now bool 是否包括不完整的bar数据。默认为False,不包括。举例来说,当前1分钟k时间为09:39的时候获取上一个5分钟线数据,默认将获取到09:31~09:35合成的5分钟线,即最近一根完整的5分钟线数据。如果设置为True,则将获取到09:36~09:39之间合成的"不完整"5分钟线,即最新一根5分钟线数据。
adjusted_price bool 是否复权数据,默认为 True

返回值

​ ndarray ,方便直接与talib等计算库对接, 失败返回 空列表。

注意:返回值使用前应该判断数组长度和是否为空列表或者低于指定长度,以免运行出错。

范例

#获取最近10天的日线收盘价序列
bar_len=10
bar_close=history_bars('SQRB00',bar_len,'1d','CLOSE')
#对返回值k线数量进行检查
if len(bar_close)<bar_len:
    print('获取数据不足,请补充数据!!!')
else:
    print(bar_close)


history_bars_date 某一合约指定时段内的历史数据

函数原型

history_bars_date(order_book_id, start_date,end_date, frequency,fields, skip_suspended, include_now,adjusted_price)

参数

参数 类型 说明
order_book_id str 合约代码,必填项
start_date str OR datetime 开始日期,必填项
end_date str OR datetime 结束时间,必填项
frequency str 获取数据什么样的频率进行。'1d'或'1m'分别表示每日和每分钟,必填项。您可以指定不同的分钟频率,例如'5m'代表5分钟线,'5s'表示5秒线,'5h'表示5小时线,其他周期可以分别为:'self'表示当前设置周期,tick分笔线,week周线,month月线,quarter季度线,halfyear半年线,year年线
fields str OR str list 返回数据字段。必填项。
时间戳:datetime
开盘价:open
最高价:high
最低价:low
收盘价:close
成交量:volume
成交额:total_turnover
持仓量:open_interest (期货专用)
skip_suspended bool 是否跳过停牌,默认True,跳过停牌
include_now bool 是否包括不完整的bar数据。默认为False,不包括。举例来说,当前1分钟k时间为09:39的时候获取5分钟线数据,默认将获取到09:31~09:35合成的5分钟线,即最近一根完整的5分钟线数据。如果设置为True,则将获取到09:36~09:39之间合成的"不完整"5分钟线,即最新一根5分钟线数据。
adjusted_price bool 是否复权数据,默认为 True

返回值

​ ndarray ,方便直接与talib等计算库对接, 失败返回 空列表。

注意:返回值使用前应该判断数组长度和是否为空列表或者低于指定长度,以免运行出错。

范例

#获取20180901至20180910区间的日线收盘价序列
bar_close=history_bars_date('SQRB00','20180901','20180910','1d','close')
#对返回值k线数量进行检查
print(bar_close)


pel_history_bars 获取历史数据(python引用)

函数原型

pel_history_bars("bar_count", "fields") 

python引用方式下获取历史数据,仅"pel_call"模式有效参数

参数

参数 类型 说明
bar_count int 获取的历史数据数量,必填项
fields str OR str list 返回数据字段。必填项。
时间戳:datetime
开盘价:open
最高价:high
最低价:low
收盘价:close
成交量:volume
成交额:total_turnover
持仓量:open_interest (期货专用)

返回值

​ ndarray ,方便直接与talib等计算库对接, 失败返回 空列表。

注意:返回值使用前应该判断数组长度和是否为空列表或者低于指定长度,以免运行出错。

范例

#调取收盘价数据,long_period的值为通过pel的SETPYTHONVAL函数设置
close = pel_history_bars(context.long_period+1 , 'close')

#计算均线,返回值放在context对象中。
context.ma10 = close[-context.long_period:].sum() / context.long_period


get_dynainf 当前快照数据

函数原型

get_dynainf (order_book_id,type)

当前快照数据,只有最新值,无历史数据。(不支持回测)

参数

参数 类型 说明
order_book_id str 合约代码,必填项
type int 快照数据类型,同PEL函数dynainf

返回值

​ datetime.date ,若失败返回 None

范例

#获取rb00当前最新价
get_dynainf('SQRB00',7)


is_data_update 判断数据是否更新

函数原型

is_data_update (order_book_id)

判断这次调用该品种距离上次调用是否有过数据更新,可以使用该函数对停牌或交易不活跃品种进行过滤,防止调用history_bars取数据时的计算重复。

注意:
1.该函数受基准合约行情驱动触发时才会判断具体品种行情是否更新。
2.若你的策略中同一个品种多次不同跨周期使用数据,在回测("backtest"模式)时可能会导致该函数无法正确返回,但是在"paper_trading"模式实际交易时则不受影响。

参数

参数 类型 说明
order_book_id str 合约代码,必填项

返回值

int类型。

范例

#判断'ag06'合约数据是否更新。
data = history_bars('sh600000',1,'self','CLOSE')
if is_data_update ('sh600000')==1:
    write_logging('数据更新')


istradertime 判断品种当前是否在交易时间时段内

函数原型

istradertime(order_book_id)

判断指定品种当前是否在交易时间时段中 注意:请确保您的计算机时间处于正确时间中,因为某些时候需要借助本地时间做参考。

参数

参数 类型 说明
order_book_id str 合约代码,必填项

返回值

bool True表示当前处于可交易时间中

范例



get_previous_trading_date 基准合约上一交易日

函数原型

get_previous_trading_date (date,n)

获取基准合约指定日期的上一(或n)交易日

参数

参数 类型 说明
date str , date 指定日期, 必填选项
n int 第 n 个交易日,默认为1

返回值

​ datetime.date ,若失败返回 None

范例

#获取2018-07-29的前5个交易日所在的日期
get_previous_trading_date ('2018-07-29',5)


get_next_trading_date 基准合约下一交易日

函数原型

get_next_trading_date (date,n) 

获取基准合约指定日期的下一(或n)交易日

参数

参数 类型 说明
date str , date 指定日期, 必填选项
n int 第 n 个交易日,默认为1

返回值

​ datetime.date ,若失败返回 None



get_trading_dates 基准合约的交易日列表

函数原型

get_trading_dates (start_date,end_date) 

获取基准合约的交易日列表(起止日期加入判断)(仅策略交易状态时有效,"backtest"回测 和 "paper_trading"模式),该函数计算量较大,请注意编写效率,不要再循环中使用。

参数

参数 类型 说明
start_date str,date 开始日期,用户必须指定
end_date str,date 结束日期,用户必须指定

返回值

​ datetime.date list,若失败返回 None

范例

#获取'2018-07-20'至'2018-07-30'期间的交易日期的集合
get_trading_dates ('2018-07-20','2018-07-30') 

get_split 当期除权数据

函数原型

get_split (order_book_id,count)

获取指定品种到策略当前日期的(除权)拆分情况

参数

参数 类型 说明
order_book_id str 合约代码,必填项
count int 获取的历史记录条数,默认为1

返回值

​ list of split对象 , 若失败返回 None

范例

#获取平安银行最近2次除权数据信息,其返回值为list of split对象
get_split ('sz000001',2)


get_price_change_rate 指定品种的历史涨跌幅

函数原型

get_price_change_rate (order_book_id,count)

获取指定品种的历史涨跌幅(仅策略交易状态时有效,"backtest"回测 和 "paper_trading"模式),该函数计算量较大,请注意编写效率,不要再循环中使用。

参数

参数 类型 说明
order_book_id str 合约代码,必填项
count int 获取的历史记录条数,默认为1

返回值

​ list of dataval对象 , 若失败返回 None

范例

#获取平安银行最近10日的涨跌幅
get_price_change_rate('sz000001',10)


get_blocks 获取指定板块的成份股列表

函数原型

get_blocks (block_name,type)

获取指定板块的成份股列表

参数

参数 类型 说明
block_name str 板块或分类名
type int 0市场分类 1分类板块 2系统板块

注:
市场分类:来源于在k线图右键“更换品种”--“市场”中展示的分类。例如:上海期货、深圳A股等
分类板块: 来源于在菜单栏“工具”--“市场与板块”--“板块”中展示的板块,如:地域中的”北京、上海“,自选中的"自选股"等。
系统分类:来源于在菜单栏“工具”--“市场与板块”--“品种”中展示的分类。如“中金所”,“国内商品”

返回值

​ list of str (order_book_id list) , 若失败返回 None

范例

#获取'自选股'分类版块中的品种代码,
get_blocks ('自选股',1)


get_inblocks 获取指定品种的所属板块

函数原型

get_inblocks(book_id) 获取指定品种的所属板块

参数

参数 类型 说明
book_id str 合约代码

返回值

​ list of str , 若失败返回空列表

范例

#获取'sz000001'品种所属的板块,
get_inblocks ('sz000001')


update_blocks 更新板块中的品种

函数原型

update_blocks (order_book_id,block_name)

更新指定板块品种,该函数触发时,会将之前板块的品种清除后再添加新品种至板块中。

参数

参数 类型 说明
order_book_id str OR str list 合约代码,可传入order_book_id, order_book_id list
block_name str 板块名称

返回值

​ 无

范例

#将'600000'股票更新至自选股板块。
update_blocks ('SH600000','自选股')


append_blocks添加指定板块中的品种

函数原型

append_blocks (order_book_id,block_name)

将指定品种以“追加方式”添加到指定版块中。

参数

参数 类型 说明
order_book_id str OR str list 合约代码,可传入order_book_id, order_book_id list
block_name str 板块名称

返回值

​ 无

范例

#追加品种至指定'自选股'板块中。
append_blocks ('SH600007','自选股')


remove_blocks 删除指定板块中的品种

函数原型

remove_blocks(order_book_id,block_name)

删除指定板块中的品种

参数

参数 类型 说明
order_book_id str OR str list 合约代码,可传入order_book_id, order_book_id list
block_name str 板块名称

返回值

​ 无

范例

#删除'自选股'板块中'SH600007'股票品种。
remove_blocks ('SH600007','自选股')


get_turnover_rate 历史换手率

函数原型

get_turnover_rate (order_book_id,count,stat)

获取历史换手率

参数

参数 类型 说明
order_book_id str 合约代码,必填项
count int 获取的历史记录条数,默认为1
stat int 统计的交易日,例如统计最近20个交易日的换手率这里就填20

返回值

​ list of dataval对象 , 若失败返回 None

范例

#获取5日线历史换手率。
get_turnover_rate('SH600000',10,5)


get_instruments查询合约基础信息

函数原型

get_instruments (order_book_id)

查询合约基础信息

参数

参数 类型 说明
order_book_id str 合约代码,必填项

返回值

instruments对象, 若失败返回 None

范例

#获取RB00品种的合约基本信息
instruments=get_instruments ('SQRB00')
#输出RB00合约的合约单位
print(instruments.multipliter)


get_charge计算交易费用

函数原型

get_charge (order_book_id,price,volume,type)

计算交易费用,根据 交易菜单->合约信息设置 中预设的合约信息和费率

参数

参数 类型 说明
order_book_id str 合约代码,必填项
price float 交易价格,必填项
volume int 交易数量,必填项
type int 交易类型,必填项,0开仓 1平仓

返回值

交易费用

范例

#计算1手多头螺纹钢所需手续费费用
get_charge ('SQRB00',get_dynainf('SQRB00',7),1,0)


财务函数


get_finance 基础财务数据

函数原型

get_finance (order_book_id,type,count,filter,offset)

获取基础财务数据。包含常用的50+个财务字段,能满足基本使用需求。详细字段参考pel函数说明或者查阅“附表”章节。

参数

参数 类型 说明
order_book_id str 合约代码,必填项
type int 财务报告类型
count int 获取的历史记录条数,默认为1
filter int 是否过滤 0则表示不做过滤,为1过滤第一季度,为2表示第二季度中报,为3表示第三季度,为4表示第四季度年报
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list of dataval对象 , 若失败返回 空列表

范例

#获取最近一期‘平安银行的'每股净资
bar_len=10
get_fin=get_finance('SZ000001',34,bar_len,0,0)
if len(get_fin)<bar_len:
    print("财务数据获取不足,请补充下载")
else:
    print(get_fin[-1].values)


fin_balance_std 一般工商业资产负债表

函数原型

fin_balance_std (order_book_id,items,count,filter,offset)

获取一般行业资产负债数据. 注:该表包含所有A股品种资产负债数据,包括银行、证券、保险类字段。可理解为合并财务报表。若使用需要获取金融类的特有字段,可以直接查询金融类专用财务报表(银行、证券、保险)。

参数

参数 类型 说明
order_book_id str or str list 合约代码,必填项
items str or str list 数据项名称,必填项
count int 获取的历史记录条数,默认为1
filter int 是否过滤 0则表示不做过滤,为1过滤第一季度,为2表示第二季度中报,为3表示第三季度,为4表示第四季度年报
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list

范例

示例1:
#获取'归属于母公司所有者权益合计'财务字段。
TEquityAttrP = fin_balance_std('SZ000001','TEquityAttrP',10,0,0)
#判断获取数据长度是否足够。
if len(TEquityAttrP)<10:
    print("财务数据获取不足,请补充下载")
else:
    print(TEquityAttrP)

示例2:
#多维度财务获取。
#获得'600007'和'600008'品种的'归属于母公司所有者权益合计'和'所有者权益合计'财务字段
df=fin_balance_std(['sh600007','SH600008'],['TEquityAttrP','TShEquity'],1,0,0)


fin_balance_zq 证券业资产负债表

函数原型

fin_balance_zq (order_book_id,items,count,filter,offset)

获取披露的证券行业资产负债数据。

参数

参数 类型 说明
order_book_id str or str list 合约代码,必填项
items str or str list 数据项名称,必填项
count int 获取的历史记录条数,默认为1
filter int 是否过滤 0则表示不做过滤,为1过滤第一季度,为2表示第二季度中报,为3表示第三季度,为4表示第四季度年报
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list



fin_balance_bx保险业资产负债表

函数原型

fin_balance_bx (order_book_id,items,count,filter,offset)

获取保险行业披露的资产负债数据。

参数

参数 类型 说明
order_book_id str or str list 合约代码,必填项
items str or str list 数据项名称,必填项
count int 获取的历史记录条数,默认为1
filter int 是否过滤 0则表示不做过滤,为1过滤第一季度,为2表示第二季度中报,为3表示第三季度,为4表示第四季度年报
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list



fin_balance_yh 银行业资产负债表

函数原型

fin_balance_yh (order_book_id,items,count,filter,offset)

获取银行业披露的资产负债数据。

参数

参数 类型 说明
order_book_id str or str list 合约代码,必填项
items str or str list 数据项名称,必填项
count int 获取的历史记录条数,默认为1
filter int 是否过滤 0则表示不做过滤,为1过滤第一季度,为2表示第二季度中报,为3表示第三季度,为4表示第四季度年报
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list



fin_profit_std 一般工商业利润分配表

函数原型

fin_profit_std (order_book_id,items,count,filter,offset)

一般工商业利润分配表 注:该表包含所有A股品种资产负债数据,包括银行、证券、保险类字段。可理解为合并财务报表。若使用需要获取金融类的特有字段,可以直接查询金融类专用财务报表(银行、证券、保险)。

参数

参数 类型 说明
order_book_id str or str list 合约代码,必填项
items str or str list 数据项名称,必填项
count int 获取的历史记录条数,默认为1
filter int 是否过滤 0则表示不做过滤,为1过滤第一季度,为2表示第二季度中报,为3表示第三季度,为4表示第四季度年报
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list

范例

#获取'营业总收入'财务字段数据
tRevenue = fin_profit_std('SH600007','tRevenue',1,0,0)


fin_profit_zq 证券业资产利润分配表

函数原型

fin_profit_zq (order_book_id,items,count,filter,offset)

证券业利润分配表

参数

参数 类型 说明
order_book_id str or str list 合约代码,必填项
items str or str list 数据项名称,必填项
count int 获取的历史记录条数,默认为1
filter int 是否过滤 0则表示不做过滤,为1过滤第一季度,为2表示第二季度中报,为3表示第三季度,为4表示第四季度年报
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list



fin_profit_bx 保险业利润分配表

函数原型

fin_profit_bx (order_book_id,items,count,filter,offset)

保险业利润分配表

参数

参数 类型 说明
order_book_id str or str list 合约代码,必填项
items str or str list 数据项名称,必填项
count int 获取的历史记录条数,默认为1
filter int 是否过滤 0则表示不做过滤,为1过滤第一季度,为2表示第二季度中报,为3表示第三季度,为4表示第四季度年报
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list



fin_profit_yh 银行业利润分配表

函数原型

fin_profit_yh (order_book_id,items,count,filter,offset)

银行业利润分配表

参数

参数 类型 说明
order_book_id str or str list 合约代码,必填项
items str or str list 数据项名称,必填项
count int 获取的历史记录条数,默认为1
filter int 是否过滤 0则表示不做过滤,为1过滤第一季度,为2表示第二季度中报,为3表示第三季度,为4表示第四季度年报
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list



fin_cashflow_std 一般工商业现金流量表

函数原型

fin_cashflow_std (order_book_id,items,count,filter,offset)

一般工商业现金流量表

参数

参数 类型 说明
order_book_id str or str list 合约代码,必填项
items str or str list 数据项名称,必填项
count int 获取的历史记录条数,默认为1
filter int 是否过滤 0则表示不做过滤,为1过滤第一季度,为2表示第二季度中报,为3表示第三季度,为4表示第四季度年报
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list

范例

#获取'经营活动现金流出小计'财务字段。
COutfOperateA = fin_cashflow_std('SH600007','COutfOperateA',1,0,0)


fin_cashflow_zq 证券行业现金流量表

函数原型

fin_cashflow_zq (order_book_id,items,count,filter,offset)

证券行业现金流量表

参数

参数 类型 说明
order_book_id str or str list 合约代码,必填项
items str or str list 数据项名称,必填项
count int 获取的历史记录条数,默认为1
filter int 是否过滤 0则表示不做过滤,为1过滤第一季度,为2表示第二季度中报,为3表示第三季度,为4表示第四季度年报
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list



fin_cashflow_bx 保险业现金流量表

函数原型

fin_cashflow_bx (order_book_id,items,count,filter,offset)

保险业现金流量表

参数

参数 类型 说明
order_book_id str or str list 合约代码,必填项
items str or str list 数据项名称,必填项
count int 获取的历史记录条数,默认为1
filter int 是否过滤 0则表示不做过滤,为1过滤第一季度,为2表示第二季度中报,为3表示第三季度,为4表示第四季度年报
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list



fin_cashflow_yh 银行业现金流量表

函数原型

fin_cashflow_yh (order_book_id,items,count,filter,offset)

银行业现金流量表

参数

参数 类型 说明
order_book_id str or str list 合约代码,必填项
items str or str list 数据项名称,必填项
count int 获取的历史记录条数,默认为1
filter int 是否过滤 0则表示不做过滤,为1过滤第一季度,为2表示第二季度中报,为3表示第三季度,为4表示第四季度年报
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list



fin_indicator衍生数据表

函数原型

fin_indicator (order_book_id,items,count,filter,offset)

财务衍生数据字段。

参数

参数 类型 说明
order_book_id str or str list 合约代码,必填项
items str or str list 数据项名称,必填项
count int 获取的历史记录条数,默认为1
filter int 是否过滤 0则表示不做过滤,为1过滤第一季度,为2表示第二季度中报,为3表示第三季度,为4表示第四季度年报
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list

范例

#获取衍生数据'每股收益'的财务数据
EPS = fin_indicator('SH600007','EPS',1,0,0)


fin_com_holder 持股股东数

函数原型

fin_com_holder (order_book_id,items,count,filter,offset)

持股股东户数

参数

参数 类型 说明
order_book_id str or str list 合约代码,必填项
items str or str list 数据项名称,必填项
count int 获取的历史记录条数,默认为1
filter int 是否过滤 0则表示不做过滤,为1过滤第一季度,为2表示第二季度中报,为3表示第三季度,为4表示第四季度年报
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list

范例

#得到'SH600007'品种的持股股东户数
shNum = fin_com_holder('SH600007','shNum',1,0,0)


fin_com_share 股本结构表

函数原型

fin_com_share (order_book_id,items,count,offset)

股本结构表。

参数

参数 类型 说明
order_book_id str or str list 合约代码,必填项
items str or str list 数据项名称,必填项
count int 获取的历史记录条数,默认为1
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list

范例

#获取总股本
totalShares = fin_com_share('SH600007','totalShares',1,0)


fin_com_swhy2014 申万行业分类

函数原型

fin_com_swhy2014 (order_book_id,items)

申万行业分类,该表只提供最新的品种分类信息数据。

参数

参数 类型 说明
order_book_id str 合约代码,必填项
items str 数据项名称,必填项

返回值

数据项对应值

范例

#获取该品种的三级分类名称
industryName = fin_com_swhy2014('SH600007','industryName3')


fin_stock_information 公司IPO信息表

函数原型

fin_stock_information (order_book_id,items)

公司IPO信息表,公司上市时的信息。

参数

参数 类型 说明
order_book_id str 合约代码,必填项
items str 数据项名称,必填项

返回值

数据项对应值

范例

#上市日期
listDate = fin_stock_information('SH600007','listDate')


fin_holder_top10 公司十大股东

函数原型

fin_holder_top10 (order_book_id,items, sort,count,filter,offset)

参数

参数 类型 说明
order_book_id str or str list 合约代码,必填项
items str or str list 数据项名称,必填项
sort int 排名
count int 获取的历史记录条数,默认为1
filter int 是否过滤 0则表示不做过滤,为1过滤第一季度,为2表示第二季度中报,为3表示第三季度,为4表示第四季度年报
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list

范例

#获得排名第二的股东名称
holder_top = fin_holder_top10('SH600007','shName',2,1,0,0)


fin_tradableshare_top10 公司十大流通股东

函数原型

fin_tradableshare_top10 (order_book_id,items, sort,count,filter,offset)

参数

参数 类型 说明
order_book_id str or str list 合约代码,必填项
items str or str list 数据项名称,必填项
sort int 排名
count int 获取的历史记录条数,默认为1
filter int 是否过滤 0则表示不做过滤,为1过滤第一季度,为2表示第二季度中报,为3表示第三季度,为4表示第四季度年报
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list



fin_limited_list 股改限售解禁明细

函数原型

fin_limited_list (order_book_id,items,count,offset)

股改限售解禁明细

参数

参数 类型 说明
order_book_id list 合约代码,必填项
items list 数据项名称,必填项
count int 获取的历史记录条数,默认为1
offset int 为偏移数量为整数往前偏移,为负数向后偏移

返回值

list



期权统计函数


get_option_info 得到期权最新的特征值

函数原型

get_option_info(order_book_id,type)

得到期权最新的特征值(仅对期权品种有效).
注意:该函数仅返回最新值,无历史值。部分计算参数在 在分析菜单->期权定价计算 中设置。

参数

参数 类型 说明
order_book_id str 合约代码,必填项
type int 数据项编号,必填项。同PEL

返回值

计算的当前最新值结果

范例

#判断该品种期权方向,0-认购期权,1-认沽期权
get_option_info('10001211',4)


option_strike 期权行权委托

函数原型

option_strike(order_book_id,volume,account)

期权行权委托

参数

参数 类型 说明
order_book_id str 合约代码,必填项
volume int 行权数量,必须填
account str 指定具体的交易帐号,若不指定帐号,则取默认登录帐号

返回值

​ int order_id 订单id ,当返回-1表示下单失败,失败原因需要翻阅日志记录,失败返回 None



cancelstrike 行权撤销操作

函数原型

cancelstrike(order_book_id,account)

行权撤销操作

参数

参数 类型 说明
order_book_id str 合约代码,必填项
account str 指定具体的交易帐号,若不指定帐号,则取默认登录帐号


volatility 历史波动率

函数原型

volatility(data,size)

历史波动率

参数

参数 类型 说明
data list of float

ndarray of float
需统计的数据
size int 统计数据个数

返回值

​ float 波动率结果



impliedvolatility 隐含波动率

函数原型

impliedvolatility(order_book_id,srcprice, volatility, days, nowprice, R)

隐含波动率

参数

参数 类型 说明
order_book_id str 合约代码,必填项
srcprice float 当前标的物品种的价格,必填项
volatility float 标的物历史波动率,参考volatility方法,必填项
days int 期权期限(距离期权到期日期天数),必填项
nowprice float 当前期权价格,必填项
R float 无风险利率,可选参数,若不填则表示取默认设置利率(在分析菜单->期权定价计算器中)

返回值

​ float 隐含波动率结果



optiongreekvalue 统计期权合约的特征值

函数原型

optiongreekvalue(order_book_id,srcprice, volatility, days, type, R)

统计期权合约的特征值

参数

参数 类型 说明
order_book_id str 合约代码,必填项
srcprice float 当前标的物品种的价格,必填项
volatility float 标的物历史波动率,参考volatility方法,必填项
days int 期权期限(距离期权到期日期天数),必填项
type int 期权特征值类型 1-Delta,2-Gamma,3-Theta,4-Vega,5-Rho, 必填项
R float 无风险利率,可选参数,若不填则表示取默认设置利率(在分析菜单->期权定价计算 中)

返回值

​ float 隐含波动率结果



optionbsprice 用B-S模型计算一个欧式期权的理论价格

函数原型

optionbsprice(order_book_id,srcprice, volatility, days, R)

用B-S模型计算一个欧式期权的理论价格,股票期权和股指期权的计算中都不考虑股息影响.

参数

参数 类型 说明
order_book_id str 合约代码,必填项
srcprice float 当前标的物品种的价格,必填项
volatility float 标的物历史波动率,参考volatility方法,必填项
days int 期权期限(距离期权到期日期天数),必填项
R float 无风险利率,可选参数,若不填则表示取默认设置利率(在分析菜单->期权定价计算 中)

返回值

​ float 返回计算后的期权理论价格



optionlabel_book 取指定标的指定月份的期权合约

函数原型

optionlabel_book(code,market,month, type)

取指定标的指定月份的期权合约

参数

参数 类型 说明
code str 标的的品种代码(对于商品期权请填写完整标的合约代码)例如"510050",必填项
market str 期权的品种市场,例如"QQ"表示股票期权市场,必填项
month str 指定的合约月份(仅对股票期权有效,商品期权该参数无效,置空字符串即可),例如"1809"表示18年9月份合约,必填项
type int 指定调取的合约类型0全部 1认购 2认沽 ,必填项

返回值

​ list of str 返回实际的期权合约



opobyprirce 通过行权价获取相关期权合约

函数原型

opobyprirce(code,market,price, direct, monthtype, check)

通过行权价获取相关期权合约,可以通过该方法函数方便的对标的合约的行权价相关的期权合约进行快速定位

参数

参数 类型 说明
code str 标的的品种代码(对于商品期权请填写完整标的合约代码)例如"510050",必填项
market str 期权的品种市场,例如"QQ"表示股票期权市场,必填项
price float 欲查找的行权价期权合约行权价,必填项
direct int 行权方向,0认购1认沽,必填项
monthtype int 交割月份类型选择;若为0则系统自动选择对应行权价的合约;若为1则系统会按照最靠近当前交割月份的合约,必填项
check int 价格检查,若为1则Price参数价格大小在标的合约行权价之外时该方法函数无效,若为0表示不检查,可不填,默认为1价格检查。

返回值

​ str 查找到的期权合约order_book_id,若没有找到返回空字符串



两融操作函数


synchrosecurities 刷新同步两融账户中的可融券信息

synchrosecurities(account)

请求刷新同步指定或全部登录的两融账户中的可融券信息

注意:请不要频繁调用该函数,以免给服务器造成过大压力。查询完成后的事件通知在order_action中标志为1的事件中获取。

参数

参数 类型 说明
account str 指定需要刷新的账户,若不填写则表示刷新全部账户的可融券信息。


get_securities 得到指定账户的指定基于0索引的融券信息

get_securities(account)

得到指定账户的指定基于0索引的融券信息 使用该函数方法前请务必调用synchrosecurities函数已确保可融券信息已经下载到客户端,可在order_action事件方法中确认是否下载成功

参数

参数 类型 说明
account str 指定查询的账户,若不填则表示当前默认账户

返回值

​ list of securities对象



新股申购函数


reqnewstockinfo 请求查询当日可申购新股信息

reqnewstockinfo(account)

请求查询当日可申购新股信息

参数

参数 类型 说明
account str 指定查询的账户,若不填则表示当前默认账户

注意:
1、查询完成后的事件通知在order_action中标志为2的事件中获取。
2、请不要频繁的重复的调用该函数,一般该函数每个交易日连接交易服务器后只调用一次即可。



get_newstockinfo 得到可申购新股信息

get_newstockinfo(account)

得到可申购新股信息,请务必确认使用前调用reqnewstockinfo函数,并确认收到order_action中标志为2的事件。

参数

参数 类型 说明
account str 指定查询的账户,若不填则表示当前默认账户

返回值

​ list of newstockinfo对象

范例



get_newstockmaxvol 得到指定市场最大可申购数量

get_newstockmaxvol(market,account)

得到指定市场最大可申购数量

参数

参数 类型 说明
market str 指定需要查询的市场,上海证券为"SH",深圳为"SZ"
account str 指定账户,若不填写则表示刷新当前登录默认账户。

返回值

​ int 返回查询到的最大可申购数量,可以使用该返回值做新股申购



reqnewstocklotinfo 新股申购中签查询

reqnewstocklotinfo(startdate,enddate,account)

新股申购中签查询

参数

参数 类型 说明
startdate str 开始日期,可选参数,不填写则表示查询近期的中签新股, 格式 YYYY/MM/DD ,例如 "2018/01/01"
enddate str 结束日期,可选参数,不填写则表示查询近期的中签新股,格式 YYYY/MM/DD ,例如 "2018/12/31"
account str 指定账户,若不填写则表示刷新当前登录默认账户。

注意
1、查询完成后的事件通知在order_action中标志为3的事件中获取。
2、查询历史中签记录日期间隔天数不能大于30天。
3、请不要频繁的重复的调用该函数,一般该函数每个交易日连接交易服务器后只调用一次即可。 ​



get_newstocklotinfo 得到新股中签信息

get_newstocklotinfo(account)

得到新股中签信息 注意:调用该函数前,请务必至少调用一次reqnewstocklotinfo函数查询操作。并确认收到order_action中标志为3的事件。

参数

参数 类型 说明
account str 指定查询的账户,若不填则表示当前默认账户

返回值

​ list of newstockinfo对象



buy_newstock 执行新股申购委托操作

buy_newstock(label,market,price,volume,account)

执行新股申购委托操作

参数

参数 类型 说明
label str 可申购股票代码
market str 可申购股票市场
price float 申购价格
volume int 申购数量
account str 指定账户,若不填写则表示刷新当前登录默认账户。

返回值

​ int order_id 订单id ,当返回-1表示下单失败,失败原因需要翻阅日志记录,失败返回 None



全局变量函数


全局变量数据库是金字塔内部的一种小型数据库,用来存放用户作用整个金字塔全局的变量。 可以使用全局变量做变量存储,或者与PEL,VBA进行数据交互。

setextdata 以数值方式设置指定名称的全局变量数据

函数原型

setextdata(item,data)

以数值方式设置指定名称的全局变量数据。数据存储在“工具”--“数据管理”--“全局变量”中

参数

参数 类型 说明
item str 全局变量数据项名称
data float 或 int 数据内容

注意: 数值型float金字塔采取单精度浮点数存储,如果数值过大可能会丢失精度,此时可以改为字符串存储以保留精度。

返回值

范例

#设置TEST全局变量的值。
setextdata('TEST',1)
#打印输出'TEST'的结果     
print(getextdata('TEST'))


getextdata 得到指定名称的全局变量数据

函数原型

getextdata(item)

得到指定名称的全局变量数据,数据存储在“工具”--“数据管理”--“全局变量”中 例如:getextdata("ABC"),函数将返回"ABC"名称的全局变量数据。

参数

参数 类型 说明
item str 全局变量数据项名称

返回值

float 或 int

注意: 数值型float金字塔采取单精度浮点数存储,如果数值过大可能会丢失精度,此时可以改为字符串存储以保留精度。



setextstring 以字符串方式设置指定名称的字符串全局变量数据

函数原型

setextstring(item, data)

以字符串方式设置指定名称的字符串全局变量数据

参数

参数 类型 说明
item str 全局变量数据项名称
data str 或 float 或 int 数据内容


getextstring 得到指定名称的字符串全局变量数据

函数原型

getextstring(item)

得到指定名称的字符串全局变量数据,该函数用法与getextdata函数相同,但此函数将返回字符串,如果键值是数字数据名称,会将该数字转换为字符串输出。

参数

参数 类型 说明
item str 全局变量数据项名称

返回值

str

范例



clearextdata 从全局变量数据库中清除所有全局变量数据

函数原型

clearextdata()

从全局变量数据库中清除所有全局变量数据

参数

​ 无

返回值

​ 无



其它函数


settimer 设定计时器—定时触发

函数原型

settimer (funciton, msec)

设定计时器—定时触发,仅"paper_trading"模式有效

注意:function函数一定要包含(并且只能包含)context

参数

参数 类型 说明
funciton funciton 传入执行的function名称
msec int 触发间隔,单位毫秒。(1秒=1000毫秒)

返回值

范例

import time
def init(context):
    # 设置计时器 
    settimer(msg,10)

def msg(context):
    #输出现在时间
    a = time.asctime( time.localtime(time.time()) )
    print(a)
#退出程序后杀死计时器
def exit(context):
    killtimer(msg)


killtimer 结束计时器

函数原型

killtimer(funciton)

结束计时器,仅"paper_trading"模式有效

参数

参数 类型 说明
funciton funciton 本地计算机硬盘文件全路径

返回值

范例

import time
def init(context):
    # 设置计时器 
    settimer(msg,10)

def msg(context):
    #输出现在时间
    a = time.asctime( time.localtime(time.time()) )
    print(a)
#退出程序后杀死计时器
def exit(context):
    killtimer(msg)


write_logging 调试打印输出

函数原型

write_logging (msg)

屏幕字符打印输出,该函数可以直接在print函数不能显示的函数外执行,推荐调试时使用

参数

参数 类型 说明
msg str 输出字符串内容,必填项

返回值

范例

#判断init事件函数在启动时,是否正常运行。
def init(context):

    ...
    #执行完毕省略部分的代码后,输出字符串“策略初始化工作已经完成!”。(省略部分代码请自行填充)
    write_logging ('策略初始化工作已经完成!')


log_debug_info 日志写盘

函数原型

log_debug_info(file_path, text_data)

日志写盘,利用该函数可以将运行中的参数写盘,方便策略编写调试期间查找问题
注:适用于以下三种模式:"backtest"模式、"paper_trading"模式和"pel_call"模式下有效。

参数

参数 类型 说明
file_path str 本地计算机硬盘文件全路径
text_data str 日志内容

返回值

范例

#使用log_debug_info函数,输出策略执行过程中产生的结果,进行分析。
log_debug_info('D:\debugfile.txt', '输出跟踪测试的内容到debugfile文件中')


update_universe 更新合约池

函数原型

update_universe (order_book_id)

该方法用于更新现在关注的品种的集合(e.gPS:会在下一个bar事件触发时候产生(新的关注的合约池更新)效果。并且update_universe会是覆盖(overwrite)的操作而不是在已有的股票池的基础上进行增量添加。比如已有的股票池为['SZ000001', 'SZ000024']然后调用了update_universe(['SH000030'])之后,股票池就会变成SH000030一个股票了,随后的数据更新也只会跟踪SH000030这一个股票了。
(仅策略交易状态时有效,"backtest"回测 和 "paper_trading"模式) 参数

参数 类型 说明
order_book_id str OR str list 合约代码,可传入order_book_id, order_book_id list

返回值

范例

#把'sh600000','sh600007'更新到当前合约池中
update_universe (['sh600000','sh600007'])


append_universe添加到合约池

函数原型

append_universe (order_book_id)

添加品种到合约池
(仅策略交易状态时有效,"backtest"回测 和 "paper_trading"模式) 参数

参数 类型 说明
order_book_id str OR str list 合约代码,可传入order_book_id, order_book_id list

返回值

范例

#把'sh600000','sh600007'追加到当前合约池中
append_universe (['sh600000','sh600007'])


remove_universe 删除合约池

函数原型

remove_universe (order_book_id)

删除合约池中的品种
(仅策略交易状态时有效,"backtest"回测 和 "paper_trading"模式) 参数

参数 类型 说明
order_book_id str OR str list 合约代码,可传入order_book_id, order_book_id list

返回值



get_indicator获取PEL指标线值

函数原型

get_indicator(order_book_id,name,line,parameter,freq,count,skip_suspended,include_now,adjusted_price)

引用金字塔PEL指标线值的值。
(仅策略交易状态时有效,"backtest"回测 和 "paper_trading"模式),注意该函数占用资源较大,请注意编程效率。

参数

参数 类型 说明
order_book_id str 合约代码,必填项
name str PEL公式名,必填项
line str OR str list 公式线名,必填项
parameter str 公式参数,例如MA的均线参数为 "5,10,20,30",必填项
freq str 获取数据什么样的频率进行。'1d'或'1m'分别表示每日和每分钟,必填项。您可以指定不同的分钟频率,例如'5m'代表5分钟线,'5s'表示5秒线,'5h'表示5小时线,其他周期可以分别为:'self'表示当前设置周期,week周线,month月线,quarter季度线,halfyear半年线,year年线,,必填项
count int 获取的历史数据数量,必填项
skip_suspended bool 是否跳过停牌,默认True,跳过停牌
include_now bool 是否包括不完整的bar数据。默认为False,不包括。举例来说,在09:39的时候获取上一个5分钟线,默认将获取到09:31~09:35合成的5分钟线。如果设置为True,则将获取到09:36~09:39之间合成的"不完整"5分钟线
adjusted_price bool 是否复权数据,默认为True

返回值

ndarray 方便直接与talib等计算库对接,失败返回 None

范例

#引用PEL指标公式"my_test"的ma5日均线指标值。PEL指标必须提前存在或者构建。
get_indicator('sh600000','my_test','ma5','30','1d',10)


call_vba 执行VBA函数调用计算

函数原型

call_vba(function,...)

执行VBA函数调用计算

参数

参数 类型 说明
function str VBA函数名
... float 或 int 传递给VBA的参数序列
注意:str 参数最长不能超过56个字节。

返回值

str 或 float 或 int

范例

# 执行vba中名为 Test_fun_call 函数,参数分别为 1和2。
ret = call_vba("Test_fun_call",1,2)
print(ret)


add_test_report 添加自定义测试报告项函数原型

函数原型

add_test_report (item,itemdata)

添加自定义测试报告项, 该函数仅对测评状态有效,推荐放在 exit 事件函数中使用

参数

参数 类型 说明
item str 测试报告项名称,必填项
itemdata str 报告项内容,必填项

返回值



input_par 申明参数

函数原型

input_par(PAR_NAME,DFT,MIN,MAX,STEP)

此函数仅支持在parameter()方法内使用,其它方法或者函数内使用无效。声明的变量在使用时,直接从context对象中获取。

参数

参数 类型 说明
PAR_NAME str 声明的变量名
DFT float 默认值
MIN float 最小值
MAX float 最大值
STEP float 步长(最小变动值)

范例

#input_par函数必要在parameter方法内实现声明变量。
def parameter():
       #申明变量"myvalues1"和"myvalues2"并初始赋值。
    input_par("myvalues1",20,1,20,1)
    input_par("myvalues2",10,1,20,1)


test_report_none 禁用回测弹出测试报告

函数原型

test_report_none()

此函数一般用于用于exit事件函数内,作用为禁用回测完成后弹出测试报告。

参数

范例

# exit事件函数会在测评结束或者停止策略运行时调用test_report_none函数。
def exit(context):
    test_report_none()


重要对象


context对象

属性 类型 说明
now datetime 可以在handle_bar中拿到当前的bar的时间,比如day bar的话就是那天的时间,minute bar的话就是这一分钟的时间点。
barpos int PEL策略引用时的K线序号,仅当"pel_call"模式时有效,barpos=1时表示第一根K线,barpos=datacount表示最后一根k线
run_info class 策略运行信息
universe list of str 策略合约池 仅"backtest"回测 "paper_trading"实际交易模式下有效


run_info对象

属性 类型 说明
start_date datetime 策略的开始日期, 仅回测时有效,"pel_call"模式时为主图K线数据开始时间
end_date datetime 策略的结束日期,仅回测时有效,"pel_call"模式时为主图K线数据结束时间
run_type str 当前环境状态,"backtest"回测 "paper_trading"实际交易中 "pel_call"被PEL公式调用 "other_call"等其他调用
run_id str 当前运行环境的唯一标识符
frequency str 策略的运行周期
base_book_id str 基准合约代码,当"pel_call"模式时为主K线图合约
datacount int PEL公式引用时的主K线数据数量,仅当"pel_call"模式时有效
last_refurbish bool PEL公式引用时指示是否为“仅刷最后K线”运行模式,该模式时仅K线数量发生变化时才重新进行从barpos=1到barpos=datacount的刷新过程,当最后K线只是价格变化时始终barpos=datacount
starting_cash float 初始测试资金, 仅回测时有效
open_slippage int 开仓滑点, 仅回测时有效
close_slippage int 平仓滑点, 仅回测时有效


order对象

属性 类型 说明
order_id int 唯一标识订单的id
order_book_id str 合约代码
datetime datetime.datetime 订单创建时间
side str 订单方向 "buy"买:"sell"卖
price float 订单价格,只有在订单类型为'限价单'的时候才有意义
quantity int 订单数量
filled_quantity int 订单已成交数量
unfilled_quantity int 订单未成交数量
type str 订单类型 "limit"限价 : "market"市价
trade_price float 成交价格(仅当为"tradeing"时有效)
trade_quantity int 本次成交数量(仅当为"tradeing"时有效)
status str 订单状态 "submitted"已报单未成交 "tradeing"已成交 "filled"全部成交 "cancelled"已撤单 "inactive"无效单 "connected"已连接 "disconnected"连接断开
message str 订单状态文字说明
position_effect str 开平标志 "open"开仓 "close"平仓
sign int 交易标志 对于期货品种 0投机 1保值 对于股票 0普通 1融资 对于期权 0非备兑 1备兑
account str 交易账户
system_id str 柜台返回的系统编号


portfolio对象

属性 类型 说明
pnl float 浮动盈亏
buy_margin float 期货:多头保证金 ; 股票: 持仓市值
buy_today_quantity int 期货:多头今仓 ; 股票: 今日可卖数量
buy_quantity int 多头总持
buy_avg_open_price float 多头开仓成本
buy_avg_holding_price float 多头持仓成本
sell_margin float 期货:空头保证金; 股票: 融券持仓市值
sell_today_quantity int 期货:空头今仓; 股票: 今日可平融券数量
sell_quantity int 期货:空头总持 股票:融券总持
sell_avg_open_price float 空头开仓成本
sell_avg_holding_price float 空头持仓成本
moneyrate float 两融利率


trader对象

属性 类型 说明
order_id int 唯一标识订单的id
order_book_id str 合约代码
datetime datetime.datetime 订单创建时间
side str 订单方向 "buy"买"sell"卖
filled_quantity int 成交数量
type str 订单类型 "limit"限价 : "market"市价
trade_price float 成交价格
position_effect str 开平标志 "open"开仓 "close"平仓
sign int 交易标志 对于期货品种 0投机 1保值 对于股票 0普通 1融资 对于期权 0非备兑 1备兑
system_id str 柜台返回的系统编号


split对象

属性 类型 说明
ex_dividend_date datetime 除权除息日,该天股票的价格会因为拆分而进行调整
give float 每10股送
rationed float 每10股配
rationed_price float 配股价
profit float 每10股红利


dataval对象

属性 类型 说明
date_val datetime 日期时间
values float 数值内容


instruments对象

属性 类型 说明
buy_margin_rate float 多头保证金率
short_margin_rate float 空头保证金率
multipliter int 合约单位
mintick float 最小变动价位
round_lot int 每手单位,例如股票是100
type int 分类类型,范围为0-31,分别表示指数、A 股、B 股、H 股、N 股、期货、外汇、基金、债券、板块指数、投资指数、套利指数、其他、其他股票、商品现货、选择权、凭证权证、国债、企业债、现券、长远期合作、拆借、回购、认购权证、认沽权证、看涨期权、看跌期权、开放基金、封闭基金、ETF、LOF、指标统计


securities对象

属性 类型 说明
order_book_id str 可融券合约代码
sec_count int 可融券数量


newstockinfo对象

属性 类型 说明
label str 可申购股票代码
market str 可申购股票市场
name str 可申购股票名称
price float 申购价格
upperlimit int 申购上限
lowerlimit int 申购下限


newstocklotinfo对象

属性 类型 说明
label str 中签股票代码
market str 中签股票市场
name str 中签股票名称
price float 申购价格
lotdate str 中签日期
lotvolume int 中签数量


附表


type参数 (get_account函数)

type 说明
1 该函数返回常数,返回当前交易帐户ID(该函数返回字符串类型数值)
2 账户类型,0 盈透 1 CTP 2 金仕达期货 3FIX接口 4恒生期货 5子账户 6其他柜台 255 无效账户
3 现金余额
4 浮动盈亏
6 当前交易帐户中的动态权益/资产值
19 当前可用资金
20 当前流动资产
26 上次结算准备金/期初余额
27 结算准备金/期初余额
28 占用保证金/证券市值
29 可取资金
30 平仓盈亏数额/回报卖出金额/融券盈亏
31 手续费
32 入金金额/利息积数/融资市值
33 出金金额/当前余额
34 上次信用额度
35 上次质压
36 质压金额
37 信用额度
38 冻结保证金/禁取资产
39 冻结手续费/回报买入金额/融资盈亏
40 保底资金
41 多头保证金率(期货专有)
42 空头保证金率(期货专有)
43 返回交易网关名称,该函数返回字符串常数
44 融券市值
45 融券费用
46 融券利息
47 融资余额
48 融券余额
49 可用保证金
50 已用融资额
51 已用融券额
52 融资负债
53 返回当前交易账户是否处于有效状态。建议对账户持仓或资金进行读取时首先调用该函数对账户有效性进行判断,以免出现误操作。(对IB外盘无效,仅限国内)


type参数 (get_finance函数)

type 说明
0 更新日期
1 总股本(万股)
2 A股本(万股)
3 上市日期
4 限售条件股(万股)
5 流通B股(万股)
6 货币资金(千元)
7 流通股(万股)
8 B股股东总数
9 A股股东总数
10 总资产(千元)
11 流动资产(千元)
12 固定资产(千元)
13 无形资产(千元)
14 盈余公积金(千元)
15 流动负债(千元)
16 负债总额(千元)
17 资本公积金(千元)
18 每股资本公积金(元)
19 少数股东权益(千元)
20 营业总收入(千元)
21 股东权益(千元)
22 每股盈余公积金(元)
23 营业利润(千元)
24 投资收益(千元)
25 归属母公司所有者权益(千元)
26 营业外收支(千元)
27 少数股东损益(千元)
28 利润总额(千元)
29 净利润(千元)
30 归属母公司所有者净利润(千元)
31 未分配利润(千元)
32 每股未分配(元)
33 基本每股收益(元)
34 每股净资产(元)
35 调整每股净资(元)
36 股东权益比%
37 摊薄净资产收益率%
38 经营现金流入(千元)
39 经营现金流出(千元)
40 经营现金流量(千元)
41 投资现金流入(千元)(千元)
42 投资现金流出(千元)
43 投资现金流量(千元)
44 筹资现金流入(千元)
45 筹资现金流出(千元)
46 筹资现金流量(千元)
47 期末现金及现金等价物余额(千元)
48 应收帐款周转率
49 存货周转率
50 股东总数
51 发行价(元)
52 发行量(万股)
53 营业收入增长率%
54 归属母公司净利润增长率%
55 净资产增长率%
56 总资产增长率%
57 现金及现金等价物净增加额
60 流通A股(万股)


type参数 (get_dynainf函数)

属性 类型
3 昨收
4 今开
5 最高
6 最低
7 最新
8 总手
9 现手
10 总额(万)
11 均价
12 涨跌
13 振幅
14 涨幅
15 委比
16 委差
17 量比
18 委买
19 委卖
20 委买价
21 委卖价
22 内盘
23 外盘
24 涨速
25 买一量
26 买二量
27 买三量
28 买一价
29 买二价
30 买三价
31 卖一量
32 卖二量
33 卖三量
34 卖一价
35 卖二价
36 卖三价
37 换手率
38 日均量
39 市盈率
40 成交方向
41 买四量
42 买四价
43 卖四量
44 卖四价
45 持仓量
46 应得利息
47 国债全价
48 买五量
49 买五价
50 卖五量
51 卖五价
52 成交笔数
53 每笔手数
54 涨停
55 跌停
56 总市值
57 流通市值
58 市净率
59 到期收益
60 昨持仓量
61 结算价
62 昨结算价
63 增仓
64 日增仓
65 开平
66 上涨家数
67 下跌家数
68 平盘家数
87 取得该证券所在分类委买均价
88 取得该证券所在分类委卖均价
89 取市场总委买总额
90 取市场总委卖总额
91 取市场总外盘成交额
92 取市场总内盘成交额
101 上跳总次数
102 下跳总次数
103 平跳总次数
104 上跳总额
105 下跳总额
106 平跳总额
107 大单跳动总次数(100-300万元的分笔)
108 大单上跳总次数(100-300万元的分笔)
109 大单下跳总次数(100-300万元的分笔)
110 大单平跳总次数(100-300万元的分笔)
111 大单跳动总额(100-300万元的分笔)
112 大单上跳总额(100-300万元的分笔)
113 大单下跳总额(100-300万元的分笔)
114 大单平跳总额(100-300万元的分笔)
115 小单跳动总次数(15-40万元的分笔)
116 小单上跳总次数(15-40万元的分笔)
117 小单下跳总次数(15-40万元的分笔)
118 小单平跳总次数(15-40万元的分笔)
119 小单跳动总额(15-40万元的分笔)
120 小单上跳总额(15-40万元的分笔)
121 小单下跳总额(15-40万元的分笔)
122 小单平跳总额(15-40万元的分笔)
123 权重股跳动总次数(市值50亿元以上的)
124 权重股上跳总次数(市值50亿元以上的)
125 权重股下跳总次数(市值50亿元以上的)
126 权重股平跳总次数(市值50亿元以上的)
127 权重股跳动总额(市值50亿元以上的)
128 权重股上跳总额(市值50亿元以上的)
129 权重股下跳总额(市值50亿元以上的)
130 权重股平跳总额(市值50亿元以上的)
131 巨单跳动总次数(300万元以上的分笔)
132 巨单上跳总次数(300万元以上的分笔)
133 巨单下跳总次数(300万元以上的分笔)
134 巨单平跳总次数(300万元以上的分笔)
135 巨单跳动总额(300万元以上的分笔)
136 巨单上跳总额(300万元以上的分笔)
137 巨单下跳总额(300万元以上的分笔)
138 巨单平跳总额(300万元以上的分笔)
139 中单跳动总次数(40-100万元以上的分笔)
140 中单上跳总次数(40-100万元以上的分笔)
141 中单下跳总次数(40-100万元以上的分笔)
142 中单平跳总次数(40-100万元以上的分笔)
143 中单跳动总额(40-100万元以上的分笔)
144 中单上跳总额(40-100万元以上的分笔)
145 中单下跳总额(40-100万元以上的分笔)
146 中单平跳总额(40-100万元以上的分笔)
147 散单跳动总次数(小于5万元以下的分笔)
148 散单上跳总次数(小于5万元以下的分笔)
149 散单下跳总次数(小于5万元以下的分笔)
150 散单平跳总次数(小于5万元以下的分笔)
151 散单跳动总额(小于5万元以下的分笔)
152 散单上跳总额(小于5万元以下的分笔)
153 散单下跳总额(小于5万元以下的分笔)
154 散单平跳总额(小于5万元以下的分笔)
155 买六量
156 买六价
157 卖六量
158 卖六价
159 买七量
160 买七价
161 卖七量
162 卖七价
163 买八量
164 买八价
165 卖八量
166 卖八价
167 买九量
168 买九价
169 卖九量
170 卖九价
171 买十量
172 买十价
173 卖十量
174 卖十价
200 外盘成交额
201 内盘成交额
202 主买笔数
203 主卖笔数
204 上升劲道
205 下降劲道
206 现额
207 时间
208 取得合约最小变动价位
209 取得合约的单位乘数
210 取得连续合约对应的主力合约代码
211 取得该品种距离最近一次实盘交易的开仓成交价格
212 取得该品种距离最近一次实盘交易的开仓成交数量。
213 取得该品种距离最近一次实盘交易的开仓成交时间
214 取得该品种距离最近一次实盘交易的开仓成交日期
215 取得该品种距离最近一次实盘交易的平仓成交价格
216 取得该品种距离最近一次实盘交易的平仓成交数量
217 取得该品种距离最近一次实盘交易的平仓成交时间
218 取得该品种距离最近一次实盘交易的平仓成交日期
219 取得该品种名称
220 取得该ETF基金品种的净值
221 取得该ETF基金品种的昨净值
222 取得该ETF基金品种的净值涨跌
223 取得该ETF基金品种的净值涨跌幅度
224 取得该ETF基金品种的净值溢价
225 取得该ETF基金品种的净值溢价幅度
226 取得该期货合约的交割日期(需要连接到交易账户后才能有效的获取该数据)


type参数 (get_option_info函数)

type 说明
OPTIONINFO(1) 期权标的合约,返回该期权合约的标的合约
OPTIONINFO(2) 期权类型,返回整数:0-股票期权,1-股指期权,2-期货期权
OPTIONINFO(3) 期权行权方式,返回整数:0-欧式,1-美式
OPTIONINFO(4) 期权方向,返回整数:0-认购期权,1-认沽期权
OPTIONINFO(5) 期权行权价格,返回该期权合约的行权价格
OPTIONINFO(6) 期权行权比例,及合约单位
OPTIONINFO(7) 返回该期权合约的最后交易日
OPTIONINFO(8) 返回截至到今天的到期日然日天数
OPTIONINFO(9) 期权行权起始日
OPTIONINFO(10) 返回该期权合约品种的内在价值
OPTIONINFO(11) 返回该期权合约品种的时间价值
OPTIONINFO(12) 返回该期权合约品种的隐含波动率
OPTIONINFO(13) 返回该期权合约品种的杠杆比率
OPTIONINFO(14) 返回该期权合约品种的溢价率
OPTIONINFO(15) 返回该期权合约品种的真实杠杆率
OPTIONINFO(16) 返回该期权合约品种的Delta
OPTIONINFO(17) 返回该期权合约品种的Gamma
OPTIONINFO(18) 返回该期权合约品种的Rho
OPTIONINFO(19) 返回该期权合约品种的Theta
OPTIONINFO(20) 返回该期权合约品种的Vega
OPTIONINFO(21) 返回该期权标的合约的历史波动率
OPTIONINFO(22) 用B-S模型计算一个欧式期权的理论价格,股票期权和股指期权的计算中都不考虑股息影响。
OPTIONINFO(23) 返回该期权合约品种的平值合约行权价
OPTIONINFO(24) 返回该期权连续合约对应的实际可交易字符串合约代码