在DolphinDB中快速实现因子计算

发布于 2022-09-12 02:32:24 字数 325 浏览 20 评论 0

已有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的计算引擎来并行计算,请问有什么改动最小的办法。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

撕心裂肺的伤痛 2022-09-19 02:32:24

这些因子可以翻译成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的实现方法

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文