全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
2011-7-30 09:27:22
用load命令,如数据名称为data
load data.dat

那么在左边Workspace会显示数据,打开就能看了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-1 09:58:20
打开sp500.DAT文件
  load sp500.DAT

打开data.mat文件
  load data.mat

%%%%%%%%%%data_analysis.m
data.mat 有4个 variables
% p: average labor productivity
% u: unemployment rate
% v: vacancies posted
% y: gdp
Ch2007.xls也有4个 variables
可以套用,但未必合适!
因为作者是依其需要取对数
并增加一变量theta=v./u;

请自行斟酌.

%%%%%%%
X=xlsread('Ch2007.xls','B2:E57');
p=X(:,1);
u=X(:,2);
y=X(:,3);
v=X(:,4);

N=56;
smooth=1600; %  hpfilter smoothing papameter
theta=v./u;

logp=log(p);
logu=log(u);
logy=log(y);
logv=log(v);
logtheta=log(theta);

hp_p=hpfilter(logp,smooth);
hp_u=hpfilter(logu,smooth);
hp_y=hpfilter(logy,smooth);
hp_v=hpfilter(logv,smooth);
hp_theta=hpfilter(logtheta,smooth);

pdev=logp-hp_p;
udev=logu-hp_u;
ydev=logy-hp_y;
vdev=logv-hp_v;
thetadev=logtheta-hp_theta;

stddev=std([pdev, udev, vdev, thetadev, ydev]);
corrall=corrcoef([udev, vdev, thetadev]);

num=corrcoef([pdev(1:N-1), pdev(2:N)]);
ap=num(1,2);
num=corrcoef([udev(1:N-1), udev(2:N)]);
au=num(1,2);
num=corrcoef([vdev(1:N-1), vdev(2:N)]);
av=num(1,2);
num=corrcoef([thetadev(1:N-1), thetadev(2:N)]);
atheta=num(1,2);
num=corrcoef([ydev(1:N-1), ydev(2:N)]);
ay=num(1,2);

num=corrcoef([pdev(2:N),udev(1:N-1)]);
corrpu(1,1)=num(1,2);
num=corrcoef([pdev(1:N), udev(1:N)]);
corrpu(1,2)=num(1,2);
num=corrcoef([pdev(1:N-1), udev(2:N)]);
corrpu(1,3)=num(1,2);
num=corrcoef([pdev(1:N-2), udev(3:N)]);
corrpu(1,4)=num(1,2);
num=corrcoef([pdev(1:N-3), udev(4:N)]);
corrpu(1,5)=num(1,2);

num=corrcoef([pdev(2:N), vdev(1:N-1)]);
corrpv(1,1)=num(1,2);
num=corrcoef([pdev(1:N), vdev(1:N)]);
corrpv(1,2)=num(1,2);
num=corrcoef([pdev(1:N-1), vdev(2:N)]);
corrpv(1,3)=num(1,2);
num=corrcoef([pdev(1:N-2), vdev(3:N)]);
corrpv(1,4)=num(1,2);
num=corrcoef([pdev(1:N-3), vdev(4:N)]);
corrpv(1,5)=num(1,2);

num=corrcoef([pdev(2:N), thetadev(1:N-1)]);
corrptheta(1,1)=num(1,2);
num=corrcoef([pdev(1:N), thetadev(1:N)]);
corrptheta(1,2)=num(1,2);
num=corrcoef([pdev(1:N-1), thetadev(2:N)]);
corrptheta(1,3)=num(1,2);
num=corrcoef([pdev(1:N-2), thetadev(3:N)]);
corrptheta(1,4)=num(1,2);
num=corrcoef([pdev(1:N-3), thetadev(4:N)]);
corrptheta(1,5)=num(1,2);

num=corrcoef([ydev(2:N), pdev(1:N-1)]);
corryp(1,1)=num(1,2);
num=corrcoef([ydev(1:N), pdev(1:N)]);
corryp(1,2)=num(1,2);
num=corrcoef([ydev(1:N-1), pdev(2:N)]);
corryp(1,3)=num(1,2);

num=corrcoef([ydev(2:N), udev(1:N-1)]);
corryu(1,1)=num(1,2);
num=corrcoef([ydev(1:N), udev(1:N)]);
corryu(1,2)=num(1,2);
num=corrcoef([ydev(1:N-1), udev(2:N)]);
corryu(1,3)=num(1,2);

num=corrcoef([ydev(2:N), vdev(1:N-1)]);
corryv(1,1)=num(1,2);
num=corrcoef([ydev(1:N), vdev(1:N)]);
corryv(1,2)=num(1,2);
num=corrcoef([ydev(1:N-1), vdev(2:N)]);
corryv(1,3)=num(1,2);

num=corrcoef([ydev(2:N), thetadev(1:N-1)]);
corrytheta(1,1)=num(1,2);
num=corrcoef([ydev(1:N), thetadev(1:N)]);
corrytheta(1,2)=num(1,2);
num=corrcoef([ydev(1:N-1), thetadev(2:N)]);
corrytheta(1,3)=num(1,2);

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-1 13:59:17
epoh 发表于 2011-8-1 09:58
打开sp500.DAT文件
  load sp500.DAT
epoh老师,附件中的eviews程序,我估计出的结果有一部分是:NA,您看一下是什么原因?
为什么?如何修改?
非常感谢!
LogL: LL_L   
Method: Maximum Likelihood (Marquardt)   
Date: 08/01/11   Time: 13:47   
Sample: 3 195   
Included observations: 193   
Evaluation order: By observation   
Estimation settings: tol= 1.0e-05, derivs=accurate numeric   
Initial Values: MU(1)=0.13502, OMEGA(1)=1.45022, ALPHA(1)=0.04387,   
        BETA(1)=0.70089, TDF(1)=3.00000   
Convergence achieved after 3 iterations   
WARNING: Singular covariance - coefficients are not unique   
   
Coefficient Std. Error z-Statistic Prob.  
   
