看情况你这边应该是对历史数据进行操作。
1.
首先,取决于你的这部分因子最后想要输出到哪里。如果你要存储到dfs库里,那么不建议你每个因子都写新的列,因为dfs库不建议增减新的列。但是如果你因子的个数都是一样的,限定好的,那么没有问题。
如果你的因子是输出到内存表中,暂时使用,那用 t["new_factor"]= xxx(向量) 或者 update table set new_factor =xxx 都可以增加内存表的列。
单独用def定义也是可以的,def的参数和返回值看你这边自己的情况。按需。通常来说,列向量,表,标量等等都是可以的。
一个def内计算出多个因子理论上是可以的,那么输出的就直接是table或者matrix了。
2.
可以直接在一条sql语句中输出你想要的结果。譬如直接: select last(time), last(open), avg(open) from tick group by bar(time,1m)
如果有其他问题我们再沟通。