veryOrdinary
veryOrdinary

性别: 注册于 2023-02-27

向TA求助
20金币数
1210 经验值
0个粉丝
主页被访问 729 次

116 个回答

0 赞同

如何查询所有股票最后时间点的数据?

直接用 context by + csort + limit -1即可  iv_data = select * from iv where date(trigger)=today() context by code,KPrice csort trigger limit -1

回答于 2023-11-10 16:26

0 赞同

赋值操作是拷贝还是引用

b 是 a 拷贝而不是引用,如果要用引用需要写 &b = a。

回答于 2023-11-10 15:26

0 赞同

多品种数据过滤非交易时间段

可以参考下述脚本,将不同品种的时间段用字典存储,然后在查询中过滤: T = rand(24*60*60,100)$SECONDsym = take(`a`b, 100)val = rand(10.0, 100)t = table(T, sym, val)R=dict(`a`b, ([09:30:00:11:00:00,13:00:00:15:00:00], [08:30:00:10:00:00,14:00:00:16:00:00]))def timeFilter(R, T, sym): any(T between:R R[s...

回答于 2023-11-10 14:25

0 赞同

按行删除矩阵

m = 1..10000000 $ 1000000:10n = -200 // 可以参考以下几种实现,其中 4 性能最高timer{index = til(m.rows()).drop(n); m[index,]}timer iif(n>0, m[n:,], m[:(m.rows()+n),])timer m.transpose().drop(n).transpose()timer eachLeft(def(x,y): x.drop(y), m, n);

回答于 2023-11-10 11:33

0 赞同

统计向量中唯一值的数量

可以参考以下脚本实现: x = [[1,2,3],[2,3,4],[3]].flatten()each(size, groups(x))

回答于 2023-11-03 13:36

0 赞同

如何根据某行/某列的值,查找对应列名/行名

可以参考如下代码: m1.rowNames().at(at(m1.loc(colFilter="block1")==1)) //索引block1列值为1的行名(sym3)m1.colNames().at(at(m1.loc(rowFilter="sym2")==1)) //索引出sym2行值为1的列名(block2,block4)

回答于 2023-11-02 17:03

0 赞同

each 函数调用报错 Cannot recognize the token a

a = `a`b`cdef f(i, a):each(add{i,}, a)each(f{,a}, 1..10) 因为函数内部使用了 a,但 a 不是入参,函数不能引用外部变量,可以参考上述脚本进行修改

回答于 2023-11-02 16:39

0 赞同

如何取处矩阵所有元素中最大值的行列下标

x = m.subarray(0:m.size()).imax()rowIndex = x % m.rows()colIndex = x / m.rows() 或者 m = rand(100, 20) $ 4:5i=imax m; colIndex=imax each(at,m,i); rowIndex=i[colIndex];

回答于 2023-11-02 15:41

0 赞同

快速生成等差值的字符串序列

string(1..12 * 5) + "s"

回答于 2023-11-02 15:26

0 赞同

两表进行类矩阵乘法的运算

可以先转成带标签的矩阵,然后利用 cross 函数将两个矩阵的列两两求内积。如果两个矩阵的行标签不完全一致,可以先通过 align 函数进行对齐。参考脚本如下: tb1=table(`sym1`sym2`sym3`sym4`sym5 as SYMBOL,NULL NULL 1 NULL NULL as block1,NULL 1 NULL NULL NULL as block2,1 NULL NULL 1 NULL as block3,NULL 1 NULL N...

回答于 2023-11-02 15:08