oV := BackupSystemParameters2();
//假设组合为申万采掘,先计算其下个股的区间收益率
stockArr := getbk('申万采掘');
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 := stockzf(BegT,EndT);
t[n]['代码'] := stockid;
t[n]['名称'] := stockname(stockid);
t[n]['涨幅(%)'] := tmp;
n++;
end
//按总股本加权,计算组合收益率
t2 := pf_percent(t[:,'代码'],EndT,0);
t := select [1].['涨幅(%)'],[2].['比例(%)'] from t
left join t2 with([1].['代码'] on [2].['代码'])
end;
return StocksExpectedReturn(t[:,'涨幅(%)'],t[:,'比例(%)']); //结果:3.8980