恒生指数收益率建模_第1页
恒生指数收益率建模_第2页
恒生指数收益率建模_第3页
恒生指数收益率建模_第4页
恒生指数收益率建模_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、基于GARCH模型的金融资产收益波动率的研究以恒生指数为例【摘要】在金融领域中,金融资产收益率的条件方差通常作为对资产风险的一种度量,它是金融资产定价的数学理论以及在险价值计算的重要组成部分。本文以恒生指数的月收益率作为样本数据,利用GARCH模型对金融资产收益的波动率建立模型,并对2013年1月到11月的波动率进行预测,与样本外数据作对比,从而发现用GARCH模型拟合金融资产收益波动率的恰当性。【关键词】波动率 聚集性 GARCH模型 尖峰厚尾1研究目的与意义波动率研究是资产定价方面的重要研究方向。波动率估计准确与否直接关系到模型运用是否得当,投资策略是否成立。关于波动率的研究相对较长的历史

2、,在1982年,Engle提出了ARCH模型的思路,为波动率研究开启了新的篇章。在1986年,Bollerslev在ARCH的基础上将历史波动率加入模型,提出了GARCH模型,更好地抓住了股票收益波动率的长记忆性。之后,关于波动率的量化分析都以GARCH模型为基础。本文利用GARCH模型对恒生指数(HSI)1989年12月1日到2013年11月30日月收盘价观察值进行实证分析,比较GARCH各类模型对恒生指数对数收益波动率的分析结果。本文主要分为四个章节。第一章介绍本文的研究背景、意义、方法及目的,介绍本文研究思路和框架。第二章介绍了GARCH族模型的起源与发展,介绍了ARCH模型、GARCH

3、模型提出的背景以及它们的表示方式,和模型识别、诊断。第三章对恒生指数月收盘价样本做ARCH效应分析和检验,包括自相关性检验、平稳性检验、异方差性检验,得出上证指数收益率可以使用ARCH模型的结论,使用GARCH模型进行建模。第四章对全文结论作出总结,并提出了本文的不足及改进建议。结论发现,尽管GARCH中均有不少模型能对样本数据进行分析,但分析结果梅有较大差异,对所使用的数据,GARCH模型能较好地捕捉到上证股指收益率整体样本序列的尖峰厚尾特征和波动的聚集性。对于监管者、从业者、研究者、投资者来说,波动率的实证研究至关重要,希望本文能对各市场相关者提供有意义的参考,为共同建设一个功能更加健全、

4、更加灵活、更加富有弹性的金融市场做出贡献。2理论依据2.1 ARCH模型对金融资产收益序列,可以同时考虑其前二阶矩的时变特征。对于给定的信息集,它的条件均值和条件方差分别为: (2.1.1) (2.1.2)其中用于描述金融资产期望收益的时变性,揭示金融资产收益能力;用于描述金融资产方差的时变性,揭示金融资产的风险特征。Engle(1982)提出的ARCH模型可表示为: (2.1.3)其中为解释变量组成的向量,可以由的滞后项或者其他外生变量组成;是t期的扰动项,它为独立同分布的白噪声过程,表示偶发因素的作用;,保证条件方差严格为正,且保证ARCH过程平稳。由于,往往呈现出波动聚集性,即“大幅波动

5、往往集中在某些时段上,而小幅波动集中在另外一些时段上”。因此ARCH模型可以很好地揭示金融市场的“波动聚集”这一特征。经典的ARCH效应检验方法为拉格朗日乘子检验(Lagrange multiplier,LM)。对ARCH模型中的均值方程,若随机变量为独立白噪声过程,且,这时在式(6.3)的方差方程中有,而为一个常数。如果随机变量服从ARCH过程,那么中至少有一个不为零。因此ARCH模型的原假设和备择假设为:不存在ARCH效应 不全为零取,利用LM检验的ARCH效应,其检验统计量为 (2.1.4)在成立时,统计量LM的极限分布为。利用对数似然函数对所讨论的参数向量求一阶和二阶偏微分,在样本数充

