A:天软目前提供计算夏普比率的公用模型常用的有下面两个:
1、pf_SharpRatio,根据涨幅序列计算夏普比率,具体用法可参考:FAQ:
pf_SharpRatio
2、FI_Sharpe_ratio,对收益率序列(一维),或收益率矩阵(二维)每列进行计算夏普比率,且可选择进行年化处理。
下面示例主要展示FI_Sharpe_ratio的使用:
范例01:取个股120日的年化夏普比率
stockid:="SH600519";
N:=120; //N日
endt:=20260320T;
setsysparam(pn_stock(),stockid); //当前证券
setsysparam(pn_cycle(),cy_day()); //周期-日线
setsysparam(pn_date(),endt); //截止日
dt:= Nday(N,"date",sp_time(),"涨幅(%)",stockzf3());
//年化夏普比率
rf:=2.25; //无风险收益率
YearNum:=250; //年化周期---为0时,不年化
sharp1:=FI_Sharpe_ratio(dt[:,"涨幅(%)"],rf,YearNum);
return sharp1;
返回:-26.3313997810964
范例02:计算多个股票的年化夏普比率
stocks:=array("SH600519","SH000905","SH000852");
N:=120; //N日
endt:=20260320T;
setsysparam(pn_stock(),"SH000001"); //市场基准为时间序列
setsysparam(pn_cycle(),cy_day()); //周期-日线
setsysparam(pn_date(),endt); //截止日
//取组合个券收益率序列
dt:=array();
for i,stockid in stocks do
dt[stockName(stockid)]:=Nday3(N,spec(stockzf3(),stockid));
dt:=`dt;//转置,计算时需要按列计算
rf:=2.25; //无风险收益率
YearNum:=250; //年化周期---为0时,不年化
return FI_Sharpe_ratio(dt,rf,YearNum);
返回结果:带下标的一维数组
