I have a RethinkDB table consisting of Robinhood Stock Orders. The relevant fields are:
side
(either buy
or sell
)
state
(I'm only looking for filled
orders)
price
(Average USD price of the order)
quantity
(Number of shares sold or purchased)
I'm simply trying to understand my all-time P/L on each stock in my Orders History.
I have the following working query which tells me the price of all SELL orders, grouped by stock symbol:
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')
This returns something like this:
[{"group":"AA","reduction":491},{"group":"AAPL","reduction":10589},{"group":"ABEO","reduction":7596.16},...]
Obviously, I can do the same query for the BUY
side, which would tell me the total cost of all of my purchase orders (and then, theoretically, I could just subtract this from each of the previous SELL
values).
In short, how can I subtract the total value of BUY
orders for each stock symbol from the total value of SELL
orders for each stock symbol, using ONE ReQL query?
Thanks for your time.