范例1:取上证50成份股在指定时间内的收盘价、涨幅等
endt:=20190513T;
stockArr:=getbkbydate('SH000016',endt);
setsysparam(pn_cycle(),cy_day());
setsysparam(pn_date(),endt);
return select thisrow as '代码',stockname(thisrow) as '名称',
spec(datetostr(sp_time()),thisrow) as '当前交易日',
spec(close(),thisrow) as '收盘价',
spec(stockzf3(),thisrow) as '涨幅(%)',
spec(StockHsl3(),thisrow) as '换手率(%)'
from stockArr end;
其中,行情相关函数查找请参考:FAQ:
Close
范例2:取沪深300盘中当时的盘口数据
stockArr:=getbk('沪深300');
re:=array();
for i:=0 to length(stockArr)-1 do
begin
setsysparam(pn_stock(),stockArr[i]);
re[i,'StockID']:=stockArr[i];
re[i,'time']:=datetimetostr(rd(-1));
re[i,'price']:=rd(6);
re[i,'vol']:=rd(8);
re[i,'amount']:=rd(7);
re[i,'5分钟涨幅']:=rd(9);
re[i,'量比']:=rd(22);
end
return re;
其中,盘口数据说明请参考:FAQ:
范例3:取上海期权盘中相关指标
QQArr:=getbk('上海期权');
FundID:="SH510050";
QQArr:=array(FundID) union2 QQArr;
ret:=array();
setsysparam(pn_cycle(),cy_day());//日线 -风险指标
for i:=0 to length(QQArr)-1 do
begin
StockID:=QQArr[i];
setsysparam(pn_stock(),StockID);
ret[i,'SID']:=StockID;
ret[i,'time']:=timetostr(rd(-1));
ret[i,'price']:=rd(6);
if isFund(StockID) then
begin
ret[i,'年化波动率']:=OP_HV(StockID,today());
continue;
end
ret[i,'行权价']:=base(720010);
ret[i,'到期天数']:=OP_GetDaysMaturity(today(),inttodate(base(720015)));
ret[i,'无风险年化收益率']:=OP_GetRiskFreeRate(today(),0);
greeks:=OP_Greeks(); //用期权现价得到期权隐含波动率, 通过隐含波动率来计算五个风险指标。
ret[i,'IV']:=greeks[0,'IV'];//隐含波动率
ret[i,'Delta']:=greeks[0,'Delta'];
ret[i,'Gamma']:=greeks[0,'Gamma'];
ret[i,'Vega']:=greeks[0,'Vega'];
ret[i,'Theta']:=greeks[0,'Theta'];
ret[i,'Rho']:=greeks[0,'Rho'];
end
return ret;
其中,期权风险指标相关说明请参考:FAQ:
2023-04-17-应用专题-期权系列03:期权行情及风险指标(更新版)