This module documents the CQG Icebergs (ICBG) algorithmic orders (AO).
ICBG, presents three types of icebergs in one AO application:
- Smart Iceberg:
This is the conventional iceberg order type.
You specify:
a) the total order size,
b) the Iceberg Size, which is the size of each leg order, and
c) the price for the first leg.
While placing the first leg, ICBG will calculate the distance from the market.
Once a leg order is filled, AO will place the subsequent leg order with a price that has the same distance from the market that your initial order price had.
- Random Iceberg:
The Random Iceberg differs from the Smart Iceberg by that it will generate a random size for each leg that is within the range you specify by the Minimum and Maximum Iceberg Sizes.
- Smart Random Iceberg:
This iceberg algo order type differs from the random iceberg by the following:
o Distance from Market: The price for each leg is defined at the time of their placement calculated by number of ticks.
o Release Time: Each subsequent leg is placed at this time interval, unless the Payup occurs (described below), or the leg is completely filled, in which case the susequent leg is placed immediately. If the calculated price for the subsequent leg differs from the existing order, the new random order size is added to the remaining unfilled order's and the price is set to the one that is the nearest to the market.
o Payup: If at least an amount of the leg, specified by Percentage, is not filled in a time interval from its placement till the Payup Time, AO will trigger the Payup action, which includes moving the leg order towards the market with a number of ticks specified by Payup Distance.
Example:
We've placed an order as specified in the confirmation window above.
ICBG has generated the size 4 and placed the following order:
EDAZ2 Sell 4 Limit @99577
No contracts were sold in 2 seconds (Payup Time) and Payup is initiated. ICBG moved the order one tick (Payup Distance) closer to the market.
EDAZ2 Sell 4 Limit @99576
Two seconds later one contract was sold. The order is:
EDAZ2 Sell 3 Limit @99576
One second later, when Release Time has come, ICBG generates the size 2, examines the market (i.e., the best bid), which is at 99575 and calculates the Release price to be 99577. However, since the existing order price is closer to the market the new order looks as following:
EDAZ2 Sell 5 Limit @99576
No contracts were sold within the next two seconds. The market has now moved to 99572. Payup action is fired. The new order is:
EDAZ2 Sell 5 Limit @99575
Three seconds since Payup, nothing was sold and the market is down to 99571. The new generated size is 1. The order is revised as following:
EDAZ2 Sell 6 Limit @99573
One second later two contracts were sold. Payup is not triggered.
Two seconds later all remaining 4 contracts were sold @ 99573. The Release Timer is reset. The next order is placed immediately with the randomly generated size of 5 at two ticks distance from the market as following:
EDAZ2 Sell 5 Limit @99575
...
Notes:
ICBG shows only one leg at any time. The remaining quantity of the unfilled active leg adds up to the quantity being released. If the Payup Distance is set to a large value, Payup may place the order beyond the market (e.g., below the best bid for a sell order). There is only one Payup check within a Release time interval.
You can choose your prefered iceberg type using the application's Configuration Manager.