帮助我的模拟结果不会改变如果我改变号码

2视图(30天)
这是我的代码,
如果真正的
%的代码
结束
%函数VaR = MC (NbTraj pα)
%函数计算的风险价值
%两个债券组成的投资组合。
NbTraj = 10000;%的模拟。
p = 0.5;%重量为每个键。
α= 0.99;%的信心水平
%的识别数据文件
fid = fopen (“SpotRates.txt”,“rt”);
% SpotRates.txt阅读的数据文件
Data = fscanf (fid检测器,' % % % f % f % % % f % f % f ');
%的源文件。
文件关闭(fid);
%的数据分割成日期和不同的利率
M1 =数据(1:9:大小(数据));%即期汇率1个月
M3 =数据(9:尺寸(数据));%即期汇率3个月
M6 =数据(3:9:尺寸(数据));%即期汇率6个月
日元=数据(9:尺寸(数据));%即期汇率1年
Y2 =数据(9:尺寸(数据));% 2年即期汇率
Y3 =数据(6:9:尺寸(数据));% 3年即期汇率
日元=数据(七章:尺寸(数据));% 5年即期汇率
日元=数据(9:尺寸(数据));%即期汇率10年
Y30 =数据(9:9:尺寸(数据));%即期汇率30年
%的利率
M6 Data1 = (M1, M3, Y1, Y2, Y3,日元,日元,Y30);
%初始利率
ActualRates = Data1(大小(Data1 9):);
%的利率正常化
i = 1:9
(我)=平均值(Data1 (:, i));
偏差(i) =性病(Data1 (:, i));
Data1 (:, i) = (Data1 (:, i)身高是(我))/偏差(我);
结束
%的标准偏差一个月的时间。
%为10天,我们想要一个风险价值除以
% sqrt(3)自1月= 3 * 10天。
偏差=偏差/√3);
%的协方差矩阵的特征向量和特征值
%向量vi也可以由函数返回
% eigs如果六世是一个特征向量。
(V, E) = eigs (x (Data1), 3);
%组件的决心。
PC1 = V (: 1);
PC2 = V (:, 2);
生物= V (:, 3);
%图的主要组件。
情节(1:1:9)√(E (1,1)) * PC1,“r”(1:1:9),sqrt (E (2, 2)) * PC2,“b”,
(1:1:9),sqrt (E(3、3)) *生物,“米”);
Weight1 = p;
Weight2 = 1-Weight1;
%初始参数
CouponRate1 = 0.06;
FaceValue1 = 1000;
CouponRate2 = 0.08;
FaceValue2 = 1000;
coupon1 = CouponRate1 * FaceValue1;
coupon2 = CouponRate2 * FaceValue2;
%向量拟随机变量
u1 = 0 (NbTraj, 1);
u2 = 0 (NbTraj, 1);
%模拟拟随机数
l = 1: NbTraj
u1 (l) = norminv (VanDerCorput (l, 3));
u2 (l) = norminv (VanDerCorput (l, 5));
结束
%现货率矩阵
NbTraj率= 0(9日);
%循环产生的利率
j = 1: NbTraj
i = 1:9
%计算利率。我们首先乘的符号
%的组件来积极修复它们。这将允许
%如果需要我们复制完美结果。
率(i, j) = ActualRates(我)+
偏差(i) * (sqrt (E (1,1)) * u1 (j, 1) * V(我,1)*标志(V (1,1)) +
√E (2, 2) * u2 (j, 1) * V(我,2)*标志(V (1、2)));
结束
结束
%现货价初始值
M6 = ActualRates (1、3);%即期汇率6个月
日元= ActualRates (1、4);%即期汇率1年
Y2 = ActualRates (1、5);% 2年即期汇率
Y3 = ActualRates (1,6);% 3年即期汇率
日元= ActualRates (7);% 5年即期汇率
%线性插值
Y1_5 = (Y1 + Y2) / 2;%即期汇率1.5年
Y2_5 = (Y2 + Y3) / 2;%即期汇率2.5年
Y3_5 = (3 * Y3 +日元)/ 4;%即期汇率3.5年
Y4 = (Y3 +日元)/ 2;%即期汇率4年
Y4_5 =(3 *日元+ Y3) / 4;%即期汇率4.5年
%确定初始债券的价格。
price1 = (coupon1/2) / (1 + (M6/100)) ^ (1/2) + (coupon1/2) / (1 + (Y1/100)) ^ 1 +
(coupon1/2) / (1 + (Y1_5/100)) ^ (3/2) + (coupon1/2) / (1 + (Y2/100)) ^ 2 +
(FaceValue1 + (coupon1/2)) / (1 + (Y2_5/100)) ^ (5/2);
price2 = (coupon2/2) / (1 + (M6/100)) ^ (1/2) + (coupon2/2) / (1 + (Y1/100)) ^ 1 +
(coupon2/2) / (1 + (Y1_5/100)) ^ (3/2) + (coupon2/2) / (1 + (Y2/100)) ^ 2 +
(coupon2/2) / (1 + (Y2_5/100)) ^ (5/2) + (coupon2/2) / (1 + (Y3/100)) ^ 3 +
(coupon2/2) / (1 + (Y3_5/100)) ^ (7/2) + (coupon2/2) / (1 + (Y4/100)) ^ 4 +
(coupon2/2) / (1 + (Y4_5/100)) ^ (9/2) +
(FaceValue2 + (coupon2/2)) / (1 + (Y5/100)) ^ 5;
%组合的初始价格。
InitialPrice = Weight1 * price1 + Weight2 * price2;
%循环计算投资组合的可能进化的价格。
k = 1: NbTraj
M6 =利率(3 k);%即期汇率6个月
日元=利率(4 k);%即期汇率1年
Y2 =利率(5 k);% 2年即期汇率
Y3 =利率(6 k);% 3年即期汇率
日元=利率(7 k);% 5年即期汇率
Y1_5 = (Y1 + Y2) / 2;%即期汇率1.5年
Y2_5 = (Y2 + Y3) / 2;%即期汇率2.5年
Y3_5 = (3 * Y3 +日元)/ 4;%即期汇率3.5年
Y4 = (Y3 +日元)/ 2;%即期汇率4年
Y4_5 =(3 *日元+ Y3) / 4;%即期汇率4.5年
%两种不同债券的估值
price1 = (coupon1/2) / (1 + (M6/100)) ^ (1/2) + (coupon1/2) / (1 + (Y1/100)) ^ 1 +
(coupon1/2) / (1 + (Y1_5/100)) ^ (3/2) + (coupon1/2) / (1 + (Y2/100)) ^ 2 +
(FaceValue1 + (coupon1/2)) / (1 + (Y2_5/100)) ^ (5/2);
price2 = (coupon2/2) / (1 + (M6/100)) ^ (1/2) + (coupon2/2) / (1 + (Y1/100)) ^ 1 +
(coupon2/2) / (1 + (Y1_5/100)) ^ (3/2) + (coupon2/2) / (1 + (Y2/100)) ^ 2 +
(coupon2/2) / (1 + (Y2_5/100)) ^ (5/2) + (coupon2/2) / (1 + (Y3/100)) ^ 3 +
(coupon2/2) / (1 + (Y3_5/100)) ^ (7/2) + (coupon2/2) / (1 + (Y4/100)) ^ 4 +
(coupon2/2) / (1 + (Y4_5/100)) ^ (9/2) +
(FaceValue2 + (coupon2/2)) / (1 + (Y5/100)) ^ 5;
%计算投资组合的价格对于这个场景
PortfolioPrice = Weight1 * price1 + Weight2 * price2;
vectPrice (k, 1) = PortfolioPrice;
结束
%排序和VaR计算价格。
vectPrice =南(NbTraj, 1);
vectPrice = (vectPrice)进行排序;
VaR = (InitialPrice-vectPrice(地板(α/ 100 * NbTraj)));
%函数代表= VanDerCorput (n, b)
%函数生成Van Der Corput序列构建哈尔顿序列。
n = 2;%指数序列的元素。
b = 6;%分解的基础。
bn = 0;
j = 0;
n ~ = 0
bn = bn +国防部(n, b) / b ^ (j + 1);
n =地板(n / b);
j = + 1;
结束
代表= bn;
如果真正的
%的代码
结束
我的数据是这个SpotRates。txt文件包含
当我改变的价值:1。NbTraj = 10000;%的模拟。2。α= 0.99;%置信水平的任何价值
然后我评估代码,Var的结果不会改变,为什么?

答案(0)

类别

找到更多的在金融数据分析帮助中心文件交换

社区寻宝

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

开始狩猎!