文档
测试

5、引用函数说明

POST

引用函数

*注:以下函数均支持回测和实盘/模拟运行模式。

1)获取扩展数据 ext_data()

# 1)获取扩展数据 ext_data() 用法: ext_data(extdataname, stockcode, deviation, ContextInfo) 释义: 获取扩展数据 参数: extdataname:string,扩展数据名 stockcode:string,形式如 ‘stkcodemarket’,如 ‘600000.SH’ deviation:number,K 线偏移,可取值: 0:不偏移 N:向右偏移N -N:向左偏移N ContextInfo:pythonObj,Python 对象,这里必须是 ContextInfo 返回: number 示例: ```py def handlebar(ContextInfo): print(ext_data('mycci', '600000.SH', 0, ContextInfo)) ```

2)获取引用的扩展数据的数值在所有品种中的排名 ext_data_rank()

# 2)获取引用的扩展数据的数值在所有品种中的排名 ext_data_rank() 用法: ext_data_rank(extdataname, stockcode, deviation, ContextInfo) 释义: 获取引用的扩展数据的数值在所有品种中的排名 参数: extdataname:string,扩展数据名 stockcode:string,形式如 ‘stkcodemarket’,如 ‘600000.SH’ deviation:number,K 线偏移,可取值: 0:不偏移 N:向右偏移N -N:向左偏移N ContextInfo:pythonObj,Python 对象,这里必须是 ContextInfo 返回: number 示例: ```py def handlebar(ContextInfo): print(ext_data_rank('mycci', '600000.SH', 0, ContextInfo)) ```

3)获取引用的扩展数据的数值在指定时间区间内所有品种中的排名 ext_data_rank_range()

## 3)获取引用的扩展数据的数值在指定时间区间内所有品种中的排名 ext_data_rank_range() 用法: ext_data_rank_range(extdataname, stockcode, begintime, endtime, ContextInfo) 释义: 获取引用的扩展数据的数值在指定时间区间内所有品种中的排名 参数: extdataname:string,扩展数据名 stockcode:string,形式如 ‘stkcodemarket’,如 ‘600000.SH’ begintime:string,区间的起始时间(包括该时间点在内)格式为 ‘2016-08-02 12:12:30’ endtime:string,区间的结束时间(包括该时间点在内)格式为 ‘2017-08-02 12:12:30’ ContextInfo:pythonObj,Python 对象,这里必须是 ContextInfo 返回: pythonDict 示例: ```py def handlebar(ContextInfo): print(ext_data_rank_range('mycci', '600000.SH', '2016-08-02 12:12:30', '2017-08-02 12:12:30', ContextInfo)) ```

4)获取扩展数据在指定时间区间内的值 ext_data_range()

# 4)获取扩展数据在指定时间区间内的值 ext_data_range() 用法: ext_data_range(extdataname, stockcode, begintime, endtime, ContextInfo) 释义: 获取扩展数据在指定时间区间内的值 参数: extdataname:string,扩展数据名 stockcode:string,形式如 ‘stkcodemarket’,如 ‘600000.SH’ begintime:string,区间的起始时间(包括该时间点在内)格式为 ‘2016-08-02 12:12:30’ endtime:string,区间的结束时间(包括该时间点在内)格式为 ‘2017-08-02 12:12:30’ ContextInfo:pythonObj,Python 对象,这里必须是 ContextInfo 返回: pythonDict 示例: ```py def handlebar(ContextInfo): print(ext_data_range('mycci', '600000.SH', '2016-08-02 12:12:30', '2017-08-02 12:12:30', ContextInfo)) ```

5)引用扩展数据在指定时间区域内的所有值和排名 ContextInfo.get_ext_all_data()

## 5)引用扩展数据在指定时间区域内的所有值和排名 ContextInfo.get_ext_all_data() 用法: ContextInfo.get_ext_all_data(extdataname,start_time=’19720101’,end_time=’22010101’) 释义: 引用扩展数据在指定时间区域内的所有值和排名 *注:本函数最好在init中调用,一次性将要用的数据取出 参数: extdataname:string,扩展数据名 start_time:起始时间,可缺省,缺省值1972年1月1日 end_time:截止时间,可缺省,缺省值2201年1月1日 返回: pandas.panel Items:时间戳 Major_axis:股票代码 Minor_axis:扩展数据的域名(rank和value) 示例: ```py def init(ContextInfo): print(ContextInfo.get_ext_all_data('mycci')) ```

6)获取因子数据 get_factor_value()

