尝试构建一个 SQL 脚本来计算每笔交易的盈亏百分比
下面是原表
SELECT id, exchange, ticker, signal, time, price
from trade_data
ORDER BY exchange, ticker, time;
| ID | 交换 | 股票代码 | 信号 | 时间 | 价格 |
|---|---|---|---|---|---|
| 3 | BSE_DLY | UDAICEMENT | 长 | 2021-08-05 22:00:43.800603 | 46.4 |
| 27 | BSE_DLY | UDAICEMENT | 关 | 2021-08-06 10:00:26.718044 | 47.1 |
| 24 | NAS | 战车 | 长 | 2021-08-06 05:45:16.384777 | 300.85 |
| 22 | NAS | UDAICEMENT | 长 | 2021-08-06 05:00:25.23066 | 47.75 |
| 4 | NSE | 国民银行 | 长 | 2021-08-05 22:00:43.996958 | 94.8 |
| 26 | NSE | 国民银行 | 关 | 2021-08-06 09:45:17.511157 | 93.65 |
| 2 | NSE | NMDC | 关 | 2021-08-05 22:00:43.600858 | 178.05 |
| 14 | NSE | NMDC | 长 | 2021-08-06 03:45:11.243861 | 179.45 |
| 5 | NSE | 帆 | 长 | 2021-08-05 22:00:44.197164 | 140.4 |
| 25 | NSE | 帆 | 关 | 2021-08-06 09:45:17.441593 | 140.5 |
| 1 | NSE | 塔塔康苏姆 | 关 | 2021-08-05 21:57:56.840043 | 761 |
| 13 | NSE | 塔塔康苏姆 | 长 | 2021-08-06 03:37:38.371882 | 773 |
| 15 | NSE | 战车 | 长 | 2021-08-06 03:45:12.891371 | 300.65 |
计算盈亏百分比的公式
profit % = (close_price-entry_price) * 100
---------------------------
entry_price
如果交易条目不可用,则将利润打印为 0
生成的数据集应如下所示
| ID | 交换 | 股票代码 | 信号 | 时间 | 价格 | 利润 % |
|---|---|---|---|---|---|---|
| 3 | BSE_DLY | UDAICEMENT | 长 | 2021-08-05 22:00:43.800603 | 46.4 | |
| 27 | BSE_DLY | UDAICEMENT | 关 | 2021-08-06 10:00:26.718044 | 47.1 | 1.5 |
| 24 | NAS | 战车 | 长 | 2021-08-06 05:45:16.384777 | 300.85 | |
| 22 | NAS | UDAICEMENT | 长 | 2021-08-06 05:00:25.23066 | 47.75 | |
| 4 | NSE | 国民银行 | 长 | 2021-08-05 22:00:43.996958 | 94.8 | |
| 26 | NSE | 国民银行 | 关 | 2021-08-06 09:45:17.511157 | 93.65 | -1.21 |
| 2 | NSE | NMDC | 关 | 2021-08-05 22:00:43.600858 | 178.05 | 0 |
| 14 | NSE | NMDC | 长 | 2021-08-06 03:45:11.243861 | 179.45 | |
| 5 | NSE | 帆 | 长 | 2021-08-05 22:00:44.197164 | 140.4 | |
| 25 | NSE | 帆 | 关 | 2021-08-06 09:45:17.441593 | 140.5 | 0.07 |
| 1 | NSE | 塔塔康苏姆 | 关 | 2021-08-05 21:57:56.840043 | 761 | 0 |
| 13 | NSE | 塔塔康苏姆 | 长 | 2021-08-06 03:37:38.371882 | 773 | |
| 15 | NSE | 战车 | 长 | 2021-08-06 03:45:12.891371 | 300.65 |