Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

已有pandas代码,计算累积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)

想快速用到dolphindb中,并且用dophonDB的计算引擎来并行计算,请问有什么改动最小的办法。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
346 views
Welcome To Ask or Share your Answers For Others

1 Answer

这些因子可以翻译成DolphinDB database的代码,然后在内置的流数据框架中完成。

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数据库内使用的。

https://github.com/dolphindb/Orca/blob/master/tutorial_cn/factor.md这个例子对比了orca和pandas的实现方法


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share

548k questions

547k answers

4 comments

86.3k users

...