oV := BackupSystemParameters2();
//假设组合为申万采掘,先计算其下个股的区间残差标准差
stockArr := getbk('申万采掘');
IndexId := 'SH000001';
BegT := inttodate(20110101);
EndT := inttodate(20110630);
t := array();
n := 0;
for i:=0 to length(stockArr)-1 do
begin
stockid := stockArr[i];
setsysparam(pn_stock(),stockid);
if not IsStockGoMarket(begt) then continue;
tmp := StockBetaAlpha2(IndexId,BegT,EndT);
t[n]['代码'] := stockid;
t[n]['名称'] := stockname(stockid);
t[n]['Residual'] := tmp['Residual'];
n++;
end
//按总股本加权,计算组合残差标准差
t2 := pf_percent(t[:,'代码'],EndT,0);
t := select [1].['Residual'],[2].['比例(%)'] from t
left join t2 with([1].['代码'] on [2].['代码'])
end;
return StocksResidual(t[:,'Residual'],t[:,'比例(%)']);
//结果:0.24