6、分大时给出的LM算式为: (2.1.5)式中,T为样本数,取残差,是对()进行回归所得到的拟合优度,。ARCH模型最常用的估计方法是极大似然估计,其对数似然函数为 (2.1.6)式中,利用优化方法即可得到参数向量的一致估计量。2.2 GARCH模型一般的,GARCH(p,q)模型可以表为 (2.2.1)GARCH模型不仅能揭示金融市场的“波动聚集性”特征,而且可以揭示“厚尾”特征。例如一个GARCH(1,1)模型的波动方程: (2.2.2)式中保证条件方差的正定性;保证该模型为平稳的GARCH模型。可以证明,若,容易得到模型表示的无条件峰度满足: (2.2.3)从而可以刻画那些比正态分布更厚尾

7、部的金融时间序列。一个GARCH(p,q)模型可以通过两步法来确定其滞后阶数。对于残差序列,由于是的无偏估计,可以使用的偏自相关函数来确定ARCH部分的最优滞后阶数。在给定的前提下,可以使用AIC或者BIC准则确定GARCH部分的最优滞后阶数。GARCH模型最常用的估计方法是极大似然估计,定义,则,在随机变量服从正态分布下,其条件密度函数为: (2.2.4)对于T个观测值下的对数似然函数为: (2.2.5)参数向量的最大似然估计为方程组的解。若GARCH模型建立恰当,它的标准化残差序列应该服从独立同分布,且具有零均值和单位方差。可以使用Ljung-Box统计量分别检验和来估计GARCH模型中均

8、值方程与方差方程设定的正确性;通过的Q-Q图识别分布假设的正确性。在GARCH模型预测中,最核心的为条件方差(波动率)预测。对于式(2.2.1)定义的GARCH(p,q)模型,为得到其向前步预测,可以将方差方程向前递推步:因此,对方程两边同时使用条件期望,可得:这样可以通过递归方式对条件方差进行求解,从而得到波动率的向前步预测结果。3实证分析实证分析部分以恒生指数1989年12月1日到2012年12月31日数据作为内部数据建立模型,以2013年1月1日到2013年11月30日数据作为实验外部数据。恒生指数是香港股市价格的重要指标,指数由若干只成份股(即蓝筹股)市值计算出来的,代表了香港交易所所

9、有上市公司的12个月平均市值涵盖率的63%。图表1展示了HSI数据的时间序列图。数据呈现出总体上升的趋势,并且具有随着股价增加波动幅度更大的迹象。令表示时间序列,第t天的收益率定义为:分别计算样本的月收益和日收益,并画出收益的时间序列图。如图表2和图表3,该图显示出收益率在一些时期波动更大,特别是在1997年到1998年间,这一现象是由亚洲金融危机引发的。图表 1HSI价格的时间序列图图表 2 HSI月收益率图表 3HSI日收益率利用Ljung-Box对其月收益率自相关性进行检验,结显示月收益不存在序列自相关。X-squareddfp-value15.348120.2229随后用同样方法检验平

10、方月收益,存在序列自相关。X-squareddfp-value35.311120.0004178利用LM检验月收益序列的ARCH效应,p值小于0.05,存在ARCH效应。Chi-squareddfp-value24.685120.01639计算均值调整对数收益,如图表4,除了在根据平方的自相关和偏自相关函数的拖尾现象,可以使用ARMA(1,1)模型作为均值方程。一般地,使用低阶的GARCH模型就能很好的捕捉到金融序列的波动聚集性,所以这里我们使用GARCH(1,1)作为条件异方差的方程。图表 4 为了比较不同模型拟合的效果,我建立了六种GARCH模型,分别为:GARCH(1,1)-N模型,GA

11、RCH(1,2)-N模型,GARCH(1,1)-t模型,GARCH(1,1)-st模型,GARCH(1,1)-GED模型,GARCH(1,1)-SGED模型。将运算结果整理到如下表格1中,具体运算结果见附录。上述所有的模型都能消除异方差;对残差相关性检验,发现残差都可以消除自相关特性,说明残差项不具有自相关的特征。根据AIC,BIC准则,选择AIC和BIC较小的模型,在GARCH(1,1)-N模型和GARCH(1,1)-GED模型中选择。由于只有GARCH(1,1)-N模型的参数估计均通过了显著性检验,而其他模型均有部分参数估计没有通过显著性检验,所以选择GARCH(1,1)-N模型拟合数据。

