我正在尝试定义一个程序来计算每个安全性的每日回报的平均值:
def Adj_mean():
return np.loadtxt('my_file.csv', skiprows=1, usecols=(1,2,3,4,5,6)).mean(axis=0)
以下是my_file.csv
:
Date Open High Low Close Volume Adj Close
2013-09-27 874.82 877.52 871.31 876.39 1258800 876.39
2013-09-26 878.3 882.75 875 878.17 1259900 878.17
2013-09-25 886.55 886.55 875.6 877.23 1649000 877.23
2013-09-24 886.5 890.1 881.4 886.84 1467000 886.84
2013-09-23 896.15 901.59 885.2 886.5 1777400 886.5
2013-09-20 898.39 904.13 895.62 903.11 4345300 903.11
2013-09-19 905.99 905.99 895.4 898.39 1597900 898.39
2013-09-18 886.35 903.97 883.07 903.32 1934700 903.32
2013-09-17 887.41 888.39 881 886.11 1259400 886.11
2013-09-16 896.2 897 884.87 887.76 1336500 887.76
当我运行它时:
print Adj_mean()
我有以下错误:
IndexError: list index out of range
我该如何解决?
感谢。
注意:每日退货公式:(x - y)/ y 或(x / y) - 1 ;其中x =今天Adj close,y =昨天Adj close
答案 0 :(得分:0)
检查您的* .csv文件,最后一行没有Adj Close
列的值。从Google财经下载的这些库存历史数据中的最后一行代表数据集中的第一个日。根据您的每日回报公式,第一天没有价值。