引用函数
*注:以下函数均支持回测和实盘/模拟运行模式。
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();#取消组合模型运行
```