私は取引のテーブルを持っていますTrades
:
TradeID Stock Timestamp
1 GOOG 2014.03.03 09:13:59.054
2 GOOG 2014.03.03 09:28:12.003
3 GOOG 2014.03.03 09:28:18.199
4 GOOG 2014.03.03 09:52:03.628
5 GOOG 2014.03.03 11:18:52.629
...
また、価格ティック データのテーブルPrices
:
Stock Timestamp Bid Ask
GOOG 2014.03.03 08:02:34.297 102.21 102.41
GOOG 2014.03.03 08:02:40.118 102.32 102.42
GOOG 2014.03.03 08:02:44.090 102.33 102.43
GOOG 2014.03.03 08:03:20.197 102.34 102.44
GOOG 2014.03.03 08:05:09.325 102.35 102.45
...
asof joinをすると...
aj[
`Stock`Timestamp;
Trades;
update TimestampPrice:Timestamp from Prices / let's me track which price gets joined
]
...間違った結果が得られます:
TradeID Stock Timestamp TimestampPrice Bid Ask
1 GOOG 2014.03.03 09:13:59.054 2014.03.03 08:05:09.325 102.35 102.45
2 GOOG 2014.03.03 09:28:12.003 2014.03.03 08:05:09.325 102.35 102.45
3 GOOG 2014.03.03 09:28:18.199 2014.03.03 08:05:09.325 102.35 102.45
4 GOOG 2014.03.03 09:52:03.628 2014.03.03 08:05:09.325 102.35 102.45
5 GOOG 2014.03.03 11:18:52.629 2014.03.03 10:31:45.043 102.24 102.35
6 GOOG 2014.03.03 11:33:52.021 2014.03.03 10:31:45.043 102.24 102.35
Timestamp
は取引時刻をTimestampPrice
示し、結合された価格データのタイムスタンプを示します。約 30 秒ごとに価格データがカチカチ音をたてているにもかかわらず、実際の取引から数時間離れた価格を結合した結果aj
です。例: でTradeID=1
取引されまし09:13:59
たが、 からの価格で結合されました08:05:09
。
また、結合された が からにTimestampPrice
突然ジャンプするのも奇妙です。08:05:09
10:31:45
これを説明できるデータにギャップがないことを手動で確認しました。
何がうまくいかないのですか?