如何处理资产数据在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
请建议我乳清资产数据包括库存与零不工作。
提前感谢您的任何评论。
3评论
Doheon李
Doheon李 2021年8月27日
谢谢你,彼得和布伦达,
我和MATLAB是2021,还有这问题。而不是zeoring NaN值在一个表中包含historica股票价格,我和1平台以及取代NaN,接近于零,它将正常工作。也就是说,用以下代替第三行,
价格:4)= ie10;
谢谢你的评论。:)

登录置评。

答案(0)

类别

找到更多的在投资组合优化和资产配置帮助中心文件交换

s manbetx 845


释放

R2021a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!