У меня есть таблица RethinkDB, состоящая из ордеров на инвентарь Робиннити. Соответствующие поля:Как я могу выполнить уменьшение карты на отфильтрованных группах в RethinkDB?
side
(либо buy
или sell
)
state
(Я ищу только для filled
заказов)
price
(Средняя цена USD порядка)
quantity
(количество акций, проданных или купленных)
Я просто пытаюсь понять все свои P/L на каждом складе в истории заказов.
У меня есть следующий рабочий запрос, который говорит мне цену всех ордеров на продажу, сгруппированный по символу акции:
r.db('robinhood').table('orders').filter({side: 'sell', state: 'filled'})
.map(function(order) {
return {
cost: (order('price').coerceTo('number')).mul(order('quantity').coerceTo('number')),
symbol: order('symbol')
}
}).group('symbol').sum('cost')
Это возвращает что-то вроде этого:
[{"group":"AA","reduction":491},{"group":"AAPL","reduction":10589},{"group":"ABEO","reduction":7596.16},...]
Очевидно, что я могу сделать тот же запрос для стороны BUY
, который расскажет мне общую стоимость всех моих заказов на покупку (а затем, теоретически, я мог бы просто вычесть это из каждого из предыдущих значений SELL
).
Короче, как я могу вычесть общую стоимость BUY
заказов для каждого символа акций от общей стоимости SELL
заказов для каждого символа акции, используя ОДИН ReQL запроса?
Спасибо за ваше время.