Broker Positions

Top  Previous  Next

Very often, you will not get the exact fill that a historical simulation might assume when trading an actual account. This is to be expected. Sometimes you forget to roll a contract when the underlying data source rolls to a new month. Other times, your broker may fill an incorrect order or you may enter an order incorrectly.

 

To enable these positions and have them insert into the test, use the User Broker Positions global parameter.

 

The Broker Positions screen lets you tell Trading Blox what your actual positions are so that Trading Blox can generate orders using those existing positions rather than using positions based on historical testing assumptions. Although it should be noted that a preferred approach for many traders is to match their actual trading to the simulation. So in other words, let the simulation create the positions and make sure your broker positions match the system.

 

BrokerPositions

 

Enter your actual positions, fills, and quantities that you have with your broker.

 

These positions get inserted into the test on the Order Date specified, and any existing positions will be exited as a result. You can enter a quantity of zero to lock out any further positions in this instrument. You can enter a position of OUT to exit any existing positions on the Order date.

 

NOTE: Positions entered here are locked -- so subsequent exits in the system code will not cause an exit of these positions. Entering a subsequent position of "OUT" will exit the position. The order generation report will still have new entries and exits as needed for this positions. The order generation is not locked, just the simulation fill process.

 

Position Elements

Each position entry consists of the following items:

 

System Name  - must match the system name exactly or the trade will be ignored. Drop down box populates from selected systems for the current suite.
 
Symbol  - must match exactly.
 
Delivery month  - optional. Used only to suppress the alert message once you have rolled from the old month to the new month. Available only if the data also has a delivery month.
 
Fill Date  - must be a real trading day within the test range for that instrument or it will be ignored.

 YYYY-MM-DD.

 YYYYMMDD

 YYMMDD

 MM/DD/YY

 MM/DD/YYYY

 

Fill Time -- must be an available time in the data file.

 HHMM format
 

Position  - must be Long, Short, or Out. Drop down box has these options.

 

Execution Type -- If set to Open, then this position will be 'filled' before any simulated positions for the bar. If set to Bar, then the simulation open positions for the bar will be filled first, then this position. Likewise for the Close execution type, which would be filled last.
 
Fill Price  - required for entries and exits. It is the fill price for the order. No commas.
 
Entry Protective Stop Price  - optional. If left blank the system will assume no stop was used. This is the original entry day protective stop. The stop your system uses on a daily basis will likely be adjusted from this as time goes by.
 
Entry Quantity

 

 

 

Rolling from one month to the next

Enter only your current actual positions. So when you roll, keep the entry date and symbol the same, but change the delivery month and adjust the entry price and stop price by the spread amount. Since these prices are relative to the current month, you need to adjust them accordingly.

 

Old position: GC, delivery month 200704, entry date 20070305, entry price 640, initial stop 635, position long, quantity 10.

GCK07 is at 655 and GCJ07 is at 653 on the close the day of the roll, so the spread is +$2.

New position: GC, delivery month 200705, entry date 20070305, entry price 642, initial stop 637, position long, quantity 10.

 

 
The position entry delivery month is only presented as long as the data is still priced in that month plus 5 days. For 5 days after the roll, a roll alert is presented indicating that the position should be rolled from the old month to the new month. Then after the 5 days the system assumes you have rolled and the entry delivery month is changed to the current data delivery month.
 
The broker position delivery month is only used if it represents the new delivery month as used by the data. In this way you can suppress the roll alert once you have rolled from the old month to the new month.