12、表格 1 估计结果表GARCH(1,1)-NGARCH(1,2)-NGARCH(1,1)-tGARCH(1,1)-stGARCH(1,1)-GEDGARCH(1,1)-SGEDmu1.109591.175871.253551.128051.276281.15146omega3.442854.8452.961922.952593.094713.09745alpha10.232730.124850.19020.184410.207720.19861alpha20.18343beta10.724620.630010.769880.773330.750890.75667Log Likelihood-9

13、59.9309-958.4313-955.989-955.5339-955.7724-955.2982AIC6.7172896.7138076.6967886.7005856.6952786.698942BIC6.7682926.7775616.7605426.777096.7590326.775447J-B Test13.198857.480818.2936418.823715.7490216.52389Ljung-Box Test9.0416478.1343059.035269.0451139.0273029.027309LM Arch Test13.856889.44580614.149

14、6214.2162913.9493514.07678提取GARCH(1,1)-N模型得到的波动率估计和标准化残差,并画出下图:Q-Q显示出直线的模式Jarque-Bera检验的p值为0.00136,Shapiro-Wilk检验的p值为0.0276,因此正态假设不能被拒绝。如果GARCH的模型被正确识别,那么标准残差近似独立同分布,信息的独立同分布可以通过他们样本ACF来检验。如上图,分别为波动率、波动率平方、标准残差和标准残差平方样本的ACF图。在数据独立同分布假设下,图形中临界限是基于倍的名义方差。即使模型被正确识别,该名义值与残差平方的自相关函数的真实方差也可能存在很大区别。不过从图形大体

15、可以看出波动率、波动率平方、标准残差和标准残差平方序列不相关。GARCH(1,1)模型可以较好地拟合HSI数据,用其预测未来11个月的条件方差。这里用到了样本外数据与预测数据进行对比,结果如表2和表3所示:表格 2 恒生指数月对数收益的波动率预测预测步长1234567891011GARCH(1,1)-N4.589 4.858 5.103 5.326 5.532 5.722 5.898 6.062 6.215 6.357 6.491 GARCH(1,2)-N4.578 4.604 4.969 5.231 5.480 5.704 5.909 6.097 6.269 6.429 6.577 GARC

16、H(1,1)-t4.718 4.933 5.131 5.314 5.484 5.642 5.790 5.928 6.058 6.181 6.296 GARCH(1,1)-st4.736 4.943 5.134 5.310 5.473 5.625 5.767 5.900 6.024 6.140 6.250 GARCH(1,1)-GED4.622 4.856 5.069 5.266 5.447 5.616 5.773 5.920 6.057 6.186 6.307 GARCH(1,1)-SGED4.659 4.882 5.086 5.273 5.446 5.606 5.755 5.894 6.02

17、4 6.145 6.258 已实现波动3.543 4.114 3.929 4.778 4.374 6.013 5.397 4.634 4.070 3.745 4.395 表格 3 波动率预测相关系数表GARCH(1,1)-NGARCH(1,2)-NGARCH(1,1)-tGARCH(1,1)-stGARCH(1,1)-GEDGARCH(1,1)-SGEDGARCH(1,1)-N10.99588380.99993040.99995110.99997680.999991GARCH(1,2)-N0.995883810.99627670.99625520.99610330.9960599GARCH(1

18、,1)-t0.99993040.996276710.99999760.99998730.9999706GARCH(1,1)-st0.99995110.99625520.999997610.99999480.9999836GARCH(1,1)-GED0.99997680.99610330.99998730.999994810.9999962GARCH(1,1)-SGED0.9999910.99605990.99997060.99998360.99999621已实现波动0.23565730.21856990.22803030.22931720.23133390.23281对比各个模型所预测的收益波

