以下のデータをパンダとして保存していますdataframe
。このデータを使用して、特定の秒のビッドアスクスプレッドを計算したいと思います。ただし、ご覧のとおり、入札よりも何倍も多くの質問があり、その逆も同様です。したがって、私の目標は次のことを行うことです。同じタイムスタンプのビッドとアスク、またはアスクとビッドのデータのみを取得し、スプレッドとスプレッドの数を計算します。
以下のデータでは、次のようになります。行1と行2を取得し、0であるスプレッドを計算します。次に、行3と行4を取得し、スプレッドを2にします。
time quote price volume
0 07:00:00 B 3950.5 5
1 07:00:00 B 3950.0 4
2 07:00:00 A 3950.0 7
3 07:00:00 B 3948.0 17
4 07:00:00 A 3950.0 20
5 07:00:00 A 3950.0 31
6 07:00:00 A 3950.0 44
7 07:00:00 A 3950.0 57
8 07:00:00 A 3950.0 67
9 07:00:00 A 3950.0 57
10 07:00:00 A 3950.0 67
11 07:00:00 A 3950.0 80
12 07:00:00 A 3950.0 90
13 07:00:00 A 3950.0 99
14 07:00:01 B 3948.0 15
15 07:00:01 A 3950.0 89
16 07:00:01 A 3949.5 1
17 07:00:02 A 3950.0 89
18 07:00:03 B 3948.0 12
19 07:00:03 A 3949.0 1
20 07:00:03 B 3948.0 9
21 07:00:03 B 3948.5 4
22 07:00:04 A 3949.5 5
23 07:00:04 B 3948.5 2
24 07:00:05 B 3948.5 1
これは私の望ましい出力です:
time spread num_spread
07:00:00 2 2
07:00:01 2 1
07:00:03 1 1
07:00:04 1 1