我有一个函数quotes[ticker;startDate;endDate]
和一个函数indexConstituents[index;startDate;endDate]
,它产生以下结果:
daterange: 2017.12.05,2017.12.06;
quotes'[AAPL;daterange]
date time sym price
2017.12.05 09:45 AAPL 101.20
2017.12.06 09:45 AAPL 102.30
quotes'[GOOG;daterange]
date time sym price
2017.12.05 10:00 GOOG 800.50
quotes'[BBRY;daterange]
date time sym price
2017.12.06 11:15 BBRY 02.10
和
indexConstituents'[DJIA;daterange]
date sym shares divisor
2017.12.05 AAPL 20 2
2017.12.05 GOOG 5 1
2017.12.06 AAPL 10 1.5
2017.12.06 BBRY 100 1
我需要一种方法来正常运行indexConstituents函数以产生一组天内的成分列表(如上面的第二个表格),然后从表1中获取每个成分的数据。最后,我需要加入两个表中的数据以产生以下内容:
data:
date time sym price shares divisor
2017.12.05 09:45 AAPL 101.20 20 2
2017.12.06 09:45 AAPL 101.30 10 1.5
2017.12.05 10:00 GOOG 800.50 5 1
2017.12.06 11:15 BBRY 02.10 200 1
前两个表的代码:
([] date:2017.12.05,2017.12.06; time:09:45,09:45; sym:`AAPL,`AAPL; price:101.20,102.30)
([] date:2017.12.05,2017.12.05,2017.12.06,2017.12.06; sym:`AAPL,`GOOG,`AAPL,`BBRY; shares:20f,5f,10f,100f; divisor:2f,1f,1.5f,1f)
答案 0 :(得分:2)
我认为最好的方法是将结果表从indexConstituents'[DJIA;daterange]
分配给变量,以便我们可以提取sym
列并将distinct
应用于该列。
然后,您可以使用该符号列表作为quotes
的第一个参数。
最后将两个结果表连接在一起。
idx:indexConstituents'[DJIA;daterange];
q:quotes\:/:[distinct idx`sym;daterange];
q lj 2!idx
希望这有帮助!