19、动率和真实波动率可以看出所选模型与真实情况存在差距,通过波动率预测相关系数可知预测波动率和已实现波动率之间相关性为0.23左右,与已实现波动相关性最大的是GARCH(1,1)-N模型为0.2357,且各个模型之间相关性较大,区别较小,因此模型拟合的效果不是很理想。预测波动率普遍大于真实波动率的原因有如下几点:首先,样本内数据期间的收益率波动性大,而预测区间的收益率波动变小了,这与经济环境有关。1990-1992年第三次石油危机爆发,中国香港受到了不小的冲击。1997-1998年亚洲金融危机,美国支撑索罗斯及其他财团发动针对中国的金融战争,最终终结于香港。2008年美国次贷危机引发金融海啸,造成

20、全球经济危机的爆发,对中国香港股市产生了重大冲击。所以宏观经济变动差异是造成模型预测不准确重要原因。其次,本文样本数据采用了月收益数据,所以需要选取较长的时间段作为样本区间,如果能改用2011年到2015年的日收益数据作为样本内数据,用2016年至今的数据作为样本外数据进行预测和对比,那么模型的预测效果将会有所改进。最后,不排除本文在模型选择上的局限给预测造成的不准确,为了提升预测效果,应在今后的研究中加入GARCH的拓展模型如:GARCH-M模型,IGARCH模型,EGARCH模型和TGARCH模型等等。4结论与总结本文利用GARCH族模型及其拓展形式对上证股指日对数收益率序列进行了实证研宄

21、,所用软件为R。所得主要结论如下:1. 观察到了收益率序列尖峰厚尾和聚集特征;2. 通过ARCH效应检验证明了利用GARCH族模型对收益率序列波动率建模的可行性;3. 假设GARCH族模型的均值方程中的误差项服从正态分布得出的模型普遍较t分布和GED分布更优,拟合效果更好;4. 就本文所用数据,GARCH模型模拟恒生指数月对数收益波动率效果普遍不理想。对未来研究的建议与展望:1. 将样本数据期间改为日收益,缩短日期长度,只采用近4年的数据,或会得到更为明显、可靠的结论;2. 将宏观经济环境考虑进来;3. 对数波动率本身并不一定服从GARCH模型的线性假设,或可改进。附录R语言代码:librar

22、y(quantmod)#加载包#读取数据getSymbols('HSI',from='1989-12-01',to='2013-11-30')#从Yahoo网站下载恒生指数日价格数据dim(HSI) #数据规模names(HSI) #数据变量名称chartSeries(HSI,theme='white') #画出价格与交易的时序图#计算收益率序列ptd.HSI<-HSI$HSI.Adjusted #提取日收盘价信息rtd.HSI<-diff(log(ptd.HSI)*100 #计算日对数收益rtd.HSI<-rt

23、d.HSI-1, #删除一期缺失值plot(rtd.HSI) #画出日收益序列的时序图ptm.HSI<-to.monthly(HSI)$HSI.Adjusted #提取月收盘价信息rtm.HSI<-diff(log(ptm.HSI)*100 #计算月对数收益rtm.HSI<-rtm.HSI-1, #删除一期缺失值plot(rtm.HSI) #画出月收益序列的时序图detach(package:quantmod)#ARCH效应检验rtm.HSI<-as.numeric(rtm.HSI)ind.outsample<-sub('','',

24、substr(index(rtm.HSI),4,8)%in%'2013' #设置样本外下标:2013年为样本外 #设置样本内下标:其余为样本外ind.insample<-!ind.outsample rtm.insample<-rtm.HSIind.insamplertm.outsample<-rtm.HSIind.outsampleBox.test(rtm.insample,lag=12,type='Ljung-Box') #月收益不存在自相关Box.test(rtm.insample2,lag=12,type='Ljung-Box&

25、#39;) #平方月收益存在自相关library(FinTS)ArchTest(x=rtm.insample,lag=12) #存在显著ARCH效应#模型定阶epst<-rtm.insample-mean(rtm.insample) #均值调整对数收益par(mfrow=c(1,2)acf(as.numeric(epst)2,lag.max=20,main='平方序列')pacf(as.numeric(epst)2,lag.max=20,main='平方序列')#建立GARCH类模型library(fGarch)GARCH.model_1<-garc

