1

私はアルゴリズムを書いて、毎日のリターンの分布の尖度を計算しています。尖度の計算を Excel の計算と一致させようとしています。Excel の計算では、この Web ページの上部にある式を使用していると思われます: http://www.macroption.com/kurtosis-excel-kurt/

その式をエミュレートするために使用した私のコードは次のとおりです(戻り値は、一連の毎日の戻り値で構成されるnumpy配列です):

def kurtosis(returns):
    n = len(returns)
    avg = np.average(returns)
    std = np.std(returns)
    coefficient = 1.0 * n * (n+1) / ((n-1) * (n-2) * (n-3) * std**4.0)
    term = (3 * (n-1)**2.0) / ((n-2) * (n-3))
    summation = 0

    for x in returns: 
        summation += ( (x - avg) ) ** 4.0
    kurt = coefficient * summation - term

    return kurt 

どうやら、Excel と私のコードで使用される数式に違いがあるようです... Excel では尖度が 1.94 ですが、私のコードでは 2.81 の値が得られます。

2 つの値が異なる理由について、誰かが手がかりを持っていますか?

4

1 に答える 1