MU(1) 0.212837 NA NA NA
OMEGA(1) -3.361117 NA NA NA
ALPHA(1) -0.034662 NA NA NA
BETA(1) 1.556563 NA NA NA
TDF(1) 7.206290 NA NA NA
   
Log likelihood -436.6545     Akaike info criterion  4.576730
Avg. log likelihood -2.262458     Schwarz criterion  4.661256
Number of Coefs. 5     Hannan-Quinn criter.  4.610961
   


附件列表

fyl.rar

大小:4.21 KB

 马上下载

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-1 14:33:08
x=c(5,4,9,6,21,17,11,20,7,10,21,15,13,16,8)
n=length(x)
boot=10000
s2=NA*seq(1:boot)
for(i in 1:boot)
{
xsamp=sample(x,n,replace = T)
s2=sum((xsamp-mean(xsamp))^2)/(n-1)
}
var(s2)
#[1] 57.49942
本文来自: 人大经济论坛 S-Plus&R专版 版,详细出处参考: https://bbs.pinggu.org/forum.php? ... 1&from^^uid=11232

2# epoh

s2=NA*seq(1:boot)     epoh老师,您好!这一行是什么意思?NA并没有赋值,NA乘以seq序列是做什么用的?
非常感谢!

本文来自: 人大经济论坛 S-Plus&R专版 版,详细出处参考: https://bbs.pinggu.org/forum.php? ... 1&from^^uid=11232
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-1 18:30:46

一个变量使用前要先定义

不管是

scale      s=5;

vector     v=seq(1:6)

matrix     m=matrix(v,3,2);

boot=100

我定义    s2=NA*seq(1:boot)

主要是方便除错

如果还有NA,就表示程序有误.

e-views code

  

e-views code.rar
大小:(4.16 KB)

 马上下载

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-1 22:02:05
epoh 发表于 2011-8-1 18:30
一个变量使用前要先定义不管是scale      s=5;vector     v=seq(1:6)matrix     m=matrix(v,3,2); boot=100 ...
s2=sum((xsamp-mean(xsamp))^2)/(n-1)

本文来自: 人大经济论坛 Matlab及其他计量软件专版 版,详细出处参考: https://bbs.pinggu.org/forum.php?mod=viewthread&tid=1127506&page=13&from^^uid=11232

epoh老师,您好!
那s2定义了两次,您能解释一下吗?我还是不明白。
s2=NA*seq(1:boot) 这一行是如何纠错的?
本文来自: 人大经济论坛 Matlab及其他计量软件专版 版,详细出处参考: https://bbs.pinggu.org/forum.php?mod=viewthread&tid=1127506&page=13&from^^uid=11232

另外,
zhang.rar
大小:(173.33 KB)

 马上下载

附件中的pftest_d.m运行时总是提示以下错误:
??? Error using ==> var
W must be a vector of nonnegative weights, or a scalar 0 or 1.
Error in ==> pftest_d at 17
results = var(y,nlag);
您看是什么问题?如何解决?
另外,epoh老师,我的matlab7没有var.m这个文件,您能把您的给我传一份吗?
非常感谢!


>> randn('state',0)                % Start from a known state.
x = randn(1000,1);              % 1000 Gaussian deviates ~ N(0,1).
y = filter(1,[1 -0.6 0.08],x);  % Create a stationary AR(2)
                                % process.
[PartialACF,Lags,Bounds] = parcorr(y,[],2); % Compute the
                                % partial ACF with 95 percent
                                % confidence.
[Lags,PartialACF]
Bounds
parcorr(y,[],2)            % Use the same example, but plot
                           % the partial ACF sequence with
                           % confidence bounds.
??? Error using ==> lagmatrix
lagmatrix: wrong # of input arguments
Error in ==> parcorr at 151
X          =  lagmatrix(Series , [1:nLags]);
>>
这段代码出错,为什么?如何修改?
非常感谢!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-1 22:15:43
epoh老师,您好!
还有这个ecm_d.m,运行时提示:
??? Error using ==> fopen
The file mode for fopen must contain exactly one of the modes 'r', 'w' or 'a'.

Error in ==> ecm_d at 33
fid = fopen('ecm.out','wr');

>>
这又如何解决?
非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-2 09:41:12
jplv7 toolbox有一些小地方没更正,
恰好提供自我训练的机会

1.Error using ==> var
  请键入help var
  你会发现用到的var.m是
  matlab 自带的var(),是计算Variance.
  想要performs vector autogressive estimation
  作者已由var(),改为vare()
  所以results = var(y,nlag);
  请改results = vare(y,nlag);

2.同理.Error using ==> lagmatrix
  请键入help lagmatrix
  你会发现用到的lagmatrix.m是
  jplv7\Ucsd_garch\Garch\lagmatrix.m
  非matlab 自带的lagmatrix()
  所以请先将jplv7\Ucsd_garch\Garch\lagmatrix.m
  改个名字

3.Error using ==> fopen
  The file mode for fopen must contain exactly
  one of the modes 'r', 'w' or 'a'.
  请将fid = fopen('ecm.out','wr');
  改为fid = fopen('ecm.out','w');


#######
我用简单的bootstrap=2说明
第二次用到s2
是把计算出来的值依序放进s2[1],s2[2],..
然后计算var(s2)
x=c(5,4,9,6,21,17,11,20,7,10,21,15,13,16,8)
n=length(x)
boot=2
s2=NA*seq(1:boot)
for(i in 1:boot)
{
xsamp=sample(x,n,replace = T)
s2[i]=sum((xsamp-mean(xsamp))^2)/(n-1)
}
var(s2)

[1] "xsamp=" 17 16  5  6  5  9 13 15 11 20  6 21  5  4 21
[1] "s2="   40.54286       NA

[1] "xsamp="  5  5  5  7 21 21  5  5  8 21 17  7  7 15  9
[1] "s2="   40.54286 42.12381
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-2 09:58:26
可以打开jplv7目录下var_bar,然后点击contents.html,这个网页介绍了各个函数的用法