26、hFit(garch(1,1),data=rtm.insample,trace=FALSE)#GARCH(1,1)-NGARCH.model_2<-garchFit(garch(2,1),data=rtm.insample,trace=FALSE)#GARCH(1,2)-NGARCH.model_3<-garchFit(garch(1,1),data=rtm.insample,cond.dist='std',trace=FALSE)#GARCH(1,1)-tGARCH.model_4<-garchFit(garch(1,1),data=rtm.insample

27、,cond.dist='sstd',trace=FALSE)#GARCH(1,1)-stGARCH.model_5<-garchFit(garch(1,1),data=rtm.insample,cond.dist='ged',trace=FALSE)#GARCH(1,1)-GEDGARCH.model_6<-garchFit(garch(1,1),data=rtm.insample,cond.dist='sged',trace=FALSE)#GARCH(1,1)-SGEDsummary(GARCH.model_1)summary(GA

28、RCH.model_2)summary(GARCH.model_3)summary(GARCH.model_4)summary(GARCH.model_5)summary(GARCH.model_6)plot(GARCH.model_1)plot(GARCH.model_2)plot(GARCH.model_3)plot(GARCH.model_4)plot(GARCH.model_5)plot(GARCH.model_6)#提取GARCH类模型信息vol_1<-fBasics:volatility(GARCH.model_1) #提取GARCH(1,1)-N模型得到的波动率估计sres

29、_1<-residuals(GARCH.model_1,standardize=TRUE) #提取GARCH(1,1)-N模型得到的标准化残差vol_1.ts<-ts(vol_1,frequency=12,start=c(1990,1)sres_1.ts<-ts(sres_1,frequency=12,start=c(1990,1)par(mfcol=c(2,1))plot(vol_1.ts,xlab='年',ylab='波动率')plot(sres_1.ts,xlab='年',ylab='标准化残差')#模型检

