46 KiB
行情 / 区间
qkfilterCC_bytimefield_core(data_cc, datefield, begt, endt, endt_tree)
1、适用 重复取区间持仓的场景 构造索引的操作比 单次直接整表select 慢。 2、要求持仓已按日期排序 data_cc2 := select * from data_cc order by [datefield] end; 3、区间持仓或者立体表
| 参数 | 类型 | 说明 |
|---|---|---|
data_cc |
array | 二维字符串数组,区间每期持仓 |
datefield |
string | 字符串,日期字段 |
begt |
datetime | 日期,区间开始日 |
endt |
datetime | 日期,区间截止日 |
endt_tree |
any | 整数, 支持外部已建好。详见 qkfilterCC_createDateTreeIndex |
返回:array
qkfilterMJZ_bytimefiled_core(data_mjz, datefiled, codefield, begt, endt, codes, filedpivot, date_code_tree, options)
多净值类数据,根据日期、代码进行筛选,支持数据表透视
| 参数 | 类型 | 说明 |
|---|---|---|
data_mjz |
array | 二维字符串数组, 可以不排序 |
datefiled |
string | 字符串,日期字段 |
codefield |
string | 字符串,代码字段 |
begt |
datetime | 日期,区间开始日 |
endt |
datetime | 日期,区间截止日 |
codes |
array | 一维字符串数组,代码池,nil表示不限制 |
filedpivot |
string | 字符串,透视字段 |
date_code_tree |
any | 整数, 支持外部已建好索引;详见 qkfilterMJZ_createDateCodeTreeIndex |
options |
array | 一维字符串数组,更多配置 |
返回:array
stockDataCheck(stock, end_t)
检查股票在市情况。
| 参数 | 类型 | 说明 |
|---|---|---|
stock |
string | 字符串。股票代码 |
end_t |
datetime | 日期。截止日期 |
返回:int
stockLowAmount(beg_t, end_t, return_value)
区间最低成交金额 Min(每日成交金额)Real
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
datetime | 开始日期 |
end_t |
datetime | 截止日期 |
return_value |
float | 成交金额 |
返回:float
示例
SetSysParam(PN_Stock(),'SZ000002');
SetSysParam(PN_Rate(),1);
SetSysParam(PN_RateDay(),inttodate(20110909));
BegT:=inttodate(20110905);
EndT:=inttodate(20110909);
return StockLowAmount(BegT,EndT); //145404752
stockAveVolSum(beg_t, end_t)
区间日平均成交量(手)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 开始日期 |
end_t |
TDateTime | 截止日期 |
返回:real
marketTradeDayQk(beg_t, end_t)
区间市场交易日期列表
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
Date | 日期,开始日期 |
end_t |
Date | 日期,截止日期 |
返回:Table
示例
//取得大盘从20120415至20120420的区间交易日列表
setSysParam(pn_cycle(),cy_day());
beg_t := intToDate(20120416);
end_t := intToDate(20120420);
return marketTradeDayQk(beg_t,end_t);
//结果:
Ctrl + D =
marketTradeDays(beg_t, end_t)
区间市场交易天数
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
Date | 日期,开始日期 |
end_t |
Date | 日型,截止日期 |
返回:Int
示例
//取得大盘从20120415至20120420的区间交易天数
setSysParam(pn_cycle(),cy_day());
beg_t := intToDate(20120416);
end_t := intToDate(20120420);
return marketTradeDays(beg_t,end_t);
//结果:5
marketTradeDays2(begt, endt)
区间交易天数(考虑未来交易日),涉及到未来交易日(估算)。
| 参数 | 类型 | 说明 |
|---|---|---|
begt |
Date | 日期,开始日期 |
endt |
Date | 日期,截止日期 |
返回:整数类型
示例
//获取A股市场2021-2-26至2021-3-31市场交易天数
setSysParam(pn_stock(),"SH000001");
begt:=20210226T;
endt:=20210331T;
return marketTradeDays2(beg_t,end_t);//返回:24
stockAbnormalTransactionDays(beg_t, end_t, criterion, method_type, return_type)
区间异常波动频数
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期,开始日期 |
end_t |
TDateTime | 日期,截止日期 |
criterion |
Real | 实数,评估标准(%) |
method_type |
Integer | 整数,评估方式 |
return_type |
Integer | 整数,返回类型 |
返回:Integer /TableArray
示例
//A:返回SZ000002(万科A)从20110801到20110901的区间异常波动频数 (只考虑涨幅大于等于评估标准的,返回波动天数)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockAbnormalTransactionDays(beg_t,end_t,2,0,0);
//结果:2
//B:返回SZ000002(万科A)从20110801到20110901的区间异常波动频数 (只考虑涨幅大于等于评估标准的,返回波动发生的日期)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockAbnormalTransactionDays(beg_t,end_t,2,0,1);
//结果:
stockAmountPercent(beg_t, end_t)
区间成交金额占市场总成交额比例(%)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期,开始日期 |
end_t |
TDateTime | 日期,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110801到20110901的区间成交金额占市场总成交额比例(%)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockAmountPercent(beg_t,end_t);
//结果:0.427
stockAmountSum(beg_t, end_t)
区间成交金额总和(万)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期,开始日期 |
end_t |
TDateTime | 日期,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110801到20110901的区间成交金额(万)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockAmountSum(beg_t,end_t);
//结果:777422.4032
stockAmountSumChange(beg_t, end_t)
区间成交金额变动比(%)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期,开始日期 |
end_t |
TDateTime | 日期,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110801到20110901的区间成交金额变动比(%)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockAmountSumChange(beg_t,end_t);
//结果:-29.79
stockAveHsl(beg_t, end_t)
区间平均换手率(%)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110801到20110901的区间平均换手率(%)
setSysParam(PN_Stock(),'SZ000002');
setSysParam(PN_Rate(),1);
setSysParam(PN_RateDay(),intToDate(20110901));
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockAveHsl(beg_t,end_t);
//结果:0.4043
stockAveZf(beg_t, end_t)
区间平均涨幅(%) = 区间每日涨幅%/区间交易天数(已复权)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110801到20110901的区间平均涨幅(%)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockAveZf(beg_t,end_t);
//结果:0.0382
stockExtraZf(beg_t, end_t, index_id, _type)
区间超额收益率(%)=股票收益率(%)-指数收益率(%)(已复权)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
index_id |
String | 字符串类型,指数代码 |
_type |
Integer | 整数类型,收益率计算方法 |
返回:Real
示例
//A:返回SZ000002(万科A)相对于上证指数从20110801到20110901的区间超额收益率(%) :收益率计算方法为涨幅(%)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockExtraZf(beg_t,end_t,'SH000001',0);
//结果:5.2697
//B:返回SZ000002(万科A)相对于上证指数从20110801到20110901的区间超额收益率(%) :收益率计算方法为对数收益率(%)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockExtraZf(beg_t,end_t,'SH000001',1);
//结果:5.2696
stockHigh(beg_t, end_t)
区间最高= Max(每日最高价)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110905到20110909的区间最高
setSysParam(PN_Stock(),'SZ000002');
setSysParam(PN_Rate(),1);
setSysParam(PN_RateDay(),intToDate(20110909));
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockHigh(beg_t,end_t);
//结果:8.2
stockHighAmount(beg_t, end_t)
区间最高成交金额
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110905到20110909的区间最高成交金额
setSysParam(PN_Stock(),'SZ000002');
setSysParam(PN_Rate(),1);
setSysParam(PN_RateDay(),intToDate(20110909));
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockHighAmount(beg_t,end_t);
//结果:320160192
stockHighClose(beg_t, end_t)
区间最高收盘
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110905到20110909的区间最高收盘
setSysParam(PN_Stock(),'SZ000002');
setSysParam(PN_Rate(),1);
setSysParam(PN_RateDay(),intToDate(20110909));
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockHighClose(beg_t,end_t);
//结果:8.12
stockHighOpen(beg_t, end_t)
区间最高开盘
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110905到20110909的区间最高开盘
setSysParam(PN_Stock(),'SZ000002');
setSysParam(PN_Rate(),1);
setSysParam(PN_RateDay(),intToDate(20110909));
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockHighOpen(beg_t,end_t);
//结果:8.13
stockHighVol(beg_t, end_t)
区间最高成交量= Max(每日成交量)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110905到20110909的区间最高成交量
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockHighVol(beg_t,end_t);
//结果:39555388
stockHsl(beg_t, end_t)
区间换手率(%) =(区间成交量和 / 截止日流通股本) * 100%
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110801到20110901的区间换手率(%)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockHsl(beg_t,end_t);
//结果:9.7012
stockLnZf(beg_t, end_t)
区间对数收益率(%)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110801到20110901的区间对数收益率(%)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockLnZf(beg_t,end_t);
//结果:-0.1228
stockLow(beg_t, end_t)
区间最低 = Min(每日最低价)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110905到20110909的区间最低
setSysParam(PN_Stock(),'SZ000002');
setSysParam(PN_Rate(),1);
setSysParam(PN_RateDay(),intToDate(20110909));
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockLow(beg_t,end_t);
//结果:7.95
stockLowClose(beg_t, end_t)
区间最低收盘
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110905到20110909的区间最低收盘
setSysParam(PN_Stock(),'SZ000002');
setSysParam(PN_Rate(),1);
setSysParam(PN_RateDay(),intToDate(20110909));
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockLowClose(beg_t,end_t);
//结果:8
stockLowOpen(beg_t, end_t)
区间最开收盘
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110905到20110909的区间最低开盘
setSysParam(PN_Stock(),'SZ000002');
setSysParam(PN_Rate(),1);
setSysParam(PN_RateDay(),intToDate(20110909));
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockLowOpen(beg_t,end_t);
//结果:8
stockLowVol(beg_t, end_t)
区间最低成交量=Max(每日成交量)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110905到20110909的区间最低成交量
setSysParam(PN_Stock(),'SZ000002');
setSysParam(PN_Rate(),1);
setSysParam(PN_RateDay(),intToDate(20110909));
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockLowVol(beg_t,end_t);
//结果:17932168
stockMaxRateDown(beg_t, end_t)
区间最大跌幅(%)=(区间最低-前收盘)/前收盘*100%(已复权)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110905到20110909的区间最大跌幅(%)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockMaxRateDown(beg_t,end_t);
//结果:-1.8519
stockMaxRateUp(beg_t, end_t)
区间最大涨幅(%)=(区间最高-前收盘)/前收盘*100%(已复权)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110905到20110909的区间最大涨幅(%)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockMaxRateUp(beg_t,end_t);
//结果:1.2346
stockOpen(beg_t, end_t)
区间开盘 = 开始日的开盘价
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110801到20110901的区间开盘
setSysParam(PN_Stock(),'SZ000002');
setSysParam(PN_Rate(),1);
setSysParam(PN_RateDay(),intToDate(20110901));
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockOpen(beg_t,end_t);
//结果:8.15
stockpjcj(begt, endt)
:区间平均成交,区间成交金额/区间成交量
| 参数 | 类型 | 说明 |
|---|---|---|
begt |
date | 开始日期 |
endt |
date | 截止日期 |
返回:real
示例
//返回SZ000002(万科A)从20110801到20110901的区间平均成交
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockpjcj(beg_t,end_t);
//结果:8.297
//计算期货合约FB2009在20190920到20200110区间的平均成交价。
setSysParam(pn_stock(),' FB2009');
begt:=20190920T;
endt:=20200110T;
setSysParam(pn_date(),endt);
return stockpjcj(beg_t,end_t);
//结果:1406.422
stockPjCj6(stk_id, beg_t, end_t)
计算区间段的成交量加权平均价
| 参数 | 类型 | 说明 |
|---|---|---|
stk_id |
string | 字符串,股票代码 |
beg_t |
TDateTime | 时间日期,开始时间,可以精确到秒 |
end_t |
TDateTime | 时间日期,截止时间,可以精确到秒 |
返回:real
示例
//计算“SZ000002”在2019年9月25日九点半到十点成交量加权平均价
stk_id:="SZ000002";
begt:=strToDateTime("2019-9-25 09:30:00");
endt:=strToDateTime("2019-9-25 10:00:00");
return stockPjCj6(stk_id,begt,endt); // 结果26.00209696
stockPrevClose(beg_t, end_t)
区间前收=开始日前一天的收盘价
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110801到20110901的区间前收
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockPrevClose(beg_t,end_t);
//结果:8.15
stockPriceDownDay(beg_t, end_t)
区间下跌天数=区间收盘价<昨收的天数
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Integer
示例
//返回SZ000002(万科A)从20110801到20110901的区间下跌天数
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockPriceDownDay(beg_t,end_t);
//结果:14
stockPriceFlatDay(beg_t, end_t)
区间平盘天数=区间收盘价=昨收的天数
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Integer
示例
//返回SZ000002(万科A)从20110801到20110901的区间平盘天数
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockPriceFlatDay(beg_t,end_t);
//结果:1
stockPriceUpDay(beg_t, end_t)
区间上涨天数=区间收盘价>昨收的天数
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Integer
示例
//返回SZ000002(万科A)从20110801到20110901的区间上涨天数
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockPriceUpDay(beg_t,end_t);
//结果:9
stockPriceZd(beg_t, end_t)
区间涨跌金额 = 截止日收盘价 - 前收盘价
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110801到20110901的区间涨跌金额
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockPriceZd(beg_t,end_t);
//结果:-0.01
stockTradeDayQk(beg_t, end_t)
区间交易情况
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:TableArray
示例
//返回SZ000002(万科A)从20110820到20110901的区间交易情况
setSysParam(PN_Stock(),'SZ000002');
setSysParam(PN_Cycle(),cy_day());
beg_t:=intToDate(20110820);
end_t:=intToDate(20110901);
return stockTradeDayQk(beg_t,end_t);
//结果:
ctrl+D
stockTradeDays(beg_t, end_t)
区间交易天数
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Integer
示例
//返回SZ000002(万科A)从20110801到20110901的区间交易天数
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockTradeDays(beg_t,end_t);
//结果:24
stockTransactionGeneral(end_t, _type)
区间成交概况
| 参数 | 类型 | 说明 |
|---|---|---|
end_t |
TDateTime | 日期类型,截止日期 |
_type |
Integer | 整数类型,返回类型 |
返回:TableArray
示例
//指定日期为20110901,返回SZ000002(万科A)本周的区间成交概况
setSysParam(PN_Stock(),'SZ000002');
end_t:=intToDate(20110901);
return stockTransactionGeneral(end_t,0);
//结果:
stockVolSum(beg_t, end_t)
区间成交量(手)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110801到20110901的区间成交量(手)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockVolSum(beg_t,end_t);
//结果:9369959.94
stockVolPercent(beg_t, end_t)
区间成交股数占市场总成交股数比例(%)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110801到20110901的区间成交股数占市场总成交股数比例(%)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockVolPercent(beg_t,end_t);
//结果:0.0076
stockZdValue(beg_t, end_t)
区间波动值= 区间最高-区间最低
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110801到20110901的区间波动值
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockZdValue(beg_t,end_t);
//结果: 0.74
stockZdf(beg_t, end_t)
区间振幅(%)=(区间最高-区间最低)/区间最低*100%(已复权)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110905到20110909的区间振幅(%)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockZdf(beg_t,end_t);
//结果:3.1447
stockZf(beg_t, end_t)
区间涨幅(%)=(截止日收盘价-前收盘价) /前收盘*100%(已复权)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110905到20110909的区间涨幅(%)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockZf(beg_t,end_t);
//结果:-0.2469
stockMaxRateDate(beg_t, end_t)
区间最大涨幅发生日期
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Integer
示例
//返回SZ000002(万科A)从20110905到20110909的区间最大涨幅发生日期
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockMaxRateDate(beg_t,end_t);
//结果:20110909
stockMaxDownDate(beg_t, end_t)
区间最大跌幅发生日期
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Integer
示例
//返回SZ000002(万科A)从20110905到20110909的区间最大跌幅发生日期
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockMaxDownDate(beg_t,end_t);
//结果:20110906
stockHighAmountDate(beg_t, end_t)
区间最高成交金额发生日期
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Integer
示例
//返回SZ000002(万科A)从20110905到20110909的区间最高成交金额发生日期
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockHighAmountDate(beg_t,end_t);
//结果:20110907
stockHighVolDate(beg_t, end_t)
区间最高成交量发生日期
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Integer
示例
//返回SZ000002(万科A)从20110905到20110909的区间最高成交量发生日期
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockHighVolDate(beg_t,end_t);
//结果:20110907
stockAveAmountSum(beg_t, end_t)
区间日平均成交金额(万)=区间成交金额/区间交易天数
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110801到20110901的区间日平均成交金额(万)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110801);
end_t:=intToDate(20110901);
return stockAveAmountSum(beg_t,end_t);
//结果:32392.6001
marketTradeDayQkN(beg_t, end_t, n)
市场区间交易情况(N等分)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
n |
integer | 整数,N等分 |
返回:Array,TableArray
示例
//返回市场从20110901到20110930的市场区间交易情况(5等分)
beg_t:=intToDate(20110901);
end_t:=intToDate(20110930);
return marketTradeDayQkN(beg_t,end_t,5);
//结果:
ctrl + D
stockSectionalBuyAmount(beg_t, end_t)
区间资金流向(买)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110905到20110909的区间资金流向(买)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockSectionalBuyAmount(beg_t,end_t);
//结果:619245949.67
stockSectionalSellAmount(beg_t, end_t)
区间资金流向(卖)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110905到20110909的区间资金流向(卖)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockSectionalSellAmount(beg_t,end_t);
//结果:612203117.29
stockSectionalNetBuyAmount(beg_t, end_t)
区间资金流向(净买卖)=区间累计主买金额和-区间累计主卖金额和
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
返回:Real
示例
//返回SZ000002(万科A)从20110905到20110909的区间资金流向(净买卖)
setSysParam(PN_Stock(),'SZ000002');
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
return stockSectionalNetBuyAmount(beg_t,end_t);
//结果:7042832.38
marketTradeDayQkOfStks(beg_t, end_t, stks)
市场区间交易情况
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期类型,开始日期 |
end_t |
TDateTime | 日期类型,截止日期 |
stks |
Table | 数组,证券列表 |
返回:Table
示例
//返回SZ000002(万科A)、IF1109从20110905到20110909的的市场区间交易情况
beg_t:=intToDate(20110905);
end_t:=intToDate(20110909);
stks:=array('SZ000002','IF1109');
return marketTradeDayQkOfStks(beg_t,end_t,stks);
//结果:
ctrl + D
stockZf6(beg_t_time, end_t_time)
时点区间涨幅(%)(已复权),与系统证券pn_stock()、系统时间pn_date(),与系统周期pn_cycle()无关。调用时需注意设置系统参数。
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t_time |
TDateTime | 日期类型,开始日期时间 |
end_t_time |
TDateTime | 日期类型,截止日期时间 |
返回:Real
示例
范例一:
//返回万科A从20110905到20110909的时点区间涨幅(%)-日线。
setSysParam(PN_Stock(),'SZ000002');
beg_t_time:=intToDate(20110905);
end_t_time:=intToDate(20110909);
return stockZf6(beg_t_time,end_t_time);
//结果:-0.25
范例二:
//返回万科A从20110905 9:00到15:00的时点区间涨幅(%)-高频。
setSysParam(PN_Stock(),'SZ000002');
beg_t_time:=strToDateTime("2011-09-05 09:00:00");
end_t_time:=strToDateTime("2011-09-05 15:00:00");
return stockZf6(beg_t_time,end_t_time);
//结果:-0.99
stockvolsum6(begtime, endtime, right)
时点区间成交量 <单位:股>
| 参数 | 类型 | 说明 |
|---|---|---|
begtime |
datetime | datetime,开始时间 |
endtime |
datetime | datetime,截止时间 |
right |
boolean | bool,是否复权 |
返回:real
示例
//统计2020-04-01日,万科A在10点半到10点40时之间的总成交量
setSysParam(pn_stock(),'SZ000002');
return stockvolsum6(20200401.1030T,20200401.1040T);
//结果:4425788
stockamountsum6(begtime, endtime)
时点区间成交金额<单位:万元>
| 参数 | 类型 | 说明 |
|---|---|---|
begtime |
datetime | datetime,开始时间 |
endtime |
datetime | datetime,截止时间 |
返回:real
示例
//统计2020-04-01日,万科A在10点半到10点40时之间的总成交金额
setSysParam(pn_stock(),'SZ000002');
setSysParam(pn_rate(),0);//不复权
return stockamountsum6(20200401.1030T,20200401.1040T);
//返回:11812.18784
stockHsl6(begtime, endtime)
指定时间段内换手率,该函数与系统参数证券相关。
| 参数 | 类型 | 说明 |
|---|---|---|
begtime |
TDateTime | 日期时间类型,开始时间 |
endtime |
TDateTime | 日期时间类型,截止时间 |
返回:real
示例
//计算20-04-01日,万科A在9点45到11点半之间的换手率(%)
setSysParam(pn_stock(),'SZ000002');
return stockHsl6(20200401.0945T,20200401.1130T);
//结果:0.471966643888417
stockZdf6(begtime, endtime)
时点区间振幅(%),与系统参数证券相关。
| 参数 | 类型 | 说明 |
|---|---|---|
begtime |
TDateTime | 日期时间类型,开始时间 |
endtime |
TDateTime | 日期时间类型,截止时间 |
返回:real
示例
//计算华联综超在2020-4-1日9点45分至11点半区间的振幅(%)
setSysParam(pn_stock(),'SH600361');
return stockZdf6(20200401.0945T,20200401.1130T);
//结果:4.86111111111111
stockmaxratedate6(begtime, endtime)
区间最高价发生时间
| 参数 | 类型 | 说明 |
|---|---|---|
begtime |
datetime | datetime,开始时间 |
endtime |
datetime | datetime,截止时间 |
返回:string别名:时点区间最大涨幅发生时间
示例
//获取华联综超在2020-4-1日9点45分至11点半区间的最大涨幅首次发生的时间
setSysParam(pn_stock(),'SH600361');
return stockmaxratedate6(20200401.0945T,20200401.1130T);
//返回:2020-04-01 09:45:00
stockmaxdowndate6(begtime, endtime)
区间最低价第一次发生的时间
| 参数 | 类型 | 说明 |
|---|---|---|
begtime |
datetime | datetime,开始时间 |
endtime |
datetime | datetime,截止时间 |
返回:TDateTime
示例
//获取华联综超在2020-4-1日9点45分至11点半区间的最大跌幅首次发生的时间
setSysParam(pn_stock(),'SH600361');
return stockmaxdowndate6(20200401.0945T,20200401.1130T);
//返回:2020-04-01 09:56:52
stockzf7(begt, endt)
区间涨幅(%)-适用于期货期权
| 参数 | 类型 | 说明 |
|---|---|---|
begt |
date | 开始日期 |
endt |
date | 结束日期 |
返回:real
stockavgclose(begt, endt)
mean(close)指定时间段内区间平均收盘
| 参数 | 类型 | 说明 |
|---|---|---|
begt |
date | 开始日期 |
endt |
date | 截止日期 |
返回:real
markettradedayqk5(begt, endt)
A股市场、港股市场、沪深港通板块获取市场交易日序列。该函数仅从交易日历表获得市场交易日。系统参数:市场指数代码。
| 参数 | 类型 | 说明 |
|---|---|---|
begt |
date | date,开始日期 |
endt |
date | ,截止日期 |
返回:array
示例
//取得港股市场在20250701-20250730的交易日序列,执行日期为20250630
setSysParam(PN_Stock(),"HKHSI001");
return markettradedayqk5(20250701t,20250730t);
ctrl+d
indexnhvixqk2(begt, endt)
获取区间南华指数波动率
| 参数 | 类型 | 说明 |
|---|---|---|
begt |
date | 开始日 |
endt |
date | 截止日 |
返回:real
示例
//获取"NHECI"南华能化指数20200901到20200928的波动率。
setSysParam(pn_stock(),"NHECI");
return indexnhvixqk2(20200901T,20200928T);
执行结果:
indexCapitalFlow(index_id, begt, endt)
指数资金流向。(单位:元)
| 参数 | 类型 | 说明 |
|---|---|---|
index_id |
String | 字符串,指数代码 |
begt |
Tdate | 日期,开始日 |
endt |
TDate | 日期,截止日 |
返回:Real
示例
//返回沪深300在2021年11月12日的资金流向情况
return indexCapitalFlow('SH000300',20211112T,20211112T);
stockMaxDrawDownDatas(beg_t, end_t)
返回指定证券区间最大回撤数据,与系统参数(证券代码)相关。
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
Date | 日期类型,开始时间 |
end_t |
Date | 日期类型,截止时间 |
返回:Array
示例
//返回紫金矿业在区间2019-06-24至2021-11-23的最大回撤数据
setSysParam(pn_stock(),'SH601899');
return stockMaxDrawDownDatas(20190624T,20211123T);
//结果:
stockMaxDrawDown2(beg_t, end_t)
返回指定证券区间最大回撤幅度,与系统参数(证券代码)相关。
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
Date | 日期类型,开始时间 |
end_t |
Date | 日期类型,截止时间 |
返回:Real
示例
//返回紫金矿业在区间2019-06-24至2021-11-23的最大回撤幅度
setSysParam(pn_stock(),'SH601899');
return stockMaxDrawDown2(20190624T,20211123T);
//结果:-36.02
stockZf8(beg_t, endt)
区间涨幅(%)(适用多资产),与系统参数(股票)相关。
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期。开始日期 |
endt |
TDateTime | 日期。结束日期 |
返回:Real
示例
// "SH204007"在20230901T至20230907T收益率
setSysParam(PN_Stock(),"SH204007");
begt:=20230901T;
endt:=20230907T;
return stockZf8(beg_t:t_date_time,end_t:t_date_time);
//结果:0.0398
repoZf(beg_t, endt)
回购区间收益率(%),与系统参数(股票)相关。
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期。开始日期 |
endt |
TDateTime | 日期。结束日期 |
返回:Real
示例
// "SH204007"在20230901T至20230907T收益率
setSysParam(PN_Stock(),"SH204007");
begt:=20230901T;
endt:=20230907T;
return repoZf(beg_t:t_date_time,end_t:t_date_time);
//结果:0.0398
indexCapitalFlowData(index_id, begt, endt)
指数资金流向数据,与系统参数(周期)相关。支持高频,
| 参数 | 类型 | 说明 |
|---|---|---|
index_id |
String | 字符串。指数代码 |
begt |
TDateTime | 日期。开始日期 |
endt |
TDateTime | 日期。结束日期 |
返回:Array
示例
//SH000300在20230403资金流向数据
setSysParam(PN_Cycle(),cy_1m());
return indexCapitalFlowData("SH000300",20230403T,20230403T);
dateOfStockHigh(beg_t, end_t)
创阶段新高日期,与系统参数(证券代码)相关。
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期。开始日期 |
end_t |
TDateTime | 日期。截止日期 |
返回:Real
示例
setSysParam(pn_stock(),'SZ000002');
return dateOfStockHigh(20230101T,20231231T);
//结果:44932(2023-01-06)
dateOfStockLow(beg_t, end_t)
创阶段新低日期,与系统参数(证券代码)相关。
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期。开始日期 |
end_t |
TDateTime | 日期。截止日期 |
返回:Real
示例
setSysParam(pn_stock(),'SZ000002');
return dateOfStockLow(20230101T,20231231T);
//结果:45287(2023-12-27)
stockZfNoG(beg_t, endt)
区间涨幅(股权分置不复权)(%),与系统参数(股票)相关。
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期。开始日期 |
endt |
TDateTime | 日期。结束日期 |
返回:Real
示例
setSysParam(pn_stock(),'SZ000002');
return stockZfNoG(20230101T,20231231T);
//结果:-39.57
stockMaxDrawDown(beg_t, endt)
区间最大回撤(%),与系统参数(证券代码,时间)相关。
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期。开始日期 |
endt |
TDateTime | 日期。结束日期 |
返回:Real
示例
// "SZ399997"在2021-05-01至2021-09-15区间最大回撤(%)
setSysParam(pn_stock(),"SZ399997");
return stockMaxDrawDown(20210501T,20210915T);
//结果:-32.5
marketTradedayQk3(begt, endt)
获取市场交易日序列(包括历史和未来预估的)
| 参数 | 类型 | 说明 |
|---|---|---|
begt |
date | date 开始日期 |
endt |
date | date 截止日期 |
返回:array
示例
//取得期货指数在20250701-20250730的交易日序列,执行日期为20250630
setSysParam(PN_Stock(),"QI000001");
setSysParam(pn_cycle(),cy_day());
return marketTradedayQk3(20250701t,20250730t);
结果:
indexPjCj(begttime, endttime, price_type)
区间指数平均成交价(明细数据)。与系统参数(证券代码)相关。
| 参数 | 类型 | 说明 |
|---|---|---|
begttime |
TDatetime | 日期时间。开始日期时间。 |
endttime |
TDatetime | 日期时间。截止日期时间。 |
price_type |
Integer | 用户自定义。平均价算法,取值如下: |
返回:Real
示例
// 沪深300指数20241108 10:00的5分钟平均成交价(成交量加权平均)
setSysParam(pn_stock(),"SH000300");
return indexPjCj(20241108.0955T,20241108.10T,1);
// 结果:4163.1544
stockMaxDrawUp(beg_t, end_t)
区间最大上涨(%),与系统参数(证券代码、时间)相关。
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
Date | 日期。开始日期。 |
end_t |
Date | 日期。结束日期。 |
返回:Real
示例
// "SZ399997"在2021-05-01至2021-09-15区间最大上涨(%)
setSysParam(pn_stock(),"SZ399997");
return stockMaxDrawUp(20210501T,20210915T);
//结果:26.038
stockProfitLossRatio(beg_t, end_t, ctype)
区间盈亏比,跟系统参数(证券代码)相关。
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
Date | 日期。开始日期。 |
end_t |
Date | 日期。结束日期。 |
ctype |
Integer | 用户自定义。计算方式,取值如下: |
返回:Real
示例
// "SH000300"在20241128T的20241101T至20241128T区间盈亏比(涨跌幅-算术平均)
setSysParam(pn_stock(),"SH000300");
setSysParam(pn_date(),20241128T);
n:=20;
return stockProfitLossRatio(20241101T,20241128T,0);
//结果:1.1928
stockWinRate(beg_t, end_t)
区间胜率(%),跟系统参数(证券代码、时间)相关。
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
Date | 日期。开始日期。 |
end_t |
Date | 日期。结束日期。 |
返回:Real
示例
// "SH000300"在20241128T的20241101T至20241128T区间胜率
setSysParam(pn_stock(),"SH000300");
return stockWinRate(20241101T,20241128T);
//结果:45
stockObtainAllSpecialTreatmentDates()
获取个股所有的ST日期区间
返回:array
示例
// 获取股票"SZ000005"所有的ST日期区间
setSysParam(pn_stock(),"SZ000005");
return stockObtainAllSpecialTreatmentDates();
stockCumulativeReturn(beg_t, end_t, index_id)
指定时间段内股票对指数的日超额收益的复合收益率(%)
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
TDateTime | 日期,开始日期 |
end_t |
TDateTime | 日期,截止日期 |
index_id |
String | 指数,标的指数 |
返回:实数
示例
// "SH600000"在2025-01-01到2025-12-31对沪深300指数SH000300超额收益的复合收益率
setSysParam(pn_stock(),"SH600000");
beg_t:=20250101T;
end_t:=20251231T;
index_id:="SH000300";
return stockCumulativeReturn(beg_t,end_t,index_id); //结果:4.51
stockMaxDrawDownOrUpDatas(beg_t, end_t, updn_type)
区间最大回撤/上涨数据,与系统参数(证券代码、时间)相关。
| 参数 | 类型 | 说明 |
|---|---|---|
beg_t |
Date | 日期。开始日期。 |
end_t |
Date | 日期。结束日期。 |
updn_type |
Integer | 用户自定义。涨跌标志,取值如下: |
返回:Array
示例
// "SZ399997"在2021-05-01至2021-09-15区间最大回撤数据
setSysParam(pn_stock(),"SZ399997");
return stockMaxDrawDownOrUpDatas(20210501T,20210915T);