请教一下,我原先用python写的因子表达式,想快速用到dolphindb中,并且用dophonDB的计算引擎来并行计算,有什么改动最小的办法。我打个比方,比如下面这个因子,计算累积bid和ask量比的:
ask = df["av1"]
bid = df["bv1"]
p = df["mp"].iloc[0]
for i in range(2,11):
ask += np.exp(-10*(i-1)/p)*df["av"+str(i)]
bid += np.exp(-10*(i-1)/p)*df["bv"+str(i)]
vol_diff = 0.5*np.log(bid/ask)
翻译如下:
def factorVolDiff(t){
w = exp(-10 * 0..9/t.mp[0])
return select 0.5*log(rowSum([bv1,bv2,bv3,bv4,bv5,bv6,bv7,bv8,bv9,bv10]*w)/rowSum([av1,av2,av3,av4,av5,av6,av7,av8,av9,av10]*w)) as volDiff from t
}
上面这个写法可以直接在DolphinDB数据库内使用