30、验par(mfrow=c(2,2)acf(sres_1.ts,lag=24)pacf(sres_1.ts,lag=24)acf(sres_1.ts2,lag=24)pacf(sres_1.ts2,lag=24)par(mfrow=c(1,1)qqnorm(sres_1)qqline(sres_1)#模型预测pred.model_1<-predict(GARCH.model_1,n.ahead=11,trace=F,mse='cond',plot=F)pred.model_2<-predict(GARCH.model_2,n.ahead=11,trace=F,mse=

31、'cond',plot=F)pred.model_3<-predict(GARCH.model_3,n.ahead=11,trace=F,mse='cond',plot=F)pred.model_4<-predict(GARCH.model_4,n.ahead=11,trace=F,mse='cond',plot=F)pred.model_5<-predict(GARCH.model_5,n.ahead=11,trace=F,mse='cond',plot=F)pred.model_6<-predict(G

32、ARCH.model_6,n.ahead=11,trace=F,mse='cond',plot=F)predVol_1<-pred.model_1$standardDeviationpredVol_2<-pred.model_2$standardDeviationpredVol_3<-pred.model_3$standardDeviationpredVol_4<-pred.model_4$standardDeviationpredVol_5<-pred.model_5$standardDeviationpredVol_6<-pred.mod

33、el_6$standardDeviationet<-abs(rtm.outsample-mean(rtm.outsample)rtd.HSI.2013<-rtd.HSI'2013'rv<-sqrt(aggregate(rtd.HSI.20132,by=substr(index(rtd.HSI.2013),1,7),sum)predVol<-round(rbind(predVol_1,predVol_2,predVol_3,predVol_4,predVol_5,predVol_6,as.numeric(et),as.numeric(rv),digits=

34、3)colnames(predVol)<-1:11rownames(predVol)<-c('GARCH(1,1)-N模型','GARCH(1,2)-N模型','GARCH(1,1)-t模型','GARCH(1,1)-st模型','GARCH(1,1)-GED模型','GARCH(1,1)-SGED模型','残差绝对值','已实现波动')print(predVol)#模型选择cor(t(predVol)R语言运行结果:> #读取数据> getS

35、ymbols('HSI',from='1989-12-01',to='2013-11-30')#从Yahoo网站下载恒生指数日价格数据 As of 0.4-0, getSymbols uses env=parent.frame() and auto.assign=TRUE by default. This behavior will be phased out in 0.5-0 when the call will default to use auto.assign=FALSE. getOption("getSymbols.env&q

36、uot;) and getOptions("getSymbols.auto.assign") are now checked for alternate defaults This message is shown once per session and may be disabled by setting options("getSymbols.warning4.0"=FALSE). See ?getSymbols for more details.1 "HSI"Warning message:In download.file(p

37、aste(yahoo.URL, "s=", S, "&a=", from.m, : downloaded length 469769 != reported length 200> dim(HSI) #数据规模1 5976 6> names(HSI) #数据变量名称1 "HSI.Open" "HSI.High" "HSI.Low" "HSI.Close" 5 "HSI.Volume" "HSI.Adjus

38、ted"> > Box.test(rtm.insample,lag=12,type='Ljung-Box') #月收益不存在自相关 Box-Ljung testdata: rtm.insampleX-squared = 15.348, df = 12, p-value = 0.2229> Box.test(rtm.insample2,lag=12,type='Ljung-Box') #平方月收益存在自相关 Box-Ljung testdata: rtm.insample2X-squared = 35.311, df = 12, p-v

39、alue = 0.0004178> ArchTest(x=rtm.insample,lag=12) #存在显著ARCH效应 ARCH LM-test; Null hypothesis: no ARCH effectsdata: rtm.insampleChi-squared = 24.685, df = 12, p-value = 0.01639> summary(GARCH.model_1)Coefficient(s): mu omega alpha1 beta1 1.10959 3.44285 0.23273 0.72462 Std. Errors: based on Hess

40、ian Error Analysis: Estimate Std. Error t value Pr(>|t|) mu 1.10959 0.35483 3.127 0.001766 * omega 3.44285 1.62516 2.118 0.034135 * alpha1 0.23273 0.06186 3.762 0.000168 *beta1 0.72462 0.05974 12.130 < 2e-16 *-Signif. codes: 0 * 0.001 * 0.01 * 0.05 . 0.1 1Log Likelihood: -959.9309 normalized:

41、-3.344707 Description: Thu May 12 09:12:43 2016 by user: Administrator Standardised Residuals Tests: Statistic p-Value Jarque-Bera Test R Chi2 13.19885 0.001361152 Shapiro-Wilk Test R W 0.9889328 0.02760448 Ljung-Box Test R Q(10) 9.041647 0.5281558 Ljung-Box Test R Q(15) 19.91077 0.1753824 Ljung-Box

42、 Test R Q(20) 21.27957 0.3808447 Ljung-Box Test R2 Q(10) 8.727729 0.5581233 Ljung-Box Test R2 Q(15) 12.41469 0.6474077 Ljung-Box Test R2 Q(20) 13.18821 0.8691634 LM Arch Test R TR2 13.85688 0.3099406 Information Criterion Statistics: AIC BIC SIC HQIC 6.717289 6.768292 6.716907 6.737730 > summary(

43、GARCH.model_3)Coefficient(s): mu omega alpha1 beta1 shape 1.25355 2.96192 0.19020 0.76988 7.09141 Std. Errors: based on Hessian Error Analysis: Estimate Std. Error t value Pr(>|t|) mu 1.25355 0.34552 3.628 0.000286 *omega 2.96192 1.67676 1.766 0.077319 . alpha1 0.19020 0.06484 2.933 0.003356 * be

44、ta1 0.76988 0.06415 12.001 < 2e-16 *shape 7.09141 3.05819 2.319 0.020405 * -Signif. codes: 0 * 0.001 * 0.01 * 0.05 . 0.1 1Log Likelihood: -955.989 normalized: -3.330972 Description: Thu May 12 09:12:44 2016 by user: Administrator Standardised Residuals Tests: Statistic p-Value Jarque-Bera Test R Chi2 18.29364 0.0001065583 Shapiro-Wilk Test R W 0.9876814 0.01507377 Ljung-Box Test R Q(10)

温馨提示

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

评论

0/150

提交评论