解题步骤如下: 1.根据提出的问题构造一个简单、适用的概率模型或随机模型,使问题的解对应于该模型中随机变量的某些特征(如概率、均值和方差等),所构造的模型在主要特征参量方面要与实际问题或系统相一致 2 .根据模型中各个随机变量的分布,在计算机上产生随机数,实现一次模拟过程所需的足够数量的随机数。通常先产生均匀分布的随机数,然后生成服从某一分布的随机数,方可进行随机模拟试验。 3. 根据概率模型的特点和随机变量的分布特性,设计和选取合适的抽样方法,并对每个随机变量进行抽样(包括直接抽样、分层抽样、相关抽样、重要抽样等)。 4.按照所建立的模型进行仿真试验、计算,求出问题的随机解。 5. 统计分析模拟试验结果,给出问题的概率解以及解的精度估计。
%run.mExpReturn = [0.0246 0.0189 0.0273 0.0141 0.0311]/100; %期望收益Sigmas = [0.9509 1.4259, 1.5227, 1.1062, 1.0877]/100;%标准差Correlations = [1.0000 0.4403 0.4735 0.4334 0.6855 0.4403 1.0000 0.7597 0.7809 0.4343 0.4735 0.7597 1.0000 0.6978 0.4926 0.4334 0.7809 0.6978 1.0000 0.4289 0.6855 0.4343 0.4926 0.4289 1.0000];%相关系数ExpCov = corr2cov(Sigmas, Correlations);%协方差StartPrice = 100;%初始价格NumObs = 504;NumSim = 2;RetIntervals = 1;NumAssets = 5;%开始模拟randn('state', 0);RetExact = portsim(ExpReturn, ExpCov, NumObs, RetIntervals, NumSim);Weights = ones(NumAssets, 1)/ NumAssets;PortRetExact = zeros(NumObs, NumSim);for i = 1:NumSim PortRetExact(:, i) = RetExact(:,:,i)*Weights;endPortExact = ret2tick(PortRetExact, repmat(StartPrice, 1, NumSim));plot(PortExact, '-r');