如何处理资产数据在0当val runBacktest的一部分吗?
1视图(30天)
显示旧的评论
val backtestStrategy”功能时,‘backtestEngine’,和‘runBacktest’,我有一个问题与资产数据包括0。
下面的代码就是一个例子,同样重量的4重新平衡投资组合的股票每20天。下面的代码是expeted。
% %创建一个伪股价表。
d = datetime (“2020-01-01”):caldays (1): datetime (“2020-12-31”);%数组创建一个日期
价格=兰德(元素个数(d), 4);%创建一个伪股票价格
%的价格(:,4)= 0;
priceTT = array2timetable(价格,“RowTimes”d ',…
“VariableNames”,{“Stock_A”,“Stock_B”,“Stock_C”,“Stock_d”});
% %创建val策略同样重量的所有股票和调整每20天
nAsset =大小(priceTT, 2);
nAsset initial_weights = 1 (1) / nAsset;
initial_weights equalWeightFn = @ (~ ~);
策略= backtestStrategy (“EqualWeighting”equalWeightFn,…
“InitialWeights”initial_weights,…
“TransactionCosts”0,…
“RebalanceFrequency”,20);
% %创建一个val引擎和val运行。
val = backtestEngine(策略);
bt = runBacktest (val, priceTT);
% % summry val的结果。
总结(bt)
然而,当“Stock_d”被替换为零的价格(请取消第三行在这个例子中,“价格(:,4)= 0”),所有的val结果如下。
EqualWeighting
是_____________
TotalReturn南
SharpeRatio南
波动南
AverageTurnover南
MaxTurnover0
AverageReturn南
MaxDrawdown南
AverageBuyCost0
AverageSellCost0
请建议我乳清资产数据包括库存与零不工作。
提前感谢您的任何评论。