Polly
Polly

性别: 浙江 - 杭州 注册于 2021-07-28

向TA求助
36金币数
2360 经验值
1个粉丝
主页被访问 2161 次

169 个回答

0 赞同

关于streamEngineParser内部计算耗时的问题

对于多因子并行解析成多个引擎的情况,内部会按照因子顺序进行解析,第一个引擎计算第一个因子(计算时会将第二个引擎需要用到的计算字段也输出),然后到第二个引擎再计算第二个因子。因此本质上还是串行的,时间也是叠加的。

回答于 2023-08-07 14:07

0 赞同

关于streamEngineParser中要分发给时序引擎计算的因子

如果被拆分成时序聚合引擎,则触发规则会和时序聚合引擎一致,即下一个窗口第一条数据到来时触发计算。是否会被识别为时序聚合引擎是根据 rolling 函数标识的,引擎的 step 对应 rolling 的 step 参数。

回答于 2023-08-07 13:59

0 赞同

老师请帮我写一个streamEngineParser的小例子

感觉您这个不需要 parser,直接用响应式引擎就可以了 n = 1000datetime = 2023.08.01 09:00:00.00.000 + 500 * 1..nsym = rand(`A`B, n)price = rand(100.0, n)quotes=table(datetime, sym, price) input = table(1:0, `datetime`sym`price, [TIMESTAMP, SYMBOL, DOUBLE])output2 = table(1:0, `sym`datetime`factor1`fac...

回答于 2023-08-07 13:52

1 赞同

关于表两行作差的问题

我尝试用 group by 实现,行做差的逻辑我定义了一个自定义函数: order_book_id = `a`b`a`b`c`a`c`a`b date = take(2022.01.01, 9) Q = 1 0 1 0 1 1 1 1 0 revenue = 1 3 2 5 9 2 1 6 2 t = table(order_book_id, date, Q, revenue) defg f(revenue){ return last(revenue) - last(prev(revenue))} // 或者 defg f(revenu...

回答于 2023-07-26 13:33

0 赞同

请教更优算法

我尝试优化了以下函数,测试后发现性能可以提升: def halfLifeW(half_life,window){i    Lambda = pow(0.5,1\half_life)    W = accumulate(mul{Lambda}, window-1, Lambda)    return reverse(W) } def cneBeta(stock_ret,index_ret){ stock_ret_list = matrix(movingWindowData(stock_ret, 252, fixed=true)) index_r...

回答于 2023-07-25 18:19

0 赞同

元编程时 join 两列和预期结果不同

可以用 reduce 替代: sql(select=reduce(join, [sqlCol(`sym), sqlCol(`date)], fields_list), from=t).eval() 

回答于 2023-07-24 10:07

0 赞同

为什么用户在web界面看不到可查询的数据库列表?

https://www.dolphindb.cn/cn/help/200/SystemManagement/UserAccessControl.html?highlight=%E6%9D%83%E9%99%90%E7%AE%A1%E7%90%86#id6 可以参考这个链接,因为要看到库的信息,所以应该需要 DB_MANAGE 权限,DB_READ 只是表层面的

回答于 2023-07-12 14:53

0 赞同

基于pythonAPI使用admin账号连接登录后,怎么创建普通用户?

s.run("createUser('John', 'Qb0507#$')")print(s.run("getUserList()"))

回答于 2023-07-12 14:47

0 赞同

Python API 如何创建按年分区的数据库

VALUE 是值分区,默认自动拓展,因此您的脚本实际是按天分区的。可以参考以下脚本,按年分区: yearRange = np.array(pd.date_range(start='2011-01-01', periods=10, freq='12M'), dtype="datetime64[M]")db = s.database(dbName='mydb', partitionType=keys.RANGE, partitions=yearRange, dbPath="dfs://testdb")

回答于 2023-07-11 16:25

0 赞同

如何提取函数对象的函数名

可以通过 syntax 获取函数定义的字符串,然后通过分割字符串,获取函数名 syntax(myf2).split("(")[0]

回答于 2023-07-10 12:04