- 1 Introduction
- 2 Event Studies
- 2.1 Aggregated Example
- 2.2 Brent Crude Oil
- 2.3 Canola
- 2.4 Cocoa
- 2.5 Coffee
- 2.6 Corn
- 2.7 Cotton
- 2.8 Gas Oil
- 2.9 Heating Oil
- 2.10 Kansas City Wheat
- 2.11 Lean Hogs
- 2.12 Live Cattle
- 2.13 London Cocoa
- 2.14 Milling Wheat
- 2.15 Natural Gas
- 2.16 Rapeseed
- 2.17 Reformulated Blendstock
- 2.18 Robusta Coffee
- 2.19 Soybean Meal
- 2.20 Soybean Oil
- 2.21 Soybeans
- 2.22 Sugar
- 2.23 WTI Crude Oil
- 2.24 Wheat
- 2.25 White Sugar
- 3 Seasonality
- 3.1 Brent Crude Oil
- 3.2 Canola
- 3.3 Cocoa
- 3.4 Coffee
- 3.5 Corn
- 3.6 Cotton
- 3.7 Gas Oil
- 3.8 Heating Oil
- 3.9 Kansas City Wheat
- 3.10 Lean Hogs
- 3.11 Live Cattle
- 3.12 London Cocoa
- 3.13 Milling Wheat
- 3.14 Natural Gas
- 3.15 Rapeseed
- 3.16 Reformulated Blendstock
- 3.17 Robusta Coffee
- 3.18 Soybean Meal
- 3.19 Soybean Oil
- 3.20 Soybeans
- 3.21 Sugar
- 3.22 WTI Crude Oil
- 3.23 Wheat
- 3.24 White Sugar
1 Introduction
The aim is this study is to see if we can find repeatable and economically viable trading signals from the Bridgeton Order data. The Bridgeton order flow data is created using trend following and other systematic strategies that are well known in the literature. There are only a finite number of ways that you can generate entry and exit signals of trend following systems. They reverse engineer these trend strategies to find the price levels where they expect to see large players in the markets climb in and out of positions.
The table below shows an example of what the data looks like. Here we show the data for Chicago wheat on the first two days of january 2013. The YearMo column defines the active contract, in this case 201303, i.e. the March 2013 contract. BuySellidentifies if it is a buy or sell order. Order lists the price at which the order will be executed. VolumeEst is their estimated number of contracts that will be traded at the order price. Notice that the BuySell column contain Close values for both Order and VolumeEst. These correspond to the closing price and estimated net speculative postion (TFR NET).
date | YearMo | BuySell | Order | VolumeEst |
---|---|---|---|---|
2013-01-01 | 201303 | Buy | 855.80 | 2941.18 |
2013-01-01 | 201303 | Buy | 929.75 | 8823.54 |
2013-01-01 | 201303 | Sell | 759.26 | 17647.08 |
2013-01-01 | 201303 | Buy | 865.00 | 2941.18 |
2013-01-01 | 201303 | Buy | 912.78 | 2941.18 |
2013-01-01 | 201303 | Buy | 865.00 | 11764.72 |
2013-01-01 | 201303 | Close | 778.00 | -8823.53 |
2013-01-02 | 201303 | Buy | 864.75 | 2941.18 |
2013-01-02 | 201303 | Buy | 912.78 | 2941.18 |
2013-01-02 | 201303 | Buy | 864.75 | 11764.72 |
2013-01-02 | 201303 | Sold | 759.27 | 17647.08 |
2013-01-02 | 201303 | Buy | 854.12 | 2941.18 |
2013-01-02 | 201303 | Buy | 929.75 | 8823.54 |
2013-01-02 | 201303 | Close | 755.25 | -26470.59 |
The mechanism which causes prices to move is the structure of the orderbook. If the orderbook is heavily weighted on the buy side prices will tend to increase. Similarly if the orderbook is heavily loaded on the sell side prices will tend to fall. It then stands to reason that there is economic merit in being able to forecast where the fat of the orderbook will be on any given day.
In order to look for repeatable signals we first have to perform some preprocessing on the data. For each commodity we find the bought and sold event at every date together with the VolumeEst associated with it. We look back five days prior to the event and 10 days after the event. Stacking up all the events enables us to calculate statistics on the days after the event has occured.
2 Event Studies
2.1 Aggregated Example
The facet plot below shows the Bought and Sold event statistics. In this example the data is aggregated over the entire dataset. The x-axis is labeled as index where the index is zero at the day of the event, indicated with vertical dashed lines. Indices \(-2\) and \(4\) represent 2 trading days before and 4 trading days after the event occurred respectively. We stack the percentage moves of each index together and determine the mean and standard deviation of the percentage moves within each index. In the plot below the mean is represented by the solid black line and the standard deviation away from the mean is shown as error bars.
The telltale signs of a trend system are clearly present. Notice that for the Bought (Sold) event there is an increase (decrease) in prices leading up to the event. Recall the trend systems are always late to the party and inevitable overstay their welcome.WeI expected to see the prices increasing (decreassing) after the Bought (Sold) event before returning to some equilibrium value. This would correspond to the trend systems overstaying their welcome. We do not observe this in the graphs, but do see faint signals of this in the table below. We see that when the buy signal is hit mean percentage price changes, up to 10 trading days after the event, are pretty flat. The same seems to hold trye for the sell signals.
In the following we show the disaggregated results for each of the commodities in the argicultural and softs dataset from Bridgeton. In some of the commodities the overshoot effect of a trend system is more pronounced than others, but in general there is not much of a signal.
2.2 Brent Crude Oil
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | 0.2721264 | 0.2921395 | 0.4939042 | 0.1315813 | 0.1179639 | 0.7962724 | 0.6380515 | 1.030659 | 0.7181007 | 0.5211732 |
Sold | 0 | 0.1561895 | 0.3330847 | 0.4559022 | 0.7350962 | 0.5756470 | 0.6565193 | 0.8701015 | 1.065251 | 1.4559445 | 1.3066599 |
2.3 Canola
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | 0.1712632 | 0.3152904 | 0.3769524 | 0.3431065 | 0.4368278 | 0.4635358 | 0.4723725 | 0.4677141 | 0.5298838 | 0.4101248 |
Sold | 0 | -0.1514668 | 0.0189286 | 0.0491201 | 0.2215110 | 0.2324324 | 0.0161422 | -0.0449101 | -0.0332674 | 0.0537512 | 0.0692700 |
2.4 Cocoa
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | 0.0690843 | 0.2481425 | 0.0902066 | 0.0338693 | 0.1602282 | 0.1968685 | 0.0865264 | -0.1054354 | -0.2277520 | -0.2809270 |
Sold | 0 | -0.4088786 | -0.4233777 | -0.4787700 | -0.3722376 | -0.6276157 | -0.6382022 | -0.2657732 | -0.1398845 | -0.0585308 | 0.2278841 |
2.5 Coffee
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | 0.1168117 | 0.1196609 | 0.2616932 | -0.0210887 | 0.2876239 | -0.0901098 | -0.2069779 | -0.4221993 | -0.4632573 | -0.6362792 |
Sold | 0 | 0.1409563 | -0.1264702 | -0.3505599 | -0.0608476 | -0.0146151 | -0.0746624 | 0.2511979 | 0.4123046 | 0.7627239 | 0.8230601 |
2.6 Corn
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | 0.3352200 | 0.2252789 | 0.1003806 | 0.0713687 | -0.0329189 | 0.0025563 | -0.0112938 | 0.1845269 | 0.2170484 | 0.1180121 |
Sold | 0 | 0.0458502 | 0.0526355 | -0.1195457 | 0.1793025 | -0.0797233 | 0.0553609 | -0.1152275 | -0.1802019 | -0.2489747 | -0.6170609 |
2.7 Cotton
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | 0.1570017 | 0.2102634 | 0.1045265 | -0.0802985 | -0.0245131 | -0.3636566 | -0.6575393 | -0.7913421 | -0.8084427 | -0.7438851 |
Sold | 0 | -0.1330759 | -0.2565475 | -0.3710434 | -0.1920096 | -0.3546885 | -0.2390425 | -0.3971436 | -0.1661458 | -0.1504314 | -0.1199650 |
2.8 Gas Oil
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | 0.4692739 | 0.5270086 | 0.6854766 | 0.4443195 | 0.4797069 | 0.5448274 | 0.5883001 | 0.6491325 | 0.6337906 | 0.7048178 |
Sold | 0 | -0.1678007 | 0.0940635 | 0.0701977 | 0.0548233 | 0.1760068 | 0.0937385 | 0.3113769 | 0.5990180 | 0.8725427 | 0.9100490 |
2.9 Heating Oil
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | -0.1684415 | -0.0294386 | 0.0755293 | -0.1064308 | 0.0211134 | 0.1411413 | -0.1190283 | 0.0168427 | 0.0225131 | -0.0054022 |
Sold | 0 | 0.2301425 | 0.5909287 | 0.4758515 | 0.3239531 | 0.1884157 | 0.3525439 | 0.4255817 | 0.8441817 | 0.9721834 | 0.9163395 |
2.10 Kansas City Wheat
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | 0.2849912 | 0.7341702 | 0.6399360 | 0.4768178 | 0.3344016 | 0.2766932 | 0.0472996 | -0.1281326 | -0.551284 | -0.8662658 |
Sold | 0 | -0.3327235 | -0.5887278 | -0.8103952 | -0.8752482 | -0.7931821 | -0.7752854 | -0.6043512 | -0.6936898 | -1.043454 | -0.9160098 |
2.11 Lean Hogs
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | -0.3135122 | -0.2955395 | -0.4030854 | -0.5663722 | -0.5906767 | -0.8866462 | -0.9080925 | -0.7761686 | -0.6338623 | -0.5316660 |
Sold | 0 | 0.0985966 | 0.1480737 | 0.1335448 | 0.4802043 | 0.0567052 | -0.1197340 | -0.1166976 | -0.9252836 | -1.1656710 | -0.6200455 |
2.12 Live Cattle
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | 0.0522822 | -0.1827206 | -0.3244145 | -0.3129148 | -0.3819403 | -0.4647346 | -0.4843613 | -0.7480759 | -0.8629338 | -1.0628019 |
Sold | 0 | -0.0771962 | -0.1740510 | -0.2093544 | -0.2358140 | -0.1758370 | -0.2380335 | -0.2189784 | -0.2838015 | -0.4085066 | -0.1424506 |
2.13 London Cocoa
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | -0.0719338 | 0.0971332 | 0.2411210 | 0.0281215 | 0.1171031 | 0.1947023 | 0.2170141 | 0.3865951 | 0.4346096 | 0.4276394 |
Sold | 0 | -0.3694968 | -0.4792321 | -0.4798281 | -0.3737678 | -0.6460184 | -0.4971143 | -0.6056047 | -0.4819800 | -0.1435564 | -0.0150652 |
2.14 Milling Wheat
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | -0.2141539 | -0.2211427 | -0.0454505 | -0.1020529 | -0.0590459 | -0.4407783 | -0.3371597 | -0.4869275 | -0.2140951 | -0.1834047 |
Sold | 0 | 0.0023834 | -0.0722181 | -0.2656264 | -0.2890096 | -0.7354354 | -0.7092622 | -0.8550326 | -1.2665617 | -1.4326741 | -1.5264295 |
2.15 Natural Gas
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | -0.2157369 | -0.2597338 | -0.5660884 | -0.0704041 | -0.4477345 | -0.3825246 | -0.6245113 | -0.5111799 | -0.5558035 | -1.000810 |
Sold | 0 | 0.3124388 | 0.6134414 | 0.7550948 | 0.7732167 | 1.0486421 | 0.5522337 | 0.6593005 | 0.9947971 | 1.5697193 | 1.271741 |
2.16 Rapeseed
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | 0.0380152 | -0.0208093 | 0.0467651 | 0.0742081 | 0.2506966 | 0.2158895 | 0.1930803 | 0.2587906 | 0.0884119 | -0.0240591 |
Sold | 0 | -0.0831695 | -0.1809895 | -0.2174053 | -0.0904399 | -0.2185240 | -0.3006462 | -0.2078788 | -0.3248544 | -0.3657925 | -0.4349690 |
2.17 Reformulated Blendstock
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | 0.1297941 | 0.1234337 | 0.0559283 | -0.2184506 | -0.1851670 | -0.1560426 | -0.2605531 | -0.3164379 | -0.4635369 | -0.5554597 |
Sold | 0 | 0.0353838 | -0.2802669 | -0.2944343 | -0.1400503 | 0.1278498 | 0.0533650 | 0.1899157 | 0.3743346 | 0.8731911 | 1.0423212 |
2.18 Robusta Coffee
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | 0.0003098 | -0.0564749 | 0.2094173 | 0.2381361 | 0.3898419 | -0.0843254 | -0.0804389 | 0.0207680 | -0.1350183 | -0.1945733 |
Sold | 0 | -0.0956448 | 0.0277363 | 0.2002357 | 0.3379346 | 0.3679390 | 0.1334399 | 0.1861778 | 0.0329682 | -0.0736473 | -0.1284108 |
2.19 Soybean Meal
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | 0.2958463 | -0.0465907 | 0.3677963 | 0.5455126 | 0.5256472 | 0.4380148 | 0.4901509 | 0.4997532 | 0.3761644 | 0.2144859 |
Sold | 0 | -0.0163733 | 0.0005950 | 0.2166660 | 0.0624721 | 0.1651528 | 0.2221654 | 0.0949232 | 0.0347955 | -0.1462169 | -0.5162671 |
2.20 Soybean Oil
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | 0.0367142 | -0.0414535 | -0.1681833 | -0.0819548 | 0.0482036 | -0.0391205 | 0.0959979 | -0.1128986 | -0.0806893 | -0.0417972 |
Sold | 0 | -0.0499449 | 0.0200167 | -0.0039868 | 0.2570350 | 0.0980282 | 0.2443769 | 0.4002024 | 0.4514504 | 0.3871562 | 0.4202589 |
2.21 Soybeans
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | 0.1164139 | -0.0256113 | 0.2310955 | 0.0373463 | 0.2541817 | 0.3561984 | 0.5305681 | 0.2339880 | 0.3045245 | 0.4193926 |
Sold | 0 | -0.0585678 | 0.0026669 | 0.0037064 | 0.3090980 | 0.2485723 | 0.2035617 | 0.1478877 | 0.0047157 | -0.1319593 | -0.1120236 |
2.22 Sugar
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | -0.0267320 | -0.4567579 | -0.5366008 | -0.6913741 | -0.8436050 | -0.7112915 | -0.8339050 | -0.8612787 | -0.9865983 | -1.3656591 |
Sold | 0 | -0.4843579 | -0.9851240 | -0.9196082 | -0.6974894 | -0.4373941 | -0.2241650 | -0.3928178 | -0.5901311 | -0.6333849 | -0.6404372 |
2.23 WTI Crude Oil
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | 0.1172541 | 0.121882 | 0.1595238 | 0.0927717 | 0.4136087 | 0.2073343 | 0.4928971 | 0.5349733 | 0.5436498 | 0.4326002 |
Sold | 0 | -0.1619055 | -0.292985 | 0.0501348 | -0.3309723 | -0.2094252 | -0.0943706 | 0.1253265 | 0.1581111 | 0.3318388 | 0.7699389 |
2.24 Wheat
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | 0.3478182 | 0.4846414 | 0.2071668 | -0.0217655 | -0.0054351 | -0.0820507 | -0.4908357 | -0.3355138 | -0.3900025 | -0.7065964 |
Sold | 0 | 0.0828284 | 0.2689474 | 0.0395171 | 0.1956471 | 0.2108322 | 0.5126463 | 0.3314099 | 0.4828469 | 0.1161296 | 0.0781758 |
2.25 White Sugar
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.
type | threshold | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Bought | 0 | -0.1290762 | -0.4213430 | -0.4308421 | -0.5548300 | -0.1946562 | 0.0242944 | -0.1275357 | -0.1809857 | -0.3232715 | -0.5729722 |
Sold | 0 | -0.3117895 | -0.2984494 | -0.3891060 | -0.2260954 | -0.3934704 | -0.3833579 | -0.3028299 | -0.4293423 | -0.6076169 | -0.7167597 |
3 Seasonality
Commodities are by nature cyclic. If we take argicultural commodities for instance there is a certain period when you need to plant the seeds. A particular set of favourable weather conditions then have to follow for the seeds to germinate and grow into healthy fruit bearing plants. When the fruits are mature the fields have to be harvested and the collected grains have to be stored before selling it them off to the end users. Taking this seasonal thesis for granted we will investigate the possible influence of seasonality together with the event outlined above. To t do this we are a mont hdate stamp to the events data frame and determine the mean price change statistics for each commodites and every month.
We need to be aware of the dangers of this added granularity. Adding shis seasonality marker reduces the number of events within each of the buckets, this makes the statistics less representative of reality.
3.1 Brent Crude Oil
3.2 Canola
3.3 Cocoa
3.4 Coffee
3.5 Corn
3.6 Cotton
3.7 Gas Oil
3.8 Heating Oil
The table below summarises the mean results for each Buy/Sell event and threshold in rows and indices in columns.