ext_data - 获取扩展数据
获取扩展数据
调用方法:ext_data(extdataname, stockcode, deviation, ContextInfo)
参数:
| 参数名 | 类型 | 说明 | 提示 |
|---|---|---|---|
extdataname | string | 扩展数据名 | |
stockcode | string | 证券代码 | 形式如 '600000.SH' |
deviation | number | K 线偏移 | 0:不偏移,N:向右偏移N,-N:向左偏移N |
ContextInfo | pythonObj | Python 对象 | ython 对象,这里必须是 ContextInfo |
返回: number
** 示例:**
#coding:gbk
def init(ContextInfo):
print(ext_data('CR', '600000.SH', 0, ContextInfo))
ext_data_rank - 获取引用的扩展数据的数值在所有品种中的排名
获取引用的扩展数据的数值在所有品种中的排名
调用方法:ext_data_rank(extdataname, stockcode, deviation, ContextInfo)
参数:
| 参数名 | 类型 | 说明 | 提示 |
|---|---|---|---|
extdataname | string | 扩展数据名 | |
stockcode | string | 证券代码 | 形式如 '600000.SH' |
deviation | number | K 线偏移 | 0:不偏移,N:向右偏移N,-N:向左偏移N |
ContextInfo | pythonObj | Python 对象 | ython 对象,这里必须是 ContextInfo |
返回: number
** 示例:**
#coding:gbk
def init(ContextInfo):
print(ext_data_rank('mycci', '600000.SH', 0, ContextInfo))
ext_data_rank_range - 获取引用的扩展数据的数值在指定时间区间内所有品种中的排名
获取引用的扩展数据的数值在指定时间区间内所有品种中的排名
** 调用方法: **ext_data_rank_range(extdataname, stockcode, begintime, endtime, ContextInfo)
参数:
| 参数名 | 类型 | 说明 | 提示 |
|---|---|---|---|
extdataname | string | 扩展数据名 | |
stockcode | string | 证券代码 | 形式如 '600000.SH' |
begintime | string | 区间的起始时间 | 格式为 '2016-08-02 12:12:30'(包括该时间点在内) |
endtime | string | 区间的结束时间 | 格式为 '2017-08-02 12:12:30' (包括该时间点在内) |
ContextInfo | pythonObj | Python对象 | Python 对象,这里必须是 ContextInfo |
返回: pythonDict
** 示例:**
#coding:gbk
def init(ContextInfo):
print(ext_data_rank_range('mycci', '600000.SH','2022-08-02 12:12:30', '2023-08-02 12:12:30', ContextInfo))
ext_data_range - 获取扩展数据在指定时间区间内的值
获取扩展数据在指定时间区间内的值
调用方法:ext_data_range(extdataname, stockcode, begintime, endtime, ContextInfo)
参数:
| 参数名 | 类型 | 说明 | 提示 |
|---|---|---|---|
extdataname | string | 扩展数据名 | |
stockcode | string | 证券代码 | 形式如 '600000.SH' |
begintime | string | 区间的起始时间 | 格式为 '2016-08-02 12:12:30'(包括该时间点在内) |
endtime | string | 区间的结束时间 | 格式为 '2017-08-02 12:12:30' (包括该时间点在内) |
ContextInfo | pythonObj | Python对象 | Python 对象,这里必须是 ContextInfo |
返回: pythonDict
示例:
#coding:gbk
def init(ContextInfo):
print(ext_data_range('mycci', '600000.SH','2022-08-02 12:12:30', '2023-08-02 12:12:30', ContextInfo))
get_factor_value - 获取因子数据
获取因子数据
调用方法:get_factor_value(factorname, stockcode, deviation, ContextInfo)
参数:
| 参数名 | 类型 | 说明 | 提示 |
|---|---|---|---|
factorname | string | 因子名称 | |
stockcode | string | 证券代码 | 形式如 '600000.SH' |
deviation | number | K 线偏移 | 0 不偏移,N 向右偏移 N,-N 向左偏移 N |
ContextInfo | pythonObj | Python对象 | Python 对象,这里必须是 ContextInfo |
返回: number
示例:
#coding:gbk
def init(ContextInfo):
print(get_factor_value('zzz', '600000.SH', 0, ContextInfo))
get_factor_rank - 获取引用的因子数据的数值在所有品种中排名
获取引用的因子数据的数值在所有品种中排名
调用方法:get_factor_rank(factorname, stockcode, deviation, ContextInfo)
参数:
| 参数名 | 类型 | 说明 | 提示 |
|---|---|---|---|
factorname | string | 因子名称 | |
stockcode | string | 证券代码 | 形式如 '600000.SH' |
deviation | number | K 线偏移 | 0 不偏移,N 向右偏移 N,-N 向左偏移 N |
ContextInfo | pythonObj | Python对象 | Python 对象,这里必须是 ContextInfo |
示例:
#coding:gbk
def init(ContextInfo):
print(get_factor_rank('zzz', '600000.SH', 0, ContextInfo))
获取引用的 VBA 模型运行的结果
(不推荐)券商版qmt函数:call_vba
更推荐函数(投研版qmt):
- 获取历史数据 (必须先建vba公式)call_formula
- 订阅实时+历史数据 (必须先建vba公式)subscribe_formula 更多实时和历史数据调用的示例:Python调用VBA因子公式的案例 -订阅实时+历史数据(直接在python中写VBA,VBA公式不用先建)[get_vba_func_result]
获取引用的 VBA 模型运行的结果
提示
注意
- 使用该函数时需补充好本地 K 线或分笔数据
调用方法: call_vba(factorname, stockcode,[period, dividend_type, barpos],ContextInfo)
参数:
| 参数名 | 类型 | 说明 | 提示 |
|---|---|---|---|
factorname | string | 因子名称 | |
stockcode | string | 证券代码 | 形式如 '600000.SH' |
period | string | K 线偏移 | 可缺省,默认为当前主图周期线型 |
dividend_type | string | 复权方式 | 可缺省,默认当前图复权方式,具体可选值如下 |
barpos | number | 对应 bar 下标 | 可缺省,默认当前主图调用到的 bar 的对应下标xtInfo |
ContextInfo | pythonObj | Python 对象 | Python 对象,这里必须是 ContextInfo |
period 可选值:
'tick':分笔线 '1d':日线 '1m':1分钟线 '3m':3分钟线 '5m':5分钟线 '15m':15分钟线 '30m':30分钟线 '1h':小时线 '1w':周线 '1mon':月线 '1q':季线 '1hy':半年线 '1y':年线
dividend_type 可选值:
'none':不复权 'front':向前复权 'back':向后复权 'front_ratio':等比向前复权 'back_ratio':等比向后复权
返回: number
示例:
#coding:gbk
def init(ContextInfo):
print(call_vba('MA.ma1', '600036.SH', ContextInfo))
@ tab 返回值
-1.0
(投研版QMT) 获取引用的 VBA 模型运行的结果
更推荐函数(投研版QMT):
- 订阅实时+历史数据(直接在python中写VBA,VBA公式不用先建)[get_vba_func_result]
获取引用的 VBA 模型运行的结果
提示
注意
- 使用该函数时需补充好本地 K 线或分笔数据
调用方法: get_vba_func_result(func,stock_code,period='1d',start_time='',end_time='',count=-1,dividend_type=None,extend_param={},subscribe=True)
参数:
| 参数名 | 类型 | 说明 | 提示 |
|---|---|---|---|
func | str或者list[str] | vba函数 | |
stockcode | string | 合约品种 | 形式如 '600000.SH' |
period | string | 周期 | 可缺省,默认为当前主图周期线型 |
start_time | string | 开始时间 | 形式如 %Y%m%d 或 %Y%m%d%H%M%S |
end_time | string | 结束时间 | 形式如 %Y%m%d 或 %Y%m%d%H%M%S |
count | int | 条数 | 模型运行范围为向前 count 根 bar,默认为 -1 运行所有 bar |
dividend_type | string | 除权类型 | 复权方式,默认为主图除权方式,可选范围:'none':不复权,'front':向前复权,'back':向后复权,'front_ratio':等比向前复权,'back_ratio':等比向后复权 |
extend_param | dict | 扩展参数 | 模型的入参,{"模型名:参数名":参数值},例如在跑模型MA时,{'MA:n1':1};入参可以添加__basket:dict,组合模型的股票池权重,形如{'__basket':{'600000.SH':0.06,'000001.SZ':0.01}},如果在跑一个模型1的时候,模型1调用了模型2,如果只想修改模型2的参数可以传{'模型2:参数':参数值} |
subscribe | bool | 是否订阅数据 | True:历史加实时, False: 历史 |
period 可选值:
'tick':分笔线 '1d':日线 '1m':1分钟线 '3m':3分钟线 '5m':5分钟线 '15m':15分钟线 '30m':30分钟线 '1h':小时线 '1w':周线 '1mon':月线 '1q':季线 '1hy':半年线 '1y':年线
dividend_type 可选值:
'none':不复权 'front':向前复权 'back':向后复权 'front_ratio':等比向前复权 'back_ratio':等比向后复权
示例:
# coding:GBK
def init(C):
fml = """
基准:=-1;//-1
档位:=1;
bb:getoptcodebyno('','C',1,档位,基准,1,0,6);
if bb = '' then exit;
//qh1:convindex('',1);//返回IFIC00
ss:getoptcodebyno('','P',1,-1*档位,基准,1,0,6);
xx:getexerciseinterval('SH510050',1),nodraw;
x:deliveryinterval(),LINETHICK0;//,noaxis;//
bb1:STKNAME(bb);
ss1:STKNAME(ss);
认沽今收:callstock(ss,vtclose,-1,0),noaxis();
认购今收:callstock(bb,vtclose,-1,0),noaxis();
"""
d = get_vba_func_result(fml,'510050.SH','1d',count=10)
print(d)
start simulation mode
bb bb1 ss ss1 time \
20260702 SHO10011685 50ETF购7月3000 SHO10011694 50ETF沽7月3000 1782921600000
x xx 认沽今收 认购今收
20260702 11.0 14.0 0.0598 0.0613
