% T Test of Portfolio Returns: 'Sdata - Mat' 'Bdata - Mat'
% T Test of Portfolio Returns: 'Sdata - Mat' 'Bdata - Mat'
1.
Coding:
data2
=
[]
data3
=
[]
data4
=
[]
%
Copy
and
paste
requested
range
of
data
into
the
corresponding
matrixes
%
(1)
The
FF-Five
Factor
Model
load('data1.mat');
load('data2.mat');
dates
=
data2(:,1);
factors
=
data2(:,2:6);
riskfree
=
data2(:,7);
[T,K]
=
size(factors);
[T,W]
=
size(data1);
excessReturns
=
bsxfun(@minus,data1,riskfree);
%
Time
series
regressions
X
=
[ones(T,1)
factors];
fprintf('X
=
%.2f\n',X);
alphaBeta
=
X\excessReturns;
alpha
=
alphaBeta(1,:)';
beta
=
alphaBeta(2:6,
:)';
avgExcessReturns
=
mean(excessReturns)';
%
Cross-section
regression
lam
=
beta\avgExcessReturns;
%
Moment
conditions
p
=
alphaBeta;
epsilon
=
excessReturns-X*p;
moments1
=
kron(epsilon,ones(1,K+1));
i
=
1;
betaVar
=
zeros(49,6);
for
j
=
1:10
for
k
=
1:10
a
=
alpha(i);
b
=
beta(i,:);
offset
=
(K+1)*(i-1)+1:(K+1)*(i);
variances
=
diag(vcv(offset,offset))';
betaVar(i,:)
=
variances;
stdv
=
sqrt(variances);
c
=
[a
b];
tstats
=
c./stdv;
fprintf('Size:
%d,
B/M:
%d
Alpha
Beta(VWM)
Beta(SMB)