Как рассчитать доходность акций для каждой фирмы в DolphinDB

У меня есть таблица, определенная как ниже:

sym  = "C""MS""MS""MS""IBM""IBM""C""C""C"$symbol;
price= 49.6 29.46 29.52 30.02 174.97 175.23 50.76 50.32 51.29;
qty = 2200 1900 2100 3200 6800 5400 1300 2500 8800;
timestamp = [09:34:07,09:36:42,09:36:51,09:36:59,09:32:47,09:35:26,09:34:16,09:34:26,09:38:12];
t1 = table(timestamp, sym, qty, price);

Затем данные в t1

Как рассчитать доходность акций для каждой фирмы в DolphinDB

Я хочу рассчитать доходность акций для каждой фирмы и получить следующие результаты:

sym timestamp price  ret
--- --------- ------ ---------
C   09:34:07  49.6
C   09:34:16  50.76  0.023387
C   09:34:26  50.32  -0.008668
C   09:38:12  51.29  0.019277
IBM 09:32:47  174.97
IBM 09:35:26  175.23 0.001486
MS  09:36:42  29.46
MS  09:36:51  29.52  0.002037
MS  09:36:59  30.02  0.016938

Как написать операторы SQL, чтобы удовлетворить требование?

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
46
1

Ответы 1

Используйте предложение CONTEXT BY для решения вашей проблемы.

Предложение context by разделит данные на группы, аналогичные предложению group by. Однако к каждой группе можно применить векторную функцию, а не агрегированную функцию.

select sym, timestamp, price, ratios(price) - 1 as ret from t1 context by sym csort timestamp

Другие вопросы по теме