如何定义Python中DolphinDB脚本中编写的因子?

问题描述 投票:0回答:1

如何定义用 DolphinDB 脚本编写的因子并在 python 中调用它?

python function dolphindb
1个回答
0
投票

最简单最直接的方式就是通过run方法来执行脚本。

defAlpha101="""
def WQAlpha100(vol, high, low, close, indclass){
    tmprank = rowRank(((close - low - (high - close)) / (high - low) * vol), percent=true)
    ind1 = byRow(contextby{demean, , indclass.row(0)}, tmprank)
    ind2 = byRow(contextby{demean, , indclass.row(0)}, ind1)
    adv20 = mavg(vol, 20)
    argmin = mimin(close, 30)
    rank1 = rowRank(adv20, percent=true)
    rank2 = rowRank(argmin, percent=true)
    x = mcorr(close, rank1, 5) - rank2
    ind3 = byRow(contextby{demean, , indclass.row(0)}, x)
    return -(each(div, 1.5 * ind2, sum(abs(ind2))) - each(div, ind3, sum(abs(ind3))))*(vol \ adv20)
}
"""
s.run(defAlpha100)
s.run("WQAlpha100(vol, high, low, close, indclass)")

如果项目组以后想要对脚本进行工程化管理,有两种做法:

  1. 使用模块或功能视图封装脚本。

  2. 将脚本存储在数据库中,并封装调用接口,如

    callScripts(String host, int port, String functionID, Object... args)

© www.soinside.com 2019 - 2024. All rights reserved.