我是Matlab的初学者用户,请你帮我解释如何将其编写为代码。 我的意见是:
port_returns - 196x1列向量
VaR - 标量
variance_portfolio - 标量
port_returns=returns*weights';
VaR=1.65*sqrt(variance_portfolio);
我想编写一个代码,该代码采用 port_returns值,小于VaR 值并对其进行平均。
有人可以帮我吗?
提前谢谢!
答案 0 :(得分:1)
假设port_returns
是一个数组(向量),您可以使用以下代码获取小于VaR
的值:less_than_VaR = find(port_returns < VaR);
然后使用{{对它们取平均值非常简单1}}
参考:
答案 1 :(得分:1)
这应该可以解决问题:
sum(port_returns(port_returns<VaR))/length(port_returns(port_returns<VaR))
,其中
sum(port_returns(port_returns<VaR))
发现port_returns中的所有元素都小于VaR并将它们相加,
然后除以小于VaR的元素数:
port_returns(port_returns<VaR)