只是现在没有panel data的VAR程序
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-2 10:16:25
> x=c(5,4,9,6,21,17,11,20,7,10,21,15,13,16,8)
> n=length(x)
> boot=2
> s2=NA*seq(1:boot)
> for(i in 1:boot)
+ {
+ xsamp=sample(x,n,replace = T)
+ s2=sum((xsamp-mean(xsamp))^2)/(n-1)
+ }
> var(s2)
[1] 30.94222
>
> 本文来自: 人大经济论坛 Matlab及其他计量软件专版 版,详细出处参考: https://bbs.pinggu.org/forum.php? ... 3&from^^uid=11232
错误: 意外的符号在"本文来自: 人大经济论坛 Matlab及其他计量软件专版"里
> xsample
错误: 找不到对象'xsample'
> xsamp
[1]  8 21 15 21  9 10 21 21  5 11 21 10  9 15 15
> n
[1] 15
> s2
[1] 24.68571 32.55238
> s2$1
错误: 意外的数值量在"s2$1"里
> s2[1]
[1] 24.68571
> s2[2]
[1] 32.55238
> s2[3]
[1] NA
>
> s2[0]
numeric(0)
> s2=NA*seq(1:boot)
> s2
[1] NA NA
> s2=sum((xsamp-mean(xsamp))^2)/(n-1)
> s2
[1]       NA 32.55238
> s2
[1]       NA 32.55238
> s2[2]
[1] 32.55238
> s2[1]
[1] NA
> mean(xsamp
+
+ mean(xsamp)
错误: 意外的符号 于
"
mean"
> xsamp
[1]  8 21 15 21  9 10 21 21  5 11 21 10  9 15 15
> mean(xsamp)
[1] 14.13333
> x=c(5,4,9,6,21,17,11,20,7,10,21,15,13,16,8)
> n=length(x)
> boot=2
> s2=NA*seq(1:boot)
> for(i in 1:boot)
+ {
+ xsamp=sample(x,n,replace = T)
+ s2=sum((xsamp-mean(xsamp))^2)/(n-1)
+ }
> var(s2)
[1] 10.44898
> s2
[1] 39.83810 44.40952
epoh老师,您好!
    我还是不明白:> s2=NA*seq(1:boot)
> s2
[1] NA NA

> n
[1] 15


> s2=sum((xsamp-mean(xsamp))^2)/(n-1)
> s2
[1]       NA 32.55238
> s2
[1]       NA 32.55238

第二次运行程序:

> x=c(5,4,9,6,21,17,11,20,7,10,21,15,13,16,8)
> n=length(x)
> boot=2
> s2=NA*seq(1:boot)
> for(i in 1:boot)
+ {
+ xsamp=sample(x,n,replace = T)
+ s2=sum((xsamp-mean(xsamp))^2)/(n-1)
+ }
> var(s2)
[1] 10.44898
> s2
[1] 39.83810 44.40952
第一次运行结果和第二次运行结果相矛盾,不一致,
另外,这一行: s2=NA*seq(1:boot)
您说是为了纠错,那纠错的内在机制是什么?
我还是不明白。为什么第一次和第二次运行的结果会矛盾?
非常感谢!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-2 11:01:29
第一次运行结果和第二次运行结果相矛盾,不一致
哈哈你想岔了
What is boostsrap sampling:      
          Bootstrap is sampling with replacement from a sample

第一次抽样是:"xsamp=" 17 16  5  6  5  9 13 15 11 20  6 21  5  4 21"

第二次抽样是:"xsamp="  5  5  5  7 21 21  5  5  8 21 17  7  7 15  9"

每执行一次,每次的抽样都不同
结果当然不同
所以bootstrap次数一定要多,10000,50000,...
结果才会稳
#####
s2=NA*seq(1:boot)
你也可以设为
s2=seq(1:boot)
or s2=0*seq(1:boot)
or s2=1*seq(1:boot)
但是编程过都会出错
如何让自己尽快发现错误
譬如你是设(0,0,0,...)
你如何判断这是运算出来的结果
还是初始值

你可参考R help >?matrix
matrix(data = NA, nrow = 1,ncol = 1,byrow = FALSE,dimnames = NULL)

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-2 19:36:39
epoh 发表于 2011-8-2 11:01
第一次运行结果和第二次运行结果相矛盾,不一致
哈哈你想岔了
What is boostsrap sampling:
Rgarch.rar
大小:(50.29 KB)

 马上下载


epoh老师,您好!
    附件中我的R程序为什么运行全是错的?如何修改?
非常非常非常感谢!
1使用bayesGARCH包 (1)数据SHindex.txt ## LOAD DATA  data(SHindex)  y <- SHindex[1:750]   ## RUN THE SAMPLER (2 chains)  MCMC <- bayesGARCH(y, control = list(n.chain = 2, l.chain = 2000))   ## MCMC ANALYSIS (using coda)  plot(MCMC)  autocorr.diag(MCMC)  gelman.diag(MCMC)  1-rejectionRate(MCMC)   ## FORM THE POSTERIOR SAMPLE  smpl <- formSmpl(MCMC, l.bi = 500)   ## POSTERIOR STATISTICS  summary(smpl)  smpl <- as.matrix(smpl)  pairs(smpl)   ## GARCH(1,1) WITH NORMAL INNOVATIONS  MCMC <- bayesGARCH(y, lambda = 100, delta = 500,                     control = list(n.chain = 2, l.chain = 2000))   ## GARCH(1,1) WITH NORMAL INNOVATIONS AND   ## WITH COVARIANCE STATIONARITY CONDITION  addPriorConditions <- function(psi){psi[2] + psi[3] < 1}  MCMC <- bayesGARCH(y, lambda = 100, delta = 500,                     control = list(n.chain = 2, l.chain = 2000,                      addPriorConditions = addPriorConditions))

## End(Not run)

## Not run: sim = mvBEKK.sim(series.count = 3, T = 1000) # simulate a 3 dimensional mgarch model with length of 1000eps = data.frame(sim$eps[[1]], sim$eps[[2]], sim$eps[[3]]) # encapsulateest = mvBEKK.est(eps) # estimate the simulated model ## End(Not run)

## Not run: sim = mvBEKK.sim(series.count = 3, T = 2500) ## End(Not run)

3 NP npplreg命令

# EXAMPLE 1 (INTERFACE=FORMULA): For this example, we simulate an# example for a partially linear model, and compare the coefficient# estimates from the partially linear model with those from a correctly# specified parametric model... ## LOAD DATA  data(dcc_rets.csv)  set.seed(123)=data[,2] n <- 250x1 <- rnorm(n)x2 <- rbinom(n, 5, .3) z1 <- rbinom(n, 2, .3)z2 <- rnorm(n) y <- 1 + x1 + x2 + z1 + sin(z2) + rnorm(n) # First, compute data-driven bandwidths.  We override the default# tolerances for the search method as the objective function is# well-behaved (don't of course do this in general). This may take a few# minutes depending on the speed of your computer... bw <- npplregbw(formula=y~x1+ordered(x2)|ordered(z1)+z2, tol=.1, ftol=.1) # Next, compute the partially linear fit pl <- npplreg(bws=bw) # Print a summary of the model...


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-2 19:36:47
(2)数据CH2007.xls



## LOAD DATA  data(CH2007)  y <- CH2007[1:750]   ## RUN THE SAMPLER (2 chains)  MCMC <- bayesGARCH(y, control = list(n.chain = 2, l.chain = 2000))   ## MCMC ANALYSIS (using coda)  plot(MCMC)  autocorr.diag(MCMC)  gelman.diag(MCMC)  1-rejectionRate(MCMC)   ## FORM THE POSTERIOR SAMPLE  smpl <- formSmpl(MCMC, l.bi = 500)   ## POSTERIOR STATISTICS  summary(smpl)  smpl <- as.matrix(smpl)  pairs(smpl)   ## GARCH(1,1) WITH NORMAL INNOVATIONS  MCMC <- bayesGARCH(y, lambda = 100, delta = 500,                     control = list(n.chain = 2, l.chain = 2000))   ## GARCH(1,1) WITH NORMAL INNOVATIONS AND   ## WITH COVARIANCE STATIONARITY CONDITION  addPriorConditions <- function(psi){psi[2] + psi[3] < 1}  MCMC <- bayesGARCH(y, lambda = 100, delta = 500,                     control = list(n.chain = 2, l.chain = 2000,                      addPriorConditions = addPriorConditions))





2  MGARCH包

## LOAD DATA  data(stockdata)

## Not run: combined = cdts(c("xu100", "dji", "gdaxi"))



## Not run: e1 = elem.an(' stockdata ')  # ----  THE FILE xu100.dat MUST EXIST!!!e2 = elem.an(' stockdata ', from.to = c('1990-01-01', '2003-12-31'))e3 = elem.an(' stockdata ', return.formula = 'log')e4 = elem.an(' stockdata ', from.to = c('1990-01-01', '2003-12-31'), save.statistics = T)e5 = elem.an(' stockdata ', make.bull.indicator = T, make.weekly = F)       ## Not run: sim = BEKK.sim(1000)est = mGJR.est(sim$eps1, sim$eps2) ## End(Not run) ## End(Not run)

## Not run: sim = mvBEKK.sim(series.count = 3, T = 1000) # simulate a 3 dimensional mgarch model with length of 1000eps = data.frame(sim$eps[[1]], sim$eps[[2]], sim$eps[[3]]) # encapsulateest = mvBEKK.est(eps) # estimate the simulated modelmvBEKK.diag(est) # print diagnosis
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-2 22:04:46
zhangtao兄
我劝你可能要花点时间
了解一下自己的数据型态
及如何读入数据
## LOAD DATA
  data(SHindex)
  y <- SHindex[1:750]

是这样读入数据吗?
你有检查数据读进了吗?

#########
## LOAD DATA
  data(CH2007)
  y <- CH2007[1:750]
  CH2007.xls, 这是你自己建的
  明明是56 x 4 matrix,
  你如何能读到CH2007[1:750]

这些无论如何你自己务必弄懂
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-3 00:03:25
epoh老师,在R里面读入数据时存在错误时,有没有办法让R自行报错
如一个数据文件包含一个变量Try,如果我读入时写成了try,那不会自动报错,在R可以设置自动报错吗?
哈哈,刚开始学的时候这个问题弄了好久,现在每读入数据都会检验有没有读取成功
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-3 08:06:20
epoh 发表于 2011-8-2 22:04
zhangtao兄
我劝你可能要花点时间
了解一下自己的数据型态
epoh老师,您好!
    我对R的数据读入实在了解不多,还希望您抽点时间帮我大概修改一下,修改一两个程序就可以了,
剩余的我自己再修改。数据和程序在附件中,下载打开就可以看到。
非常非常非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-3 11:09:05
抱歉zhangtao 兄
容我说白一点
######Ch2007.xls
1995        12461.75        183197        7088.879        1265.747
1996        8292.086        151476        5614.784        1815.18
1997        16798.58        118080        13902.27        1556.115
………….
这种数据型态怎适合作BayesGARCH

###### SHindex.txt, stockdata.txt
SHindex.txt= stockdata.txt
这种数据型态怎适合作BayesGARCH, MGARCH
78        3078.114497
1        3087.319933
1        3124.762076
1        3148.575819
79        3276.079661
1        3314.722095
1        3371.09579
1        3432.983193


3: NP包 npplreg命令
   这就是package "np",的基本范例,
   数据都是模拟产生,怎还会出错
   数据都是模拟产生,怎还会data(dcc_rets.csv)
   因为自行加了底下两行
   #data(dcc_rets.csv)
   #set.seed(123)=data[,2]
   set.seed(42)
   n <- 250
   x1 <- rnorm(n)
   x2 <- rbinom(n, 1, .5)
   .........



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-3 12:16:46
# Load Data into vector y #
u <- read.table("C:\\lhmu.dat")
c <- read.table("C:\\lhmc.dat")
u <- as.matrix(u)
c <- as.matrix(c)
t1 <- floor(u[1])
ts <- 1959
s1 <- (ts-t1)*12+3
n <- nrow(u)
y <- as.matrix((u[s1:n]/c[s1:n])*100)
n <- nrow(y)
epoh老师,您好!
   我想问一下,R用read.table读入数据后,为什么还要用as.matrix命令把它做成一个矩阵呢?
是不是用scan和read.xls命令读入数据后,也要用as.matrix把它做成一个矩阵?


第二个问题:
lngdpq=read.table("lngdpq.txt")
lngdpq.df=lngdpq[,1]

lny = as.matrix(lngdpq.df)*100

td = timeSeq(from="1/1/1947",to="4/1/1998",by="quarters")
lny.ts = timeSeries(data=lny,positions=td)
是不是做时间序列分析,都要把读入的数据用命令timeSeries做成时间序列?

第三个问题:

superman.ts <- signalSeries(data.frame(logret),from=1 ) 这一步是什么意思?
logret=superman.ts[,"logret"] 这一步做什么用?是什么意思?
ret=superman.ts@data[,"logret"]
ret.figarch = fgarch(ret~1, ~figarch(1,1)) 这一步中这两个弯弯~是什么意思?

signalSeries这个命令是什么意思?
非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-3 15:45:18

Q1:read.table,read.csv

   回车的都是"data.frame"

   研究金融商品孰悉这两个就行了

   scan,还可回车list,有兴趣的话请看"帮助"

   lngdpq=read.table("lngdpq.txt")

   class( lngdpq)     #[1] "data.frame"

   dcc.rets=read.csv("dcc_rets.csv")

   class(dcc.rets)    #[1] "data.frame"

Q2:做时间序列分析,都要把读入的数据用命令timeSeries做成时间序列?

   非也,用到的机会不多

   numeric,matrix,data.frame,最常用

Q3:signalSeries这个命令是什么意思?

   详细请看 Insightful\splus80\help\pg.pdf chap 5

   在s-plus,create time series有两种

   calendar-based and Non-calendar-based(signals)

   calendar-based
   timeSeries(pos = timeCalendar(d = 1:10, m = 1, y = 1998, format = "%02m/%02d/%Y"), data = data.frame(11:20))
    Positions X1
   01/01/1998 11
   01/02/1998 12
   01/03/1998 13
   .............
   01/10/1998 20


   Non-calendar-based:
   signalSeries(data = data.frame(x = 11:20),from=1)
   Positions  x
   1        11
   2        12
   3        13
  ...........
  10        20

Q4:fgarch(ret~1, ~figarch(1,1)) 这一步中这两个弯弯~是什么意思

  详细请看帮助

?"~"
  A formula is a call (i.e., of mode "call") to the ~ operator
  Ex:
  lm(Fuel ~ Weight)
  lm(Fuel ~ Weight + Disp.)
  lm(Fuel ~ Weight - 1)      # no intercept

%%%%%%%%%

copulafit.m, statgetargs.m

  

copula code.rar
大小:(8.56 KB)

 马上下载

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-3 17:17:03
epoh 发表于 2011-8-3 15:45
Q1:read.table,read.csv   回车的都是"data.frame"   研究金融商品孰悉这两个就行了   scan,还可回车list,有 ...
Rcode.rar
大小:(3.33 KB)

 马上下载


epoh老师,您好!
     附件中的程序运行有误,我实在找不出原因,请您帮忙看看!
非常感谢!

> local({pkg <- select.list(sort(.packages(all.available = TRUE)),graphics=TRUE)
+ if(nchar(pkg)) library(pkg, character.only=TRUE)})
> # Load Data into vector y #
> y <- read.table("C:\\lhmu.dat")
> y <- as.vector(y)
>
>
>   
>
>   ## RUN THE SAMPLER (2 chains)
>   MCMC <- bayesGARCH(y, control = list(n.chain = 2, l.chain = 2000))
错误于bayesGARCH(y, control = list(n.chain = 2, l.chain = 2000)) :
  'y' must be a vector
>
>   ## MCMC ANALYSIS (using coda)
>   plot(MCMC)
错误于plot(MCMC) : 找不到对象'MCMC'
>   autocorr.diag(MCMC)
错误于autocorr.diag(MCMC) : 找不到对象'MCMC'
>   gelman.diag(MCMC)
错误于as.mcmc.list(x) : 找不到对象'MCMC'
>   1-rejectionRate(MCMC)
错误于rejectionRate(MCMC) : 找不到对象'MCMC'
>
>   ## FORM THE POSTERIOR SAMPLE
>   smpl <- formSmpl(MCMC, l.bi = 500)
错误于formSmpl(MCMC, l.bi = 500) : 找不到对象'MCMC'
>
>   ## POSTERIOR STATISTICS
>   summary(smpl)
错误于summary(smpl) : 找不到对象'smpl'
>   smpl <- as.matrix(smpl)
错误于as.matrix(smpl) : 找不到对象'smpl'
>   pairs(smpl)
错误于pairs(smpl) : 找不到对象'smpl'
>
>   ## GARCH(1,1) WITH NORMAL INNOVATIONS
>   MCMC <- bayesGARCH(y, lambda = 100, delta = 500,
+                      control = list(n.chain = 2, l.chain = 2000))
错误于bayesGARCH(y, lambda = 100, delta = 500, control = list(n.chain = 2,  :
  'y' must be a vector
>
>   ## GARCH(1,1) WITH NORMAL INNOVATIONS AND
>   ## WITH COVARIANCE STATIONARITY CONDITION
>   addPriorConditions <- function(psi){psi[2] + psi[3] < 1}
>   MCMC <- bayesGARCH(y, lambda = 100, delta = 500,
+                      control = list(n.chain = 2, l.chain = 2000,
+                      addPriorConditions = addPriorConditions))
错误于bayesGARCH(y, lambda = 100, delta = 500, control = list(n.chain = 2,  :
  'y' must be a vector
>
>



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-3 19:35:55
# Load Data into vector y #
#y <- read.table("C:\\lhmu.dat")
#y <- as.vector(y)   #Wrong!!!
#class(y)   #data.frame
y <- read.table("lhmu.dat")
z=y[,1]
class(z)    #[1] "numeric"
length(z)   #585
z[1:10]
#[1] 1948.01 1996.07 1233.00 1281.00 1334.00
library(PerformanceAnalytics)
#calculate compound returns from prices
x=CalculateReturns(z)
x[1:10]
#0.024371909 -0.481730023  0.038190799  0.040540925
x=as.numeric(100*x)
class(x)    #[1] "numeric"
x[1:10]
#[1]   2.4371909 -48.1730023   3.8190799   4.0540925
length(x)   #584
## RUN THE SAMPLER (2 chains)
library(bayesGARCH)
MCMC <- bayesGARCH(x, control = list(n.chain = 2, l.chain = 2000))
## MCMC ANALYSIS (using coda)
plot(MCMC)
autocorr.diag(MCMC)
gelman.diag(MCMC)
1-rejectionRate(MCMC)
## FORM THE POSTERIOR SAMPLE
smpl <- formSmpl(MCMC, l.bi = 500)
## POSTERIOR STATISTICS
summary(smpl)
smpl <- as.matrix(smpl)
pairs(smpl)
## GARCH(1,1) WITH NORMAL INNOVATIONS
MCMC <- bayesGARCH(x, lambda = 100, delta = 500,
                     control = list(n.chain = 2, l.chain = 2000))
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-4 16:16:44
DSGE_v3.rar
大小:(648.22 KB)

 马上下载



epoh老师,您好!
          为什么我的dynarev3中的examples运行会提示以下错误:
??? Error using ==> mrdivide
Matrix dimensions must agree.
Error in ==> fs2000a_steadystate at 9
  gst = 1/dA;
??? Error: File: F:\0计量经济学前沿\Dynare 宏观工具箱\dynare_v3\examples\example5.m Line: 1 Column: 1
Missing variable or function.
??? Error: File: F:\0计量经济学前沿\Dynare 宏观工具箱\dynare_v3\examples\example1.m Line: 1 Column: 1
Missing variable or function.
??? Error: File: F:\0计量经济学前沿\Dynare 宏观工具箱\dynare_v3\examples\example2.m Line: 1 Column: 1
Missing variable or function.
??? Error: File: F:\0计量经济学前沿\Dynare 宏观工具箱\dynare_v3\examples\ramst.m Line: 15 Column: 1
Illegal use of reserved keyword "end".
??? Error: File: F:\0计量经济学前沿\Dynare 宏观工具箱\dynare_v3\examples\ramst.m Line: 15 Column: 1
Illegal use of reserved keyword "end".
>>
这些问题如何解决?程序在附件中,另外,DsgeVarLikelihood.m这个m文件如何调用?
非常感谢!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-4 19:59:08

你的安装方法错误

请参考底下安装Dynare Windows installer

及设好路径

执行时

也请参考Running and editing a Dynare example

  http://www.dynare.org/documentation-and-support/quick-start

%%%%%%%%%%%%%%%%%

Starting Dynare (version 4.2.1).
Starting preprocessing of the model file ...
Found 6 equation(s).
Evaluating expressions...done
......
......
THEORETICAL MOMENTS

VARIABLE    MEAN       STD. DEV.  VARIANCE   
y              1.0847     0.0897     0.0080
c              0.8065     0.0529     0.0028
k             11.1870     1.2603     1.5883
a              0.0000     0.0340     0.0012
h              0.2917     0.0119     0.0001
b              0.0000     0.0340     0.0012


VARIANCE DECOMPOSITION (in percent)

     e       u      
y     70.30   29.70
c     65.16   34.84
k     55.00   45.00
a     88.20   11.80
h     55.00   45.00
b     17.43   82.57


MATRIX OF CORRELATIONS

Variables    y        c        k        a        h        b        
y            1.0000  0.8742  0.8548  0.9563  0.6237  0.7773
c            0.8742  1.0000  0.9704  0.8396  0.1656  0.6138
k            0.8548  0.9704  1.0000  0.7504  0.1739  0.7504
a            0.9563  0.8396  0.7504  1.0000  0.5906  0.5627
h            0.6237  0.1656  0.1739  0.5906  1.0000  0.5906
b            0.7773  0.6138  0.7504  0.5627  0.5906  1.0000


COEFFICIENTS OF AUTOCORRELATION

Order    1       2       3       4       5      
y        0.9762  0.9530  0.9303  0.9081  0.8864
c        0.9949  0.9889  0.9819  0.9741  0.9656
k        0.9992  0.9971  0.9937  0.9891  0.9834
a        0.9641  0.9299  0.8973  0.8662  0.8365
h        0.9195  0.8442  0.7739  0.7082  0.6468
b        0.9641  0.9299  0.8973  0.8662  0.8365
Total computing time : 0h00m15s

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-5 15:42:41
epoh 发表于 2011-8-4 19:59
你的安装方法错误请参考底下安装Dynare Windows installer 及设好路径执行时也请参考Running and editing a ...
jplv7spatialpanel.rar
大小:(56.75 KB)

 马上下载


epoh老师,您好!
      我运行jplv7中的spatial 下的panel中的demodynfeerror.m文件时提示以下错误:
??? Error: File: F:\0计量经济学前沿\000booksnmaterials\jplv7\spatial\panel\demodynfeerror.m Line: 324 Column: 1
Function definitions are not permitted at the prompt or in scripts.
您看问题在什么地方,如何解决?这个问题我经常碰到。
非常感谢!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-5 16:20:18
epoh 发表于 2011-7-28 19:01
%%%TVCmodel-final子文件
TVCmodel-final子文件内的文件
主要是供TVCestimate_Figures3_4.m
zhcopular.rar
大小:(75.65 KB)

 马上下载



epoh老师,您好!
         我运行附件中的程序,提示以下错误:
>> data=xlsread('stockindex.xls','B2:E57');
>> empiricalCDF(data,shindex)
??? Undefined function or variable 'shindex'.
>>
>> empiricalCDF(data,xx)
??? Undefined function or variable 'xx'.
>>
您看如何解决?
非常感谢!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-5 18:04:29

Function definitions are not permitted at the prompt or in scripts.

意思是script 里不能定义函数.

也就是原来demodynfeerror.m

要拆成9个文件

这跟R有很大的不同,使用时要小心.

demodynfeerror.m(pure script)
f_demodynerrorBS_del.m
f_demodynerrorBS_gam.m
......

......

demodynfeerror.rar

  

demodynfeerror.rar
大小:(10.01 KB)

 马上下载


%%%%%%%%empiricalCDF
data=xlsread('stockindex.xls','B2:E57');
empiricalCDF(data)
ans =
    0.2807    0.3509    0.1754    0.5789
    0.8947    0.4737    0.3860    0.2982
    0.7719    0.4561    0.8246    0.8070

    ....................................

    ....................................

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-6 07:58:32
epoh 发表于 2011-8-5 18:04
Function definitions are not permitted at the prompt or in scripts.意思是script 里不能定义函数.也就是 ...
influence.rar
大小:(9.37 KB)

 马上下载


计算:iotalbecoe.xls中所有行的和除以最后一列的和。

例如:K2/sum(K2:K11)

K3/sum(K2:K11)

………

K11/ sum(K2:K11)

Epoh老师,您好!

以上这个计算在matlab中实现计算?要求输出为excel格式。

在附件中。我是在excel中实现计算的,当时我想,要是在matlab中能实现计算,
当然更好,但是我发现这个算法在matlab中要实现要做一个for循环,我做了好久没
做出来。我也想:要是出来的结果是excel格式那多好。但是我不知道在matlab中能不能
实现excel输出。
另外,我想问一下:在R中要输出为excel格式要用什么包或命令?
非常感谢epoh老师!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-6 14:08:02

data=xlsread('iotablecoe.xls','B2:K11');

size(data) % 10 10

           %你的数据有 10rows,10 columns

%你要取最后一个column,语法如下

data(:,10)   %in R data[,10]

%你要取第一个row,语法如下

data(1,:)    %in R data[1,]

%取总和

sum(data(1,:))

孰悉了这些指令

你可以自己来的.

别跟R的语法搞混就是了.

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-6 18:41:56
epoh 发表于 2011-8-6 14:08
data=xlsread('iotablecoe.xls','B2:K11');size(data) % 10 10           %你的数据有 10rows,10 columns%你 ...
T Bekk.rar
大小:(15.43 KB)

 马上下载


F:\0计量经济学前沿\000booksnmaterials\jplv7\Ucsd_garch\MV Garch\T Bekk中的diagonal_bekk_likelihood.m文件,
我实在弄不明白:这里的parameters,errors,p,q,k,k2,t这些参数如何设定?如何利用diagonal_bekk_likelihood.m文件
估计附件中的数据stockindex.xls?


function [LLF,likelihoods,Ht]=diagonal_bekk_likelihood(parameters,errors,p,q,k,k2,t);
% PURPOSE:
%      To Estimate a diagonal BEKK multivariate GARCH likelihood.
%
%
% USAGE:
%      [LLF,likelihoods,Ht]=diagonal_bekk_mvgarch_likelihood(parameters,errors,p,q,k,k2,t);
%
%
% INPUTS:
%      parameters - a k*(k+1)/2 + k*p +k*q vector of model parameters of the form
%                   [ivech(C);diag(A(1));...;diag(A(p));diag(B,); ...diag(B(q))]
%      errors     - A zeromean t by k martix of residuals
%      p          - The lag length of the innovation process
%      q          - The lag length of the AR process
%      k          - The number of data series
%      k2         - k*k
%      t          - the length of the data series
%
% OUTPUTS:
%      LLF           - The loglikelihood of the function at the optimum
%      Ht            - A k x k x t 3 dimension matrix of conditional covariances
%      likelihoods   - A t by 1 vector of individual likelihoods
%
% COMMENTS:
%
%
% Author: Kevin Sheppard
% kevin.sheppard@economics.ox.ac.uk
% Revision: 2    Date: 12/31/2001


%The first k(k+1)/2 parameters are C, the next p are A, and the next q are B
C=parameters(1:(k2));
A=parameters(k2+1:k2+k*p);
B=parameters(k2+k*p+1:k2+k*p+k*q);
nu=parameters(k2+k*p+k*q+1)^2+2.1;
tempA=zeros(k,k,p);
tempB=zeros(k,k,p);
for i=1:p
    tempA(:,:,i)=diag(A((k*(i-1)+1):(k*i)));
end
for i=1:q
    tempB(:,:,i)=diag(B((k*(i-1)+1):(k*i)));
end
A=tempA;
B=tempB;
C=ivech(C);
const=C*C';
uncond=cov(errors);
% for starting up, both ee' and H have expectation uncond.  We cna leverage thsi to help the loops.
m=max(p,q);
eeprime=zeros(k,k,t+m);
Ht=zeros(k,k,t+m);
for i=1:m
    eeprime(:,:,i)=uncond;
    Ht(:,:,i)=uncond;
end

LLF=0;
errors=[repmat(sqrt(diag(uncond))',m,1);errors];
likelihoods=zeros(t+m,1);
constant=(k/2)*(log(nu)-log(nu-2))+gammaln(0.5*(k+nu))-(k/2)*log(nu*pi)-gammaln(0.5*nu);
for i=m+1:t+m;
    Ht(:,:,i)=const;
    for j=1:p
         Ht(:,:,i)=Ht(:,:,i)+A(:,:,j)*(errors(i-j,:))'*(errors(i-j,:))*A(:,:,j)';
    end
    for j=1:q
         Ht(:,:,i)=Ht(:,:,i)+B(:,:,j)*Ht(:,:,i-j)*B(:,:,j)';
    end
    likelihoods(i)=constant-0.5*log(det(Ht(:,:,i))) - 0.5*(k+nu)*log(1+((1/(nu-2))*errors(i,:)*Ht(:,:,i)^(-1)*errors(i,:)'));
%    likelihoods(i)=k*log(2*pi)+(log(det(Ht(:,:,i)))+errors(i,:)*Ht(:,:,i)^(-1)*errors(i,:)');
    LLF=LLF+likelihoods(i);
end
LLF=-LLF;
likelihoods=-likelihoods(m+1:t+m);
Ht=Ht(:,:,m+1:t+m);
if isnan(LLF)
    LLF=1e6;
end
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-6 19:25:54
epoh 发表于 2011-7-24 12:12
function u1cor = acf(amat,bmat,shockvar,yvar,dypos);
及impulse.m
由于作者并没对各种参数加予注解
epoh老师,您好!
     您设定的这些参数amat,bmat,shockvar,yvar,dypos为什么我在相关程序中没有找到?
我觉得理解这些参数的设定对调用这些参数至关重要。
相关程序在TVmodel文件夹中。

function u1cor = acf(amat,bmat,shockvar,yvar,dypos);
及impulse.m
由于作者并没对各种参数加予注解
所以不容易理解.
%%%%%%%%%%
function yvec1=impf(a,b,shock,nstep,neq);
%Proc to compute impulse response from system.
个参数设置如下:


amat=[   0         0         0    0.0494    0.0222         0         0         0         0         0 0 0 0 0 0 0 0 0;
         0         0         0    0.8588    0.3865         0         0         0         0         0 0 0 0 0 0 0 0 0;
         0         0         0   -0.0555   -0.0250         0         0         0         0         0 0 0 0 0 0 0 0 0;
         0         0         0    0.6730    0.3029         0         0         0         0         0 0 0 0 0 0 0 0 0;
         0         0         0   -0.3270   -0.1471         0         0         0         0         0 0 0 0 0 0 0 0 0;
         0         0         0    0.1483    0.0667         0         0         0         0         0 0 0 0 0 0 0 0 0;
         0         0         0    0.0494    0.0222         0         0         0         0         0 0 0 0 0 0 0 0 0;
         0         0         0         0         0         0         0         0         0         0 0 0 0 0 0 0 0 0;
         0         0         0         0         0         0         0         0         0         0 0 0 0 0 0 0 0 0;
    1.0000         0         0         0         0         0         0         0         0         0 0 0 0 0 0 0 0 0;
         0    1.0000         0         0         0         0         0         0         0         0 0 0 0 0 0 0 0 0;
         0         0    1.0000         0         0         0         0         0         0         0 0 0 0 0 0 0 0 0;
         0         0         0    1.0000         0         0         0         0         0         0 0 0 0 0 0 0 0 0;
         0         0         0         0    1.0000         0         0         0         0         0 0 0 0 0 0 0 0 0;
         0         0         0         0         0    1.0000         0         0         0         0 0 0 0 0 0 0 0 0;
         0         0         0         0         0         0    1.0000         0         0         0 0 0 0 0 0 0 0 0;
         0         0         0         0         0         0         0    1.0000         0         0 0 0 0 0 0 0 0 0;
         0         0         0         0         0         0         0         0    1.0000         0 0 0 0 0 0 0 0 0];


b =[-0.0423   -0.0423    0.0423    0.0682    0.0494    0.0727         0   -0.0727   -0.0494
    0.3068   -0.6932   -0.3068    1.1956    0.8588    1.8911         0   -1.8911   -0.8588
    0.0885    0.0885   -1.0885   -0.0655   -0.0555    0.5458         0   -0.5458    0.0555
    0.0974    0.0974   -0.0974    0.6107    0.6730    0.6002         0   -0.6002   -0.6730
    0.0974    0.0974   -0.0974    0.6107   -0.3270    0.6002         0   -0.6002    0.3270
   -0.1268   -0.1268    0.1268    0.2046    0.1483   -0.7818         0    0.7818   -0.1483
   -0.0423   -0.0423    0.0423    0.0682    0.0494    0.0727   -1.0000   -0.0727   -0.0494
         0         0         0         0         0         0         0    1.0000         0
         0         0         0         0         0         0         0         0    1.0000
         0         0         0         0         0         0         0         0         0
         0         0         0         0         0         0         0         0         0
         0         0         0         0         0         0         0         0         0
         0         0         0         0         0         0         0         0         0
         0         0         0         0         0         0         0         0         0
         0         0         0         0         0         0         0         0         0
         0         0         0         0         0         0         0         0         0
         0         0         0         0         0         0         0         0         0
         0         0         0         0         0         0         0         0         0];

shock =[0;0;0;0;0;0;0;0;1];
     
neq = 9;

imptech = impf(amat,b,shock,20,neq);
imptech
pipos   =   1;
dpos   =   2;
epos   =   3;
xpos   =   4;
gypos  =   5;
rpos   =   6;
dppos  =   7;
erpos =   8;
eapos =   9;
IRF=[imptech(:,pipos) imptech(:,xpos) imptech(:,gypos) imptech(:,rpos)];
IRF

本文来自: 人大经济论坛 Matlab及其他计量软件专版 版,详细出处参考: https://bbs.pinggu.org/forum.php? ... age=9&from^^uid=11232
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

分享

扫码加好友,拉您进群