我需要为时间序列评估一组数学公式(字符串格式),例如:
" y = 0.5 * gdp[t] + 0.2 * ln( sp500[t-2] ) "
数学公式有两个我需要注意的元素:
gdp
)t-1
或t-2
等索引是否有人有一种相对强大/有效的方法来评估此公式为给定输入的数字(例如t = 5)。理想情况下,快速的方法,但这是一个奢侈品。
答案 0 :(得分:2)
我不确定您希望如何使用gdp
和sp500
,但这是一个eval
的例子,可以帮助您入门:
import math
s = "0.5 * gdp[t] + 0.2 * ln( sp500[t-2] ) "
gdp = [0,1,2,3,4,5]
sp500 = [0,1,2,3,4,5]
t = 5
ln = lambda x: math.log(x)
y = eval(s)
print y # prints 2.71972245773