Ho una domanda relativa ad una query per creare un portafoglio a partire da una collezione di record di ordini (tradelog).
Cerco di spiegare meglio ciò di cui ho bisogno
Supponiamo di avere un tradelog di azioni
#TRADELOG TABLE#
|symbol | date | type | quantity | split_ratio |
| --------- | ---------- | ---- | -------- | ----------- |
|AMZN | 12-11-2020 | BUY | 200 | - |
|GOOGL | 14-11-2020 | BUY | 200 | - |
|GOOGL | 18-11-2020 | BUY | 400 | - |
|AMZN | 02-01-2021 | BUY | 600 | - |
|GOOGL | 04-01-2021 | SPLIT| - | 10 |
|GOOGL | 22-11-2021 | BUY | 80 | - |
|AMZN | 24-11-2021 | SPLIT| - | 10 |
|GOOGL | 31-11-2021 | BUY | 100 | - |
|GOOGL | 12-12-2021 | SPLIT| - | 2 |
|GOOGL | 22-12-2021 | BUY | 10 | - |
|AMZN | 12-07-2022 | BUY | 80 | - |
|AMZN | 14-08-2022 | BUY | 40 | - |
|AMZN | 12-09-2022 | SPLIT| - | 2 |
|AMZN | 15-11-2022 | BUY | 8 | - |
Per chi non è pratico di operazioni su azioni in borsa, quando c'è uno split significa che il numero di azioni possedute si riduce dello split_ratio
Secondo quanto riportato nel tradelog superiore il mio portafoglio risultante dovrebbe essere il seguente:
AMZN: (((200+600)/10) +80 +40)/2 +8 = 108
GOOGL: (((200+400)/10) +80 +100)/2 +10 = 130
#PORTFOLIO TABLE#
| symbol | quantity |
| ------ | -------- |
|AMZN|108|
|GOOGL|130|
Non ho trovato un modo per creare questo database del portafoglio utilizzando una query. La cosa piàu complicata è gestire lo split che obliga a dividere le quantità di tutti i record precedenti dello stesso simbolo
Avete qualche idea per aiutarmi?

Rispondi quotando