permission_test - 权限校验

permission_test 是 PTrade 中用于权限校验的接口。

提示

  • live-or-trading-module-only
  • permission-dependent

原型

permission_test(account=None, end_date=None)

释义

permission_test 是 PTrade 中用于权限校验的接口。

研究:不支持;回测:不支持;模拟:官方目录未明确;实盘:支持。

参数

参数 是否必填 官方原始定义
account account=None
end_date end_date=None

返回值

布尔类型,校验成功返回True,校验失败返回False(bool)。

示例

def initialize(context):

g.security = '600570.SS'

set_universe(g.security)

def handle_data(context, data):

pass

def after_trading_end(context, data):

# 需要用授权模式下载功能的情况下不用入参

flag = permission_test()

if not flag:

raise RuntimeError('授权不通过,终止程序,抛出异常')

# 不需要用授权模式下载功能的情况下通过入参来进行授权校验

flag = permission_test(account='10110922',end_date='20220101')

if not flag:

raise RuntimeError('授权不通过,终止程序,抛出异常')

详细说明

permission_test(account=None, end_date=None)

使用场景

该函数仅在交易模块可用

接口说明

该接口用于账号和有效期的权限校验,用户可以在接口中入参指定账号和指定有效期截止日,策略运行时会校验运行策略的账户与指定账户是否相符,以及运行当日日期是否超过指定的有效期截止日,任一条件校验失败,接口都会返回False,两者同时校验成功则返回True。校验失败会在策略日志中提示原因。

注意事项

如果需要使用授权模式下载功能,不要在接口中入参,策略编码时候直接调用permission_test(),授权工具会把需要授权的账号和有效期信息放到策略文件中。

该函数仅在initialize、before_trading_start、after_trading_end模块中支持调用。

参数详细说明

account:授权账号,选填字段,如果不填就代表不需要验证账号(str);

end_date:授权有效期截止日,选题字段,如果不填就代表不需要验证有效期(str),日期格式必须为'YYYYmmdd'的8位日期格式,如'20200101';

返回值

布尔类型,校验成功返回True,校验失败返回False(bool)。