# 6)获取因子数据 get_factor_value() 用法: get_factor_value(factorname, stockcode, deviation, ContextInfo) 释义: 获取因子数据 参数: factorname:string,因子名 stockcode:string,形式如 ‘stkcodemarket’,如 ‘600000.SH’ deviation:number,K 线偏移,0 不偏移,N 向右偏移 N,-N 向左偏移 N ContextInfo:pythonObj,Python 对象,这里必须是 ContextInfo 返回: number 示例: ```py def handlebar(ContextInfo): print(get_factor_value('zzz', '600000.SH', 0, ContextInfo)) ```

7)获取引用的因子数据的数值在所有品种中排名 get_factor_rank()

## 7)获取引用的因子数据的数值在所有品种中排名 get_factor_rank() 用法: get_factor_rank(factorname, stockcode, deviation, ContextInfo) 释义: 获取引用的因子数据的数值在所有品种中排名 参数: factorname:string,因子名 stockcode:string,形式如 ‘stkcodemarket’,如 ‘600000.SH’ deviation:number,K 线偏移,0不偏移,N向右偏移N,-N向左偏移N ContextInfo:pythonObj,Python 对象,这里必须是 ContextInfo 返回: number 示例: ```py def handlebar(ContextInfo): print(get_factor_rank('zzz', '600000.SH', 0, ContextInfo)) ```

8)获取引用的 VBA 模型运行的结果 call_vba()

# 8)获取引用的 VBA 模型运行的结果 call_vba() 用法: call_vba(factorname, stockcode, [period, dividend_type, barpos, ]ContextInfo) 释义: 获取引用的 VBA 模型运行的结果 *注:使用该函数时需补充好本地 K 线或分笔数据 参数: factorname:string,模型名及引用变量,如 ‘MA.ma1’ stockcode:string,形式如 ‘stkcodemarket’,如 ‘600000.SH ‘ period:string,K 线周期类型,可缺省,默认为当前主图周期线型,可选值: ‘tick’:分笔线 ‘1d’:日线 ‘1m’:1分钟线 ‘3m’:3分钟线 ‘5m’:5分钟线 ‘15m’:15分钟线 ‘30m’:30分钟线 ‘1h’:小时线 ‘1w’:周线 ‘1mon’:月线 ‘1q’:季线 ‘1hy’:半年线 ‘1y’:年线 dividend_type:string,除复权,可缺省,默认当前图复权方式,可选值: ‘none’:不复权 ‘front’:向前复权 ‘back’:向后复权 ‘front_ratio’:等比向前复权 ‘back_ratio’:等比向后复权 barpos:number,对应 bar 下标,可缺省,默认当前主图调用到的 bar 的对应下标 ContextInfo:pythonObj,Python 对象,这里必须是 ContextInfo 返回: number 示例: ```py def handlebar(ContextInfo): call_vba('MA.ma1', '600036.SH', ContextInfo) ```

8)调用VBA组合模型call_formula()

# 8)调用VBA组合模型call_formula() 用法: call_formula(formulaName,code,period,divideType,basket,argsDict,startime=””,endTime=””,count=-1) 释义: python调用组合模型,返回GruopModelInfo结构体 *注:使用该函数时需补充好本地 K 线或分笔数据 参数: formulaName:string,组合模型名 stockcode:string,组合模型主图代码形式如’stkcode.market’,如’000300.SH’ period:string,K 线周期类型,可缺省,默认为当前主图周期线型,可选值: ‘tick’:分笔线 ‘1d’:日线 ‘1m’:1分钟线 ‘3m’:3分钟线 ‘5m’:5分钟线 ‘15m’:15分钟线 ‘30m’:30分钟线 ‘1h’:小时线 ‘1w’:周线 ‘1mon’:月线 ‘1q’:季线 ‘1hy’:半年线 ‘1y’:年线 dividend_type:string,除复权,可缺省,默认当前图复权方式,可选值: ‘none’:不复权 ‘front’:向前复权 ‘back’:向后复权 ‘front_ratio’:等比向前复权 ‘back_ratio’:等比向后复权 basket:dict,组合模型的股票池权重,形如{‘SH600000’:0.06,’SZ000001’:0.01} argsDict:dict,组合模型的入参,{参数名:参数值},形如{‘a’:1} startTime:string,缺失参数,组合模型运行起始时间,形如:’20200101’ endTime:string,缺失参数,组合模型运截止时间,形如:’20200101’ count:int,缺省参数,组合模型运行范围为向前count根bar 返回: GruopModelInfo结构体。GruopModelInfo.result为当前模型的运行结果,运行GruopModelInfo.unsubscribe()会取消组合模型的运行,GruopModelInfo随着python的析构也会调用取消组合模型运行。 示例: ```py def handlebar(ContextInfo): basket={'SH600000':0.06,'SZ000001':0.01} argsDict={'a':100} groupModelInfo=call_formula('testGroupModel','000300.SH',basket,argsDict); print(groupModelInfo.result); groupModelInfo.unsubscribe();#取消组合模型运行 ```