簡體   English   中英

使用Python進行GARCH建模時出錯

[英]Error while GARCH Modeling using Python

我有一個用於GARCH建模的示例python代碼,該代碼創建了隨機生成數字的數據。 我想用我自己的包含列向量的csv文件替換數字,但這是行不通的。

import numpy as np
from scipy import optimize

r=np.array([0.945532630498276,
0.614772790142383,
0.834417758890680,
0.862344782601800,
0.555858715401929,
0.641058419842652,
0.720118656981704,
0.643948007732270,
0.138790608092353,
0.279264178231250,
0.993836948076485,
0.531967023876420,
0.964455754192395,
0.873171802181126,
0.937828816793698])

print r

f=open('main_ax.csv')
b=f.read()
r=np.array(b)
print r
def GARCH11_logL(param, r):
    omega, alpha, beta = param
    n = len(r)
    s = np.ones(n)
    for i in range(3,n):
        s[i] = omega + alpha*r[i-1]**2 + beta*(s[i-1]) # GARCH(1,1) model
    logL = -( (-np.log(s) - r**2/s).sum() )            # calculate the sum 
    return logL
R = optimize.fmin(GARCH11_logL,np.array([.1,.1,.1]),args=(r,),full_output=1)
print R
print
print("omega = %.6f\nbeta  = %.6f\nalpha = %.6f\n") % (R[0][0],R[0][2],R[0][1])

該程序將引發以下錯誤:

Traceback (most recent call last):
  File "C:\Users\Gaurav\Desktop\Ram\garch_model.py", line 35, in <module>
    R = optimize.fmin(GARCH11_logL,np.array([.1,.1,.1]),args=(r,),full_output=1)
  File "C:\Python27\lib\site-packages\scipy\optimize\optimize.py", line 377, in fmin
    res = _minimize_neldermead(func, x0, args, callback=callback, **opts)
  File "C:\Python27\lib\site-packages\scipy\optimize\optimize.py", line 435, in _minimize_neldermead
    fsim[0] = func(x0)
  File "C:\Python27\lib\site-packages\scipy\optimize\optimize.py", line 285, in function_wrapper
    return function(*(wrapper_args + args))
  File "C:\Users\Gaurav\Desktop\Ram\garch_model.py", line 32, in GARCH11_logL
    s[i] = omega + alpha*r[i-1]**2 + beta*(s[i-1]) # GARCH(1,1) model
TypeError: unsupported operand type(s) for ** or pow(): 'numpy.string_' and 'int'

修復此代碼的任何幫助將非常有幫助。

f=open('main_ax.csv')
b=f.read()
r=np.array(b)

創建一個具有單個元素(字符串)的數組。 您尚未將文件的內容轉換為數字數組。

您可以將該代碼替換為對numpy.loadtxt的調用:

r = np.loadtxt('main_ax.csv')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM