第8章蒙特卡洛模拟金融衍生产品定价_第1页
第8章蒙特卡洛模拟金融衍生产品定价_第2页
第8章蒙特卡洛模拟金融衍生产品定价_第3页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第8章蒙特卡洛模拟金融衍生产品定价本章介绍蒙特卡洛模拟期权定价的内容, 要求读者掌握随机数生成方式,了 解蒙特卡洛定价就是模拟风险中性测度下标的资产的运动过程, 学会蒙特卡洛方 法模拟欧式期权定价,掌握提高模拟精度的常用方法。§随机模拟根本原理1977 年,菲力埔伯耶勒(Phelim Boyle)提出了模拟方法求解金融资产定价问题,其想法是假设资产价格分布是随机波动,如果知道了这个波动过程,就可以通过随机模拟不同的路径,每做完一次模拟,就产生了一个最终资产价值, 再进行假设干次这样的过程,那么所得到的结果就是一个最终的资产价值分布,从这个分布中我们可以得到期望的资产价格。随机数生成函

2、数1 均匀分布随机数生成函数MATLAB的unidrnd函数可以生成1到N的均匀分布随机数。调用方式R=u ni drnd(N);R=u ni drnd(N,m);R=un irnd(N,m, n);其中,N所要生成的随机数个数,m确定输出随机矩阵R的行数,n确定输出随机 矩阵R的列数2 生成服从连续均匀分布的随机数如果需要生成服从连续分布的随机数,那么需调用un ifrnd函数,其调用格式为调用方式1R= unifrnd(A ,B)生成位于A、B之间的一个随机数。调用方式2R= unifrnd(A,B,m)生成位于A、B之间的随机数。m=m1,m2表示行数列数。调用方式3R= un ifrn

3、d(A,B,m, n),m,n分别表示行数、列数un ifrnd(1,2,5,6),u nifrnd(1,2,5,6)8. 1. 2生成正态分布随机数调用方式R=no rmrnd(mu,sigma)R=no rmrnd(mu,sigma,m)R=no rmrnd(mu,sigma,m, n)8. 1. 3特定分布随机数发生器MATLAB中有统一格式的随机数发生器,函数名称为random,可生成许多服从 不同分布的随机数。y=ra ndom(' name',A1,A2,A3,m, n)表 生成特定分布的随机数函数参数表beta 分布:beta,二项分布:bi no,卡方:chi2

4、,指数分布:exp,F-分布:f, Gamma:gamLog no rmal:log n, un iform:u nif;Poiss on:poiss,T:t;Normal->n orm;Noncen tral F ->ncf, Noncen tral->nct8. 1. 4蒙特卡洛模拟方差削减技术蒙持卡洛模拟精度与模拟次数密切相关, 模拟次数越高其精度越高,但是次 数增加又会增加计算量。实践证明明减少模拟方差可以提高稳定性,减少模拟次 数。有很多种方法可以减小方差,如对偶变量技术、控制变量技术、分层抽样、 矩匹配、条件蒙特卡洛模拟等,但最简单并且应用最为广泛的是对偶变量技术

5、与 控制变量技术。对偶变量技术就是先随机抽样得到一组数据,然后以此为根底构造出另一组 对偶变量。下面以正态分布为例介绍对偶变量技术。 首先从正态分布变量中随机 抽取N个样本值,分别为Zi(i 1,2,N),由此可以得到N个模拟值Ci(i 1,2,.,N),那么衍生证券蒙特卡洛估计值为C N iCi 以Zi(i 1,2,.,N)为根底,构造对偶随机数ZiZ ,乙是与Zi相互对偶的随机数,由正态分布的性质知,ZiZi(i 1,2,., N)也是服从正态分布,由对偶随机数生成的估计值为Z1CCiN i对C和C取平均得到新的估计1 ? 1 Cic (C C)2 N i 2如果随机抽样的样本Zi(i 1

6、,2,3,., N)模拟得到的估计值比拟小,那么与之对偶的随机抽样样本iZi(i 1,2,.,N)得到的估计值可能会偏大,二者的平均值就可能会接近真实值。如果covGC) 0,那么varCi Ci2打Ci)如也)从上面的不等式可以看出,利用对偶技术可以增加估计稳定性,提高了估计精确 度。随机模拟控制变量技术摔制变量技术就是将与所估计的未知变量密切相关的另一个量的真实值和估计值之间的差异作为控制量,以提高估计精度。在定价实践中,将这两种 衍生证券用相同的随机抽样样本和时间间隔, 实施同样的蒙特卡洛模拟过程,能 够得到两个模拟估计值,以第二种衍生证券真实值与估计值之间的差异作为控制 变量,最后得到

