Shena Mao
Shena Mao

性别: 注册于 2021-07-23

向TA求助
20金币数
630 经验值
1个粉丝
主页被访问 1760 次

最近动态

2022-07-04 18:46 回答问题

你好,很高兴你这边有深入了解因子实践,针对你这边问的几个,DolphinDB这边都可以解决: 1. 可以直接添加股票。只是如果添加股票之后,导入的时候需要使用新的数据结构。在写入数据之后,不能按照以前的数据结构append。 2. 对应的空值可以写空值的,你这边报错的话报具体说明错误呢? 3. 比较建议对于一个因子而言,所有的股票一起算。如果只更新部分股票的因子,可以将其算好之后构建原库表结构进行append。具体操作可以是join一张不计算的股票的空值表然后用库表的列名reorderColumn,最

2022-06-13 16:36 回答问题

由于split的对象必须是标量,故在表中,可以用each\loop进行操作。 可以写一个自定义函数,将其应用于想要展开的几列: def splitV(sp,k){        return string(split(sp, " ")[k])} 应用于表中: sp = array(STRING, 0).append!("aa bb cc").append!("aa bb dd")t = table(sp as sp)select *, each(splitV,sp,0) as `a, each(

2022-06-13 10:46 回答问题

这边可以将公式拆分,写一个自定义函数,即可高效算出均值和标准差。 def std_ohlc(open, close, high, low){ count = mcount(close,5)+mcount(open,5)+mcount(high,5)+mcount(low,5) avg = (msum(close, 5)+msum(open, 5)+msum(low, 5)+msum(high, 5))\count sum2 = msum(close*close, 5)+msum(open*open,

2022-06-13 10:24 回答问题

可以用自定义函数解决这个问题: def choice(v, n, p){        cump = removeTail!([0.0].join(cumsum(p\p.sum())), 1)        return v[cump.asof(rand(1.0, n))]}a=[1, 2, 3, 4]n=100000p=[0.1, 0.1, 0.3, 0.5]r = choice(a, n, p) 在1.30.19\2.00.7版本以后,可以调用函数randDiscrete randDiscre

2022-05-26 17:34 回答问题

这个计算的难点在于,moving函数需要聚合,而ols不是聚合函数;each的参数不能如moving函数这样传参。 故在写的时候,需要先将ols取r2的值进行封装,使其为自定义聚合函数。 再将moving函数封装,最后each调用。 具体可以参考以下: defg getR2(x,y){        return ols(x,y,,2).RegressionStat[0,1]        }def movingR2(x , y, window){        return moving(getR

2022-04-21 17:47 回答问题

可以用context by针对品种分组,然后用having,对每一个组内的数据用rowNo()函数进行过滤输出。 例子如下,对一组数据根据id的种类每组采样20个样本: a = table(rand(`a`b`c,2000) as id, rand(50.0,2000) as price,1..2000 as rowno)select * from a context by id having rowNo(id) in (0 join (rowNo(id).max()/18*1..18) join (r

2022-04-20 15:01 回答问题

目前,python parse中python相关的,是对象.方法() 在python parse 中也可以执行dolphindb 的内置函数,是方法()。

2022-02-10 12:26 回答问题

refer to https://ask.dolphindb.net/question/1157 array Vector in reactiveStateEngine will supported by next version. However, adding the function of calculating msum among array vector is not part of the plan of next version. It may be realized at least a

2022-02-08 18:05 回答问题

In SQL, you could use fixedLengthArrayVector function to do this. t1 = table(take(2020.01.01,18) as date1,1 2 3 1 2 3 4 4 5 5 6 7 8 9 6 7 8 9 as index, `A`A`A`B`B`B`A`B`B`A`A`A`A`A`B`B`B`B as symbol, 4 7 1 8 7 4 5 7 4 8 7 6 9 8 7 5 4 1 as value)t2= select

2022-02-02 14:27 回答问题

Happy Lunar New Year! What kind of result do you want to get? As you know that if you drop null value, there would be only 9 records. However, other columns contain thousand. If you want your result filling each row, you could do ema(filter condition to