Main Content

ecmnstd

Standard errors for mean and covariance of incomplete data

Description

example

[StdMean,StdCovar] = ecmnstd(Data,Mean,Covariance) computes standard errors for mean and covariance of incomplete data.

Use ecmnstd after estimating the mean and covariance of Data with ecmnmle. If the mean and distinct covariance elements are treated as the parameter θ in a complete-data maximum-likelihood estimation, then as the number of samples increases, θ attains asymptotic normality such that

θE[θ]N(0,I1(θ)),

where E[θ] is the mean and I(θ) is the Fisher information matrix.

With missing data, the Hessian H(θ) is a good approximation for the Fisher information (which can only be approximated when data is missing).

example

[StdMean,StdCovar] = ecmnstd(___,Method) adds an optional argument for Method.

Examples

collapse all

This example shows how to compute the standard errors for mean and covariance of incomplete data for five years of daily total return data for 12 computer technology stocks, with six hardware and six software companies

load ecmtechdemo.mat

The time period for this data extends from April 19, 2000 to April 18, 2005. The sixth stock in Assets is Google (GOOG), which started trading on August 19, 2004. So, all returns before August 20, 2004 are missing and represented as NaNs. Also, Amazon (AMZN) had a few days with missing values scattered throughout the past five years.

[ECMMean, ECMCovar] = ecmnmle(Data)
ECMMean = 12×1

    0.0008
    0.0008
   -0.0005
    0.0002
    0.0011
    0.0038
   -0.0003
   -0.0000
   -0.0003
   -0.0000
      ⋮

ECMCovar = 12×12

    0.0012    0.0005    0.0006    0.0005    0.0005    0.0003    0.0005    0.0003    0.0006    0.0003    0.0005    0.0006
    0.0005    0.0024    0.0007    0.0006    0.0010    0.0004    0.0005    0.0003    0.0006    0.0004    0.0006    0.0012
    0.0006    0.0007    0.0013    0.0007    0.0007    0.0003    0.0006    0.0004    0.0008    0.0005    0.0008    0.0008
    0.0005    0.0006    0.0007    0.0009    0.0006    0.0002    0.0005    0.0003    0.0007    0.0004    0.0005    0.0007
    0.0005    0.0010    0.0007    0.0006    0.0016    0.0006    0.0005    0.0003    0.0006    0.0004    0.0007    0.0011
    0.0003    0.0004    0.0003    0.0002    0.0006    0.0022    0.0001    0.0002    0.0002    0.0001    0.0003    0.0016
    0.0005    0.0005    0.0006    0.0005    0.0005    0.0001    0.0009    0.0003    0.0005    0.0004    0.0005    0.0006
    0.0003    0.0003    0.0004    0.0003    0.0003    0.0002    0.0003    0.0005    0.0004    0.0003    0.0004    0.0004
    0.0006    0.0006    0.0008    0.0007    0.0006    0.0002    0.0005    0.0004    0.0011    0.0005    0.0007    0.0007
    0.0003    0.0004    0.0005    0.0004    0.0004    0.0001    0.0004    0.0003    0.0005    0.0006    0.0004    0.0005
      ⋮

To evaluate the impact of the estimation error and, in particular, the effect of missing data, use ecmnstd to calculate standard errors. Although it is possible to estimate the standard errors for both the mean and covariance, the standard errors for the mean estimates alone are usually the main quantities of interest.

StdMeanF = ecmnstd(Data,ECMMean,ECMCovar,'fisher')
StdMeanF = 12×1

    0.0010
    0.0014
    0.0010
    0.0009
    0.0011
    0.0013
    0.0009
    0.0006
    0.0009
    0.0007
      ⋮

Calculate standard errors that use the data-generated Hessian matrix (which accounts for the possible loss of information due to missing data) with the option 'hessian'.

StdMeanH = ecmnstd(Data,ECMMean,ECMCovar,'hessian')
StdMeanH = 12×1

    0.0010
    0.0014
    0.0010
    0.0009
    0.0011
    0.0021
    0.0009
    0.0006
    0.0009
    0.0007
      ⋮

The difference in the standard errors shows the increase in uncertainty of estimation of asset expected returns due to missing data. To view the differences:

Assets
Assets = 1x12 cell
  Columns 1 through 6

    {'AAPL'}    {'AMZN'}    {'CSCO'}    {'DELL'}    {'EBAY'}    {'GOOG'}

  Columns 7 through 12

    {'HPQ'}    {'IBM'}    {'INTC'}    {'MSFT'}    {'ORCL'}    {'YHOO'}

StdMeanH'
ans = 1×12

    0.0010    0.0014    0.0010    0.0009    0.0011    0.0021    0.0009    0.0006    0.0009    0.0007    0.0010    0.0012

StdMeanF'
ans = 1×12

    0.0010    0.0014    0.0010    0.0009    0.0011    0.0013    0.0009    0.0006    0.0009    0.0007    0.0010    0.0012

StdMeanH' - StdMeanF'
ans = 1×12
10-3 ×

   -0.0000    0.0021   -0.0000   -0.0000   -0.0000    0.7742   -0.0000   -0.0000   -0.0000   -0.0000   -0.0000   -0.0000

The two assets with missing data, AMZN and GOOG, are the only assets to have differences due to missing information.

Input Arguments

collapse all

Data, specified as an NUMSAMPLES-by-NUMSERIES matrix with NUMSAMPLES samples of a NUMSERIES-dimensional random vector. Missing values are indicated by NaNs.

Data Types: double

Maximum likelihood parameter estimates for the mean of the Data using the ECM algorithm, specified as a NUMSERIES-by-1 column vector.

Maximum likelihood parameter estimates for the covariance of the Data using the ECM algorithm, specified as a NUMSERIES-by-NUMSERIES matrix.

(Optional) Method of estimation for standard error calculations, specified as a character vector. The estimation methods are:

  • 'hessian' — The Hessian of the observed negative log-likelihood function. This method is recommended since the resultant standard errors incorporate the increase uncertainties due to missing data. In particular, standard errors calculated with the Hessian are generally larger than standard errors calculated with the Fisher information matrix.

  • 'fisher' — The Fisher information matrix.

Data Types: char

Output Arguments

collapse all

Standard errors of estimates for each element of Mean vector, returned as a NUMSERIES-by-1 column vector.

Standard errors of estimates for each element of Covariance matrix, returned as a NUMSERIES-by-NUMSERIES matrix.

Introduced before R2006a