7、第一种衍生证券的蒙特卡洛估计值。假定V1是需要估汁的第一种衍生证券的价值,V2是价值容易估计的第二种衍生证券的价值,第一种证券与第二种证券相似,而 V?1和V?2分别是第一种衍生证 券和第二种衍生证券在同样的随机抽样样本的蒙特卡洛估计值,那么利用控制变量技术得到第一种衍生证券的价格估计值为这里V2 ?2就是控制变量,它实际上是第一种衍生证券的蒙特卡洛模拟的估计 误差,且上述方程的方差之间的关系为var( V)var(?1) var(V2) Zcov&V)如果 var(?2) 2cov(?i,?2),一定有var(ViCl) var(Vi)因此,当两种衍生证券的协方差很大时,或者当两种衍

8、生证券的价格高度相 关时,上述关系是成立的,两种衍生证券的正相关性越强,估计效率越理想。然 的从实际应用的角度看,这种控制变量技术的应用十分有限,因此,下面是更一般的控制变量技术,其控制变量的形式为Vi Vt(V2 V2)方基为var(Vf)ft1K ;1这是关于担制变履系数的二次-】项式、下術的斗标足应够找到豺珠的0便方嘉* A即、晟水.辽时只爰职0 = 就可以保证方瓷、丽叩)疑小.这种挖制变虽技术的缺点里声需姿提前忆道协点差呵恳心的倍息*和这-般茫婆靠经隘实以U方差为var(?1 ) var(?1)2 var(?2) 2 covW)这是关于控制变量系数的二次三项式,下面的目标是能够找到特殊

9、的使方差var(V?i )最小.这时只要取* cov(V;V2)就可以保证方差 var(?.| )最小,这 var(V2)种控制变量技术的缺点是*需要提前知道协方差cov(Vi,?2)的信息,而这一般需要靠经验实现。§蒙持卡洛方法模拟期权定价(编程)考8. 2. 1蒙特卡洛方法模拟欧式期权定价在期权计算中,我们可以利用风险中性的方法计算期权的价格。风险中性定 价形式如下:f erTE(门其中,f是期权的价格,fT是到期日T的现金流,E是风险中性测度。如果知道了风险中性测度就可以模拟全路径,也可模拟终端价格,例如计算障碍期权等路径依赖型期权时可以模拟全路径,而欧式期权可模拟终端价格。如

10、果标的资产服从几何布朗运动dS Sdt SdW那么风险中性定价的关键在于寻找风险中性测度。对于几何布朗运动,可以证明风险中性测度下,标的资产运动过程如下:2St S0 exp r 一 T v T2对于欧式看涨期权,到期日欧式看涨期权现金流如下:max0, S(0)e)p(r - 2/2)T 眉)K其中,K是执行价,r是无风险利率,是标准差,是正态分布的随机变量。对到期日的现金流用无风险利率贴现,就可以知道期权的价格。*( 考)【例8-1】假设股票价格服从几何布朗运动,股票现在价格 S(0) 50,欧式期权 执行价K 52,无风险利率r 0.1,股票波动的标准差sigma 0.4,期权的到期 日

11、T 5/12,试用蒙特卡洛模拟方法计算该期权价格。下面用MATLABS写一个子程序blsmc进行计算function eucall,varprice,ci=blsmc(sO,K,r,T,sigma,Nu)%噱特卡洛方法计算欧式看涨期权的价格% 输入参教% sO:股票价格% K:执行价% r无风险利率% sigma股票波动的标准差% Nu 模拟的次数%输出参数% eucall:欧式看涨期权的价格% varprice模拟期权价格的方差% ci 95%概率保证的期权价格区间randn ('seed',O);%定义随机数发生器种子是0,这样可以保证每次模拟的结果相同nuT=*sigma

12、A2)*T;sit=sigma*sqrt(T);discpayoff=exp(-r*T)*max0,s0*exp( nuT+sit*ra ndn( Nu,l)-K);%期权到期时的现金流eucall,varprice,ci=no rmfit(discpayoff)调用子程序可得到欧式看涨期权价格。c,var,ci=blsmc(50,52,5/12,1000)c =var =ci =从上面的结果可以看到,蒙特卡洛模拟得到的期权价格为,样本正态拟合的 方差为,95%的置信区间为,模拟波动的区间还是很大的我们用了 normfit函数对模拟的结果用正态分布函数进行拟合, 这不是必需 的,主要是为了考察

13、模拟结果的稳定性, 如果不需要考察结果是否稳定, 也可直 接对模拟的结果求均值。此时可将最后一句改为price=mea n( discpayoff)。欧式期权的公式解如下:call,put= blsprice(50,52,5/12,call =put =公式解和模拟值二者之间还是存在较大的差距,增加模拟的次数为10000次时结果如下:c,var,ci=blsmc(50,52,5/12,10000)c =var =ci =模拟结果入,可以看到期权模拟精度有了显著提高,95%勺的置信区间为,,置信区间较1000时大大缩小,模拟可靠性增加。下面用对偶方法计算欧式看涨期权的价格。fun ctio n

14、eucall,varprice,ci=dul_blsmc(s0,K,r,T,sigma,Nu) %3蒙特卡洛方法计算欧式看涨期权的价格(对偶法)% 输入参教% sO:股票价格% K:执行价% r无风险利率% sigma股票波动的标准差% Nu模拟的次数%输出参数% eucall:欧式看涨期权的价格% varprice模拟期权价格的方差% ci 95%概率保证的期权价格区间randn ('seed',0);%定义随机数发生器种子是0,这样可以保证每次模拟的结果相同nuT=*sigmaA2)*T;sit=sigma*sqrt(T);ran d=ra ndn(N u,1);discp

15、ayoff=exp(-r*T)*max(0,s0*exp( nu T+sit*ra nd)-K);discpayoff 1= exp(-r*T)*max(0,s0*exp( nuT+sit*(-1)*ra nd)-K);%期权到期时的现金流duleucall,dulvarprice,dulci=normfit(discpayoff;discpayoff1)调用子程序可得到欧式看涨期权价格。c,var,ci=dul_blsmc(50,52,5/12,10000);结果如下var =ci =模拟的结果为,离精确值非常接近,说明对偶技术还是非常有效的8. 2. 2蒙特卡洛方法模拟障碍期权定价障碍期权

16、是特殊形式的期权,例如确定一个障碍值 Sb,在期权的存续期内有可能超过该价格,也有可能低于该价格,对于敲出期权而言,如果在期权的存 续期内标的资产价格触及障碍值Sb时,期权合同可以提前终止执行;相反地对 于敲入期权丽言,如果标的资产价格触及障碍值Sb时,期权合同开始生效。注意障碍值Sb可以低于标的资产现在的价格So,也可以高于So。如果Sb So称为 上涨期权,反之称为下跌期权。对于下跌敲出看跌期权,该期权首先是看跌期权,股票价格是So,执行价是K ,买入看跌期权就首先保证以执行价 K卖掉股票,下跌敲出障碍期权相当 于在看跌期权的根底上附加提前终止执行的条款,内容是当股票价格触及障碍值 Sb时

17、看跌期权就提前终止执行。因为该期权对于卖方有利,所以其价格应低于看跃期权的价格。下面考虑下跌敲入看跌期权,同样地该期权首先是看跌期权,下跌敲入期权 相当于在看跌期权的根底上,附加何时生效的条款,内容是当股票的价格触及障 碍值Sb时,看跌期权开始生效,综合地看,标准的看跌期权合同可以拆分为两 份产品,分别是下跌敲出看跌期权与下跌敲入看跃期权,用公式表示如下P Pdi Pdo其中,P是标准看跌期权价格,Pdi与Pdo分别表示下跌敲入看跌期权与下跌敲出 看跌期权的价格。如果下跌敲出看跌期权提前终止时卖方补偿一些费用给买方, 上述公式表示的平价义系就就不再有效。当障碍值确定时,障碍期权存在公式解,其形

18、式如下:P KerTN(d4)N(d2)aN(d7)N©)SoN(d3)N(dJ bN(d8)N(d6)其中,So是股票价格,Sb是障碍值,K是看跌期权执行价,T是存续期,r是无 风险利率,是波动率的标准差,其他参数如下:a=(Sb/So)A(-1+2*r/sigmaA2); b=(Sb/So)A(1+2*r/sigmaA2);d1=(log(So/K)+(r+sigmaA2/2)*T)/(sigma*sqrt(T);d2=(log(S0/K)+(r-sigmaA2/2)*T)/(sigma*sqrt(T);d3=(log(S0/Sb)+(r+sigmaA2/2)*T)/(sigma

19、*sqrt(T);d4=(log(S0/Sb)+(r-sigmaA2/2)*T)/(sigma*sqrt(T);d5=(log(S0/Sb)-(r-sigmaA2/2)*T)/(sigma*sqrt(T);d6=(log(S0/Sb)-(r+sigmaA2/2)*T)/(sigma*sqrt(T);d7=(log(S0*K/SbA2)-(r-sigmaA2/2)*T)/(sigma*sqrt(T);d8=(log(S0*K/SbA2)-(r+sigmaA2/2)*T)/(sigma*sqrt(T);利用上面的公式编写下跌敲出障碍期权价格的程序如下fun ctio n P=Dow nOutPut

20、(SO,K,r,T,sigma,Sb)a=(Sb/S0)A(-1+2*r/sigmaA2); b=(Sb/S0)A(1+2*r/sigmaA2);d1=(log(S0/K)+(r+sigmaA2/2)*T)/(sigma*sqrt(T);d2=(log(S0/K)+(r-sigmaA2/2)*T)/(sigma*sqrt(T);d3=(log(S0/Sb)+(r+sigmaA2/2)*T)/(sigma*sqrt(T);d4=(log(S0/Sb)+(r-sigmaA2/2)*T)/(sigma*sqrt(T);d5=(log(S0/Sb)-(r-sigmaA2/2)*T)/(sigma*sq

21、rt(T);d6=(log(S0/Sb)-(r+sigmaA2/2)*T)/(sigma*sqrt(T);d7=(log(S0*K/SbA2)-(r-sigmaA2/2)*T)/(sigma*sqrt(T);d8=(log(S0*K/SbA2)-(r+sigmaA2/2)*T)/(sigma*sqrt(T);P=K*exp(-r*T)*( no rmcdf(d4)-normcdf(d2)-a*( normcdf(d7)-normcdf(d5).-S0*( normcdf(d3)-normcdf(d1)-b*( normcdf(d8)-normcdf(d6);【例8-2】我们考虑一个欧式看跌股票

22、期权。股票的价格为50,看跌期权执行价为50,无风险利率为,时间为5个月,股票年波动率的标准差为。首先公式的解如下:S0=50;K=50;r=;T=5/12;sigma=;call,put=blsprice(SO,K,r,T,sigma)call =put =看跌期权价格为对于上述看跌期权,进一步地,我们考虑障碍值Sb等于40 时下跌敲出期权的价格:P=Dow nOutPut(S0,K,r,T,sigma,40)P =由于该下跌敲出看跌期权提供的条件过于优厚,买方承受大量风险,作为回报价格较看跌期权廉价许多。下面用蒙特卡洛方法模拟下跌敲出看跌期权价格,在模拟中我们给出了模拟次数为NRepI每次

23、模拟时间分为NSteps步离散,障碍值为变量Sb,其现金流如下:当 St Sb 时,CashFlow=Q我们可以先模拟路径,然后让小于 Sb的路径的现金流为0,程序如下:% DOPutMC(s0,k,r,T,sigma,sb,NSteps,NRep1)fun ction P,aux,Cl= DOPutMC(s0,k,r,T,sigma,sb,NSteps,NRep1)%利用蒙特卡洛方法对欧式下跌敲出期权定价% 输入参数% sO:股票价格% k:执行价% r无风险利率% T:期权存续期% sigma股票波动的标准差% Sb 障碍值% NSteps时间离散数目% NRepI:欧式看涨期权的价格%

24、varprice模拟期权价格的方差% ci 95%概率保证的期权价格区间%输出参数% P下跌敲出看跌期权价格% CI蒙特卡洛摩尼的方差% NCrossed 价格的95%置信区间%蒙特卡洛方法模拟风险中性下股价路径dt=T/NSteps; nudt=*sigma2)*dt;sidt=sigma*sqrt(dt);randn ('seed',0);ra nd=ra ndn (NRep1,NSteps);ran d1= nu dt+sidt*ra nd;rand2=cumsum(rand1,2);%沿列方向逐列累加path=sO*exp(ra nd2);%利用路径进行定价payoff

25、=zeros(NRep1 , 1);for i=1:NRep1ax=path(i,:);if min( ax)<sbpayoff(i)=0; %如果路径中的任意一点价格低于障碍值,现金流为0elsepayoff(i)=max(0,k-ax(NSteps);endendP,aux,CI=normfit(exp(-r*T)*payoff);%P为期权价格运行程序:s0=50;k=50;r=;T=5/12;sigma=;sb=40;NSteps=600;NRep 仁 10000;P,aux,CI=DOPutMC(sO,k,r,T,sigma,sb,NSteps,NRep1)P =aux =CI

26、 =该期权模拟的价格为,和前面的公式解尚存在差距,增加模拟次数,代码如 下:s0=50;k=50;r=;T=5/12;sigma=;sb=40;NSteps=600;NRep 仁20000;P,aux,CI=DOPutMC(s0,k,r,T,sigma,sb,NSteps,NRep1)P =aux =CI =结果和公式解比拟接近,如果将存续期改为 2/12年,再考察其价格变化,代码如下:P,aux,CI=DOPutMC(s0,k,r,2/12,sigma,sb,60,50000)P =aux =CI =蒙特卡洛方法模拟亚式期权定价亚式期权是一种路径依赖型期权,它的收益函数依赖于期权存续期内标的

27、资 产的平均价格。平均价格分算术平均和几何平均两种,对于离散算术平均价格定 义为A daS(tJi()其中ti (i 1,2,., n)是离散时间样本点。离散几何平均价格定义为n1/nAdgS(ti)()i 1亚式看涨期权到期现金流为1 N max S(ti) K,0, ti i t, t T/ NN i 1其中,K是执行价,S(ti)是ti时刻的股价。【例8-3】股票价格为50,亚式看涨期权执行价为50,存续那么为5个月, 期权到期现金流是每月均价与执行价之差,股票波动率的标准差为,无风险利率为,下面用蒙特卡洛方法计算该亚式期权价格:该期权定价程序为:% DOPutMC(s0,k,r,T,s

28、igma,sb,NSteps,NRep1)fun ction P,aux,Cl= Asia nMC(s0,k,r,T,sigma,NSteps,NRep1)%利用蒙特卡洛方法对亚式期权定价% 输入参数% sO:股票价格% k:执行价% r无风险利率% T:期权存续期% sigma股票波动的标准差% NSteps时间离散数目% NRepl:模拟路径数%输出参数% P下跌敲出看跌期权价格% CI蒙特卡洛模拟的方差% NCrossed 价格的95%置信区间%蒙特卡洛方法模拟风险中性下股价路径dt=T/NSteps; nudt=*sigma2)*dt;sidt=sigma*sqrt(dt);randn

29、 ('seed',0);ra nd=ra ndn (NRep1,NSteps);ran d1= nu dt+sidt*ra nd;rand2=cumsum(rand1,2);%沿列方向逐列累加path=sO*exp(ra nd2);%用路径进行定价payoff=zeros(NRep1 , 1);for i=1:NRep1payoff(i)=max(0,mea n(path(i,:)-k);endP,aux,CI=normfit(exp(-r*T)*payoff);运行程序s0=50;k=50;r=;T=5/12;sigma=;NSteps=5;NRep 仁50000;P,aux

30、,ci= Asia nMC(s0,k,r,T,sigma,NSteps,NRep1)P =aux =CI =这是一个比拟粗糙的估计,我们可以用控制变量(control variable)技术提高估计精度。构造NY S(ti)i 0显然它和收益函数是相关的,而NES(i t)i 0EY ES(ti)i 0S(0)eir tNr t iS(0) e i 0S(0)r(N 1) t e(ES(t)/S(0) et),这样用控制变量法可以将前面的程序改为% fun ctio n P, CI= Asia nMCCV(S0,X,r,T,sigma,NSamples,NRep1,NPilot) % %利用蒙

31、特卡洛方法对亚式期权定价% 输入参数% sO:股票价格% X:执行价% r无风险利率% T:期权存续期% sigma股票波动的标准差% NSample取样数目% NRepI:模拟路径数% Npilot: 路径数目%输出参数% P下跌敲出看跌期权价格% CI 蒙特卡洛模拟的方差%用蒙特卡洛方法模拟风险中性下股价路径TryPath=AssetPaths1(S0,r,sigma,T,NSamples,NPilot);%生成路径StockSum=sum(TryPath,2);PP=mea n( TryPath(:,2:(NSamples+1),2);TryPayoff=exp(-r*T)*max(0,

32、PP-X);MatCov=cov(StockSum,TryPayoff);c=-MatCov(1,2)/var(StockSum);dt=T/NSamples;ExpSum=S0*(1-exp(NSamples+1)*r*dt)/(1-exp(r*dt);% MCCon trolVars=zeros(NRep1,1);for i=1:NRep1StockPath=AssetPaths1(S0,r,sigma,T,NSamples,1);Payoff(i)=exp(-r*T)*max(0,mea n(StockPath(2:(NSamples+1)-X);Con trolVars(i)=Payo

33、ff(i)+c*(sum(StockPath)-ExpSum);endP,aux,CI=no rmfit(C on trolVars);fun ctio n Spaths=AssetPaths1(S0,mu,sigma,T,NSteps,NRep1) dt=T/NSteps;n udt=*sigma2)*dt;sidt=sigma*sqrt(dt);In creme nts=nu dt+sidt*ra ndn( NRep1,NSteps);LogPaths=cumsum(log(S0)*o nes(NRep1,1),I ncreme nts,2);Spaths=exp(LogPaths);下面

34、是控制变量模拟的结果:randn ('seed',0);P,CI=Asia nM CCV(50,50,5/12,5,45000,50000)计算结果为P =CI =根据前面蒙特卡洛模拟的结果有randn ('seed',0);P,aux,CI=Asia nMC(50,50,5/12,5,50000)P = aux =CI =可以看出控制变量使得估计的置信区间缩小了蒙特卡洛模拟经验等价勒测度等价鞅理论是金融衍生品定价的重要方法,衍生品价格就是在等价鞅测度下对衍生品现金流用无风险利率贴现,可以用下面方程表示:So erTEQST|Fo其中,So表示股票价格,r为无风

35、险利率,Fo表示0时刻信息,Eq.|F。表 示等价敬测度下的期望算子。Duan和simonate(1998)提出了乘数调整法,该方法可以保证等价鞅性 质,当标的资产服从几何布朗运动时,等价鞅下的资产运动满足以下条件:2ST S0 exp r T . T2其中N(0,1),这样模拟的第i条路径为2Si,T S0 exp r 2 TT i,T这时我们可以构造一个等价鞅测度*S?iTS.T(i) S°exp(rT)亠Si,T / MS*(.)测度实际上在第i条路径的权重上乘以S°exp(rT),当样本容量趋于无穷大时有e(rT)Si,ti 1S0S*,i (i)是风险中性测度下的新样本。对于例8-1我们重新编写程序如下%function Emseucall,Var,CI=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论