FIX Specification

Basic orders

Just2Trade FIX uses FIX 4.2 standard session.

New Order Single

Tag Tag Name Required Description
    Y Standard Message Header, 35 [MsgType]=D
1 Account Y Account number
11 ClOrdID Y Order identifier. String, 32 characters maximum length. ClOrdID must be unique within each FIX session and trading day. Even though it is not necessary, it is highly recommended to make this identifier unique globally.
21 HandInst Y Always 1
38 OrderQty Y Quantity of shares (or lots). In case if a security is traded in lots, the value must be a mupltiple of lot size passed in tag 231 [ContractMultiplier]
40 OrdType Y Supported values are 1 - Market, 2 - Limit
44 Price   Price, decimal fixed-point value. Required when OrdType = 2 (Limit). Ignored when OrdType = 1 (Market)
48 SecurityID   Symbol. An alternative way to identify the traded security. Can be empty, in which case tag 55 [Symbol] is used
54 Side Y 1 - Buy, 2 - Sell
55 Symbol Y Security symbol
58 Text   Any comment a client would want to pass with the order. String, 32 characters maximum length.
59 TimeInForce   0 – Day, 3 – FOK (Fill Or Kill), 4 – IOC (Immediate Or Cancel), Default value is 0 (Day)
60 TransactTime Y Order request timestamp, UTC Timezone. Format - YYYYMMDD-hh:mm:ss[.sss]
100 ExDestination   Routing destination
231 ContractMultiplier   Any non-zero value declares that tag 38 [OrderQty] uses lots quantity instead of shares quantity
    Y Standard Message Trailer

Order Cancel Request

Tag Tag Name Required Description
    Y Standard Message Header, 35 [MsgType]=F
11 ClOrdID Y Order identifier. String, 32 characters maximum length. ClOrdID must be unique within each FIX session and trading day. Even though it is not necessary, it is highly recommended to make this identifier unique globally.
41 OrigClOrdID Y Identifier of the order being cancelled.
38 OrderQty Y Quantity of shares (or lots). In case if a security is traded in lots, the value must be a mupltiple of lot size passed in tag 231 [ContractMultiplier]
54 Side Y 1 - Buy, 2 - Sell
55 Symbol Y Security symbol
60 TransactTime Y Order request timestamp, UTC Timezone. Format - YYYYMMDD-hh:mm:ss[.sss]
231 ContractMultiplier   Any non-zero value declares that tag 38 [OrderQty] uses lots quantity instead of shares quantity
    Y Standard Message Trailer

Execution Report

Tag Tag Name Required Description
    Y Standard Message Header, 35 [MsgType]=8
1 Account   Account number. Populated on all execution reports, except those ExecType=Rejected when client account is not recognized
6 AvgPx Y Always 0. Average price is not calculated
11 ClOrdID Y Order identifier
12 Commission   Charged Commission, populated for execution reports with statuses Partial Fill or Fill.
14 CumQty Y Cumulative executed quantity
15 Currency Y Currency of the trade, always USD
17 ExecID Y Execution identifier
20 ExecTransType Y Always 0 - New. Cancels and Corrections are not supported
22 IDSource Y Always 8 - Exchange Symbol
31 LastPx   Execution Price, populated for execution reports with statuses Partial Fill or Fill.
32 LastShares   Executed shares quantity, populated for execution reports with statuses Partial Fill or Fill.
37 OrderID Y Order identifier issued by the broker
38 OrderQty   Shares quantity in the initial order (Execution report with status Rejected always has the quantity specified in 38 [OrderQty] of NewOrderSingle message)
39 OrdStatus Y 0 – New,
1 – Partially filled,
2 – Filled,
3 – Done for day (cancelled by exchange for any reason),
4 – Canceled,
6 – Pending Cancel,
8 – Rejected,
9 – Suspended (“Timeout sending to exchange”),
A – Pending New
40 OrdType Y Supported values are 1 - Market, 2 - Limit
41 OrigClOrdID Y ClOrdID of initial New Order Single order. (Set for execution reports in response to OrderCancelRequest)
44 Price   Price, decimal fixed-point value. Set when OrdType = 2 (Limit)
48 SecurityID   Security symbol
54 Side Y 1 - Buy, 2 - Sell
55 Symbol Y Security symbol
58 Text   Reject reason for NewOrderSingle, when status is “Rejected”. Otherwise, a client comment on initial order.
59 TimeInForce   0 – Day, 3 – FOK (Fill Or Kill), 4 – IOC (Immediate Or Cancel), tag not set means Day
60 TransactTime Y Timestamp of: order placed (“New” execution reports), - trade (“Fill” or “Partial Fill”), - order canceled (“Сanceled” or “Done for day”), - exception (“Suspended”). Timezone – UTC. Format - YYYYMMDD-hh:mm:ss[.sss]
150 ExecType Y 0 – New,
1 – Partially filled,
2 – Filled,
3 – Done for day (cancelled by exchange for any reason),
4 – Canceled,
6 – Pending Cancel,
8 – Rejected,
9 – Suspended (“Timeout sending to exchange”),
A – Pending New
151 LeavesQty Y Quantity left open
100 ExDestination   Routing destination
207 SecurityExchange   Always 14
231 ContractMultiplier   Lot size. Set for all execution reports, except Rejected.
    Y Standard Message Trailer

Order Cancel Reject

Tag Tag Name Required Description
    Y Standard Message Header, 35 [MsgType]=9
11 ClOrdID Y Cancel order identifier
37 OrderID Y Order identifier issued by the broker
41 OrigClOrdID Y ClOrdID of initial New Order Single order
39 OrdStatus Y 0 – New,
1 – Partially filled,
2 – Filled,
3 – Done for day (cancelled by exchange for any reason),
4 – Canceled,
6 – Pending Cancel,
8 – Rejected (the order is not found),
9 – Suspended (with CxlRejReason = 2)
58 Text   Reject reason
102 CxlRejReason   0 – Too late to cancel,
1 – Unknown order,
2 – Broker option,
3 – Order already in Pending Cancel status.
Failures of external systems are “too late to cancel” (0) with external reject reason passed on tag “Text” (58). Internal system timeouts are “broker option” (2) with a message on tag “Text” (58)
434 CxlRejResponseTo Y 1 - Order Cancel Request
    Y Standard Message Trailer

Notes

  • If not stated otherwise, allowed characters in any string value are in ascii codes range 32-126, except square brackets, apostrophe, quotes, double quotes, ampersand, percent and backslash.

Custom Conditional Orders

Tq CondOrder New

Tag Tag Name Required Description
    Y Standard Message Header, 35 [MsgType]=CD
1 Account Y Account number
11 ClOrdID Y Order identifier. String, 32 characters maximum length. ClOrdID must be unique within each FIX session and trading day. Even though it is not necessary, it is highly recommended to make this identifier unique globally.
38 OrderQty Y Quantity of shares (or lots). In case if a security is traded in lots, the value must be a mupltiple of lot size passed in tag 231 [ContractMultiplier]
40 OrdType Y Supported values are 1 - Market, 2 - Limit
44 Price   Price, decimal fixed-point value. Required when OrdType = 2 (Limit). Ignored when OrdType = 1 (Market)
48 SecurityID   Symbol. An alternative way to identify the traded security. Can be empty, in which case tag 55 [Symbol] is used
54 Side Y 1 - Buy, 2 - Sell
55 Symbol Y Security symbol
58 Text   Any comment a client would want to pass with the order. String, 32 characters maximum length.
59 TimeInForce   0 – Day, 3 – FOK (Fill Or Kill), 4 – IOC (Immediate Or Cancel), Default value is 0 (Day)
60 TransactTime Y Order request timestamp, UTC Timezone. Format - YYYYMMDD-hh:mm:ss[.sss]
100 ExDestination   Routing destination
231 ContractMultiplier   Any non-zero value declares that tag 38 [OrderQty] uses lots quantity instead of shares quantity
7731 Condition Y Condition type:
1 – Bid (Best bid not less than specified),
2 – Bid or Last (Last trade or best bid not less than specified),
3 – Ask (Best ask not greater than specified),
4 – Ask or Last (Last trade or best ask not greater than specified),
5 – Time (At specified timestamp),
8 – Last Up (Last trade not less than specified),
9 – Last Down (Last trade not greater than specified)
7732 ConditionValue Y Condition value. For conditions of type 5 (Time) – timestamp in UTC, format YYYYMMDD-hh:mm:ss. For other condition types – price as decimal fixed-point value
7733 WithinPosition Y Condition of “Quantity within position”. 0 – No, 1 – Yes. Default is 0 (No)
7734 ValidAfter Y Conditional order is only effective starting at this time. Timezone – UTC. Format - YYYYMMDD-hh:mm:ss. If not set – effective immediately
7735 ValidBefore Y Expiration type. 0 – Day, 1 – Good Till Cancel, 6 – Good Till Date. If not set – default is 0 (by the end of current trading day)
7736 ValidExpiryTime Y Effective until this time. Timezone – UTC. Format - YYYYMMDD-hh:mm:ss. Required if ValidBefore = 6 (GTD)
    Y Standard Message Trailer

Tq CondOrder Cancel Request

Tag Tag Name Required Description
    Y Standard Message Header, 35 [MsgType]=CF
11 ClOrdID Y Order identifier. String, 32 characters maximum length. ClOrdID must be unique within each FIX session and trading day. Even though it is not necessary, it is highly recommended to make this identifier unique globally.
37 OrderID Y Order being cancelled
60 TransactTime Y Order request timestamp, UTC Timezone. Format - YYYYMMDD-hh:mm:ss[.sss]
    Y Standard Message Trailer

Tq CondOrder Report

Tag Tag Name Required Description
    Y Standard Message Header, 35 [MsgType]=C8
1 Account Y Account number. Populated on all execution reports, except those ExecType=Rejected when client account is not recognized
11 ClOrdID Y Order identifier
17 ExecID Y Execution identifier
37 OrderID Y Conditional order id. Populated for all execution reports except “Pending New” and “Rejected”
38 OrderQty   Shares quantity in the initial order
39 OrdStatus   4 – Canceled (Tq:OS_DISABLED),
6 – Pending Cancel,
8 – Rejected,
A – Pending New,
C – Expired (conditional order expired),
F – Failed (could not route the order to exchange),
G – Forwarding (order is being routed to exchange),
I – Wait (Effective time has not come yet),
N – Denied by Broker (Denied by broker after condition was fired),
R – Rejected by Exchange,
W – Watching (watching for condition),
X – Executed (sent to exchange, condition fired)
40 OrdType Y Supported values are 1 - Market, 2 - Limit
44 Price   Price, decimal fixed-point value. Set when OrdType = 2 (Limit)
48 SecurityID   Security symbol
54 Side Y 1 - Buy, 2 - Sell
55 Symbol Y Security symbol
58 Text Y Reject reason for the following statuses.
8 – Rejected,
N – Denied by Broker,
R – Rejected by Exchange.
In other cases – the comment from initial order
59 TimeInForce   0 – Day, 3 – FOK (Fill Or Kill), 4 – IOC (Immediate Or Cancel), tag not set means Day
100 ExDestination   Routing destination
231 ContractMultiplier   Any non-zero value declares that tag 38 [OrderQty] uses lots quantity instead of shares quantity
7731 Condition Y Condition type:
1 – Bid (Best bid not less than specified),
2 – Bid or Last (Last trade or best bid not less than specified),
3 – Ask (Best ask not greater than specified),
4 – Ask or Last (Last trade or best ask not greater than specified),
5 – Time (At specified timestamp),
8 – Last Up (Last trade not less than specified),
9 – Last Down (Last trade not greater than specified)
7732 ConditionValue Y Condition value. For conditions of type 5 (Time) – timestamp in UTC, format YYYYMMDD-hh:mm:ss. For other condition types – price as decimal fixed-point value
7733 WithinPosition Y Condition of “Quantity within position”. 0 – No, 1 – Yes. Default is 0 (No)
7734 ValidAfter Y Conditional order is only effective starting at this time. Timezone – UTC. Format - YYYYMMDD-hh:mm:ss. If not set – effective immediately
7735 ValidBefore Y Expiration type. 0 – Day, 1 – Good Till Cancel, 6 – Good Till Date. If not set – default is 0 (by the end of current trading day)
7736 ValidExpiryTime Y Effective until this time. Timezone – UTC. Format - YYYYMMDD-hh:mm:ss. Required if ValidBefore = 6 (GTD)
7737 AcceptTime Y Timestamp when conditional order was received. Timezone – UTC. Format - YYYYMMDD-hh:mm:ss[.sss]. Populated on all reports except “Pending New” and “Rejected”
7738 ExchOrderID Y Id of the order produced by fired conditional order. Integer registration number from exchange
7739 WithdrawTime Y Timestamp when conditional order changed its status. Timezone – UTC. Format - YYYYMMDD-hh:mm:ss[.sss]
    Y Standard Message Trailer

Tq CondOrder Cancel Reject

Tag Tag Name Required Description
    Y Standard Message Header, 35 [MsgType]=C9
11 ClOrdID Y Order identifier
37 OrderID Y Conditional order id.
39 OrdStatus Y 4 – Canceled (Tq:OS_DISABLED),
6 – Pending Cancel,
8 – Rejected,
A – Pending New,
C – Expired (conditional order expired),
F – Failed (could not route the order to exchange),
G – Forwarding (order is being routed to exchange),
I – Wait (Effective time has not come yet),
N – Denied by Broker (Denied by broker after condition was fired),
R – Rejected by Exchange,
W – Watching (watching for condition),
X – Executed (sent to exchange, condition fired)
58 Text   Reason of rejecting a Cancel request
102 CxlRejReason   0 – Too late to cancel,
1 – Unknown order,
2 – Broker option,
3 – Order already in Pending Cancel status.
Failures of external systems are “too late to cancel” (0) with external reject reason passed on tag “Text” (58). Internal system timeouts are “broker option” (2) with a message on tag “Text” (58)
    Y Standard Message Trailer

Tq StopOrder New

Tag Tag Name Required Description
    Y Standard Message Header, 35 [MsgType]=CD
1 Account Y Account number
11 ClOrdID Y Order identifier. String, 32 characters maximum length. ClOrdID must be unique within each FIX session and trading day. Even though it is not necessary, it is highly recommended to make this identifier unique globally.
48 SecurityID   Symbol. An alternative way to identify the traded security. Can be empty, in which case tag 55 [Symbol] is used
54 Side Y 1 - Buy, 2 - Sell
55 Symbol Y Security symbol
58 Text   Any comment a client would want to pass with the order. String, 32 characters maximum length.
60 TransactTime Y Order request timestamp, UTC Timezone. Format - YYYYMMDD-hh:mm:ss[.sss]
100 ExDestination   Routing destination
231 ContractMultiplier   Any non-zero value declares that tag 38 [OrderQty] uses lots quantity instead of shares quantity
7710 SLActivationPrice   StopLoss trigger price
7711 SLOrdType   Order type triggered by StopLoss. 1 – Market, 2 – Limit. Required if SLActivationPrice is set
7712 SLPrice   Order price triggered by StopLoss, decimal fixed-point value. Required if SLOrdType = 2 (Limit). Ignored if SLOrdType = 1 (Market)
7713 SLOrderQty   Order quantity triggered by StopLoss. Requred is SLActivationPrice is set
7714 SLQtyMeasure   Measure of the order triggered by StopLoss
0 – Shares or lots quantity. (See ContractMultiplier (231) for further details)
1 – Percent of position quantity at the moment of StopLoss trigger, up to 0.01% precision. 0 by default
7715 SLGuardTime   Guard time for this StopLoss, in seconds. Non-negative integer values, Zero by default
7717 TPActivationPrice   TakeProfit trigger price
7718 TPCorrection   TakeProfit correction, decimal fixed-point value, zero by default
7719 TPCorrMeasure   TakeProfit Correction measurement units. 0 – in price points, 1 – in percent values, 0.01% precision. 0 by default
7720 TPOrdType   Order type triggered by TakeProfit. 1 – Market, 2 – Limit. Required if TPActivationPrice is set
7721 TPGuardSpread   Guard spread for TakeProfit trigger price, decimal fixed-point value. Zero by default. Ignored if TPOrdType = 1 (Market)
7722 TPSpreadMeasure   TakeProfit Guard spread measurement units. 0 – in price points, 1 – in percent values, 0.01% precision. 0 by default
7723 TPOrderQty   Order quantity triggered by TakeProfit. Required if TPActivationPrice is set
7724 TPQtyMeasure   Measure of the order triggered by TakeProfit.
0 – Shares or lots quantity. (See ContractMultiplier (231) for further details)
1 – Percent of position quantity at the moment of TakeProfit trigger, up to 0.01% precision, 0 by default
7725 TPGuardTime   Guard time for this TakeProfit, in seconds. Non-negative integer values. Zero by default
7727 LinkedOrderID   Order id linked to this condition
7735 ValidBefore   Expiration type.
0 – Day
1 – Good Till Cancel
6 – Good Till Date.
If not set – default is 0 (by the end of current trading day)
7736 ValidExpiryTime   Effective until this time. Timezone – UTC. Format - YYYYMMDD-hh:mm:ss. Required if ValidBefore = 6 (GTD)
    Y Standard Message Trailer

Tq StopOrder Cancel Request

Tag Tag Name Required Description
    Y Standard Message Header, 35 [MsgType]=SF
11 ClOrdID Y Order identifier. String, 32 characters maximum length. ClOrdID must be unique within each FIX session and trading day. Even though it is not necessary, it is highly recommended to make this identifier unique globally.
37 OrderID Y Order being cancelled
60 TransactTime Y Order request timestamp, UTC Timezone. Format - YYYYMMDD-hh:mm:ss[.sss]
    Y Standard Message Trailer

Tq StopOrder Report

Tag Tag Name Required Description
    Y Standard Message Header, 35 [MsgType]=S8
1 Account Y Account number. Populated on all execution reports, except those ExecType=Rejected when client account is not recognized
11 ClOrdID Y Order identifier
17 ExecID Y Execution identifier
37 OrderID Y Conditional order id. Populated for all execution reports except “Pending New” and “Rejected”
39 OrdStatus Y 4 – Canceled
6 – Pending Cancel
8 – Rejected
A – Pending New
C – Expired (conditional order expired)
F – Failed (could not route the order to exchange)
H – Disabled (cancelled before linked order is executed)
L – LinkWait (waiting for linked order execution)
N – Denied by Broker (Denied by broker after condition was fired)
R – Rejected by Exchange
W – Watching (watching for condition)
P – SL GuardTime
S – SL Executed
Q – SL Forwarding (StopLoss is being sent)
U – TP GuardTime
T – TP Executed
V – TP Correction
Y – TP Forwarding (TakeProfit is being sent)
Z – TP CorrGuardTime
48 SecurityID   Symbol. An alternative way to identify the traded security. Can be empty, in which case tag 55 [Symbol] is used
54 Side Y 1 - Buy, 2 - Sell
55 Symbol Y Security symbol
58 Text Y Reject reason for the following statuses.
8 – Rejected,
N – Denied by Broker,
R – Rejected by Exchange.
In other cases – the comment from initial order
60 TransactTime Y Order request timestamp, UTC Timezone. Format - YYYYMMDD-hh:mm:ss[.sss]
100 ExDestination   Routing destination
231 ContractMultiplier   Any non-zero value declares that tag 38 [OrderQty] uses lots quantity instead of shares quantity
7710 SLActivationPrice   StopLoss trigger price
7711 SLOrdType   Order type triggered by StopLoss. 1 – Market, 2 – Limit. Required if SLActivationPrice is set
7712 SLPrice   Order price triggered by StopLoss, decimal fixed-point value. Required if SLOrdType = 2 (Limit). Ignored if SLOrdType = 1 (Market)
7713 SLOrderQty   Order quantity triggered by StopLoss. Requred is SLActivationPrice is set
7714 SLQtyMeasure   Measure of the order triggered by StopLoss
0 – Shares or lots quantity. (See ContractMultiplier (231) for further details)
1 – Percent of position quantity at the moment of StopLoss trigger, up to 0.01% precision. 0 by default
7715 SLGuardTime   Guard time for this StopLoss, in seconds. Non-negative integer values, Zero by default
7717 TPActivationPrice   TakeProfit trigger price
7718 TPCorrection   TakeProfit correction, decimal fixed-point value, zero by default
7719 TPCorrMeasure   TakeProfit Correction measurement units. 0 – in price points, 1 – in percent values, 0.01% precision. 0 by default
7720 TPOrdType   Order type triggered by TakeProfit. 1 – Market, 2 – Limit. Required if TPActivationPrice is set
7721 TPGuardSpread   Guard spread for TakeProfit trigger price, decimal fixed-point value. Zero by default. Ignored if TPOrdType = 1 (Market)
7722 TPSpreadMeasure   TakeProfit Guard spread measurement units. 0 – in price points, 1 – in percent values, 0.01% precision. 0 by default
7723 TPOrderQty   Order quantity triggered by TakeProfit. Required if TPActivationPrice is set
7724 TPQtyMeasure   Measure of the order triggered by TakeProfit.
0 – Shares or lots quantity. (See ContractMultiplier (231) for further details)
1 – Percent of position quantity at the moment of TakeProfit trigger, up to 0.01% precision, 0 by default
7725 TPGuardTime   Guard time for this TakeProfit, in seconds. Non-negative integer values. Zero by default
7727 LinkedOrderID   Order id linked to this condition
7735 ValidBefore   Expiration type.
0 – Day
1 – Good Till Cancel
6 – Good Till Date.
If not set – default is 0 (by the end of current trading day)
7736 ValidExpiryTime   Effective until this time. Timezone – UTC. Format - YYYYMMDD-hh:mm:ss. Required if ValidBefore = 6 (GTD)
7737 AcceptTime   Timestamp when accept order was received. Timezone – UTC. Format - YYYYMMDD-hh:mm:ss[.sss]
7728 TrailExtremum   Reached extremum price while trailing the take-profit
7729 TrailExecLevel   Expected level of execution price
7730 SwitchTradeNo   String. Tick id that caused the stop to trigger
7738 ExchOrderID   Id of the order produced by fired stop order. Integer registration number from exchange
7739 WithdrawTime   Timestamp when stop order changed its status. Timezone – UTC. Format - YYYYMMDD-hh:mm:ss[.sss]
    Y Standard Message Trailer

Tq StopOrder Cancel Reject

Tag Tag Name Required Description
    Y Standard Message Header, 35 [MsgType]=S9
11 ClOrdID Y Order identifier
37 OrderID Y Conditional order id.
39 OrdStatus Y 4 – Canceled (Tq:OS_DISABLED),
6 – Pending Cancel,
8 – Rejected,
A – Pending New,
C – Expired (conditional order expired),
F – Failed (could not route the order to exchange),
G – Forwarding (order is being routed to exchange),
I – Wait (Effective time has not come yet),
N – Denied by Broker (Denied by broker after condition was fired),
R – Rejected by Exchange,
W – Watching (watching for condition),
X – Executed (sent to exchange, condition fired)
58 Text   Reason of rejecting a Cancel request
102 CxlRejReason   0 – Too late to cancel,
1 – Unknown order,
2 – Broker option,
3 – Order already in Pending Cancel status.
Failures of external systems are “too late to cancel” (0) with external reject reason passed on tag “Text” (58). Internal system timeouts are “broker option” (2) with a message on tag “Text” (58)
    Y Standard Message Trailer

Benchmark Algos

Custom Tags

Tag Tag Name Description
9100 Strategy String. Strategy identifier. Supported values: CLOSE, IS, POV, SCALEPOV, TWAP, VWAP. See further description below.
9101 StartTime UTCTimestamp. Strategy starting time. Default value: current time. Step size: 1 minute
9101 EndTime UTCTimestamp. Strategy ending time (expire time). Default value: 16:00 EST. Step size: 1 minute
9103 MaxParticipation Decimal, up to 2 decimal places, 0.01 - 99.99. Maximum participation. Step size: 0.01
9106 IWouldPx Decimal, up to 4 decimal prices. I would price.
9111 Aggression Integer, 0 - 10. Aggression level. Step size: 1
9112 TiltMode Integer. Determines the methodology used to tilt VWAP based schedule in IS and CLOSE algos. Supported values:
1 - ModelDriven,
2 - Simple
9117 BlockLimit Integer, 100 - 1000000. Block limit. Step size: 1000
9145 Tracking Integer. Values 19-24 require RefPx tag. Supported values:
1 - AP-Revert-Low,
2 - AP-Revert-Med,
3 - AP-Revert-High,
4 - AP-Trend-Low,
5 - AP-Trend-Med,
6 - AP-Trend-High,
7 - S&P-Revert-Low,
8 - S&P-Revert-Med,
9 - S&P-Revert-High,
10 - S&P-Trend-Low,
11 - S&P-Trend-Med,
12 - S&P-Trend-High,
13 - Sector-Revert-Low,
14 - Sector-Revert-Med,
15 - Sector-Revert-High,
16 - Sector-Trend-Low,
17 - Sector-Trend-Med,
18 - Sector-Trend-High,
19 - RefPx-Revert-Low,
20 - RefPx-Revert-Med,
21 - RefPx-Revert-High,
22 - RefPx-Trend-Low,
23 - RefPx-Trend-Med,
24 = RefPx-Trend-High
9146 RefPx Decimal, up to 4 decimal prices. Reference price.
9147 MinParticipation Decimal, 0.01 - 99.99. Minimum participation. Step size: 0.01
9310 OnOpenQty Integer. -1 indicated automatic calculation based on historical values
9311 OnCloseQty Integer. -1 indicated automatic calculation based on historical values

CLOSE Strategy

Minimizes risk-adjusted slippage relative to the closing price by creating a back-weighted trajectory vs VWAP volume profile. Aggression parameter influences how strongly to tilt the trajectory towards the order end time.

TiltMode can be used to specify tilt methodology. In the default ModelDriven mode, the Aggression parameter is mapped to a risk tolerance value which combines with the instrument’s liquidity and volatility profile to determine the strength of the tilt – the tilt vs the VWAP schedule will more pronounced with higher aggression, higher instrument liquidity, higher instrument volatility, and longer order duration. In Simple mode, Aggression 10 means 50% of the order will be scheduled in the time the VWAP schedule would target completing the last 20% of the order, regardless of the instrument and duration of the order, Aggression 5 means 35% will be scheduled where VWAP would schedule 20%, whereas Aggression 0 will behave similarly to VWAP.

In addition to the required basic FIX tags for orders, the below parameters are available.

Tag Tag Name Required
9101 StartTime N
9102 EndTime N
9103 MaxParticipation N
9106 IWouldPx N
9111 Aggression N
9112 TiltMode N
9311 OnCloseQty N

IS - Implementation Shortfall

Seeks to minimize risk-adjusted slippage relative to the arrival price by creating a front-weighted trajectory vs VWAP volume profile. Aggression parameter influences how strongly to tilt the trajectory towards the order start time. A Tracking parameter may also be used to dynamically adjust the tilt to pursue trend following or reversionary behavior.

TiltMode can be used to specify tilt methodology. In the default ModelDriven mode, the Aggression parameter is mapped to a risk tolerance value which combines with the instrument’s liquidity and volatility profile to determine the strength of the tilt – the tilt vs the VWAP schedule will more pronounced with higher aggression, higher instrument liquidity, higher instrument volatility, and longer order duration. In Simple mode, with neutral Tracking, Aggression 10 means 50% of the order will be scheduled in the time the VWAP schedule would target completing the first 20% of the order, regardless of the instrument and duration of the order, Aggression 5 means 35% will be scheduled where VWAP would schedule 20%, whereas Aggression 0 will behave similarly to VWAP.

In addition to the required basic FIX tags for orders, the below parameters are available.

Tag Tag Name Required
9101 StartTime N
9102 EndTime N
9103 MaxParticipation N
9106 IWouldPx N
9111 Aggression N
9112 TiltMode N
9145 Tracking N
9146 ReferencePx N
9310 OnOpenQty N

POV - Percent Of Volume

Tracks and reacts to real-time market volumes to target a user-defined participation rate to be X percent of the volume.

Tag Tag Name Required
9101 StartTime N
9102 EndTime N
9103 MaxParticipation Y
9106 IWouldPx N
9111 Aggression N
9117 BlockLimit N

SCALEPOV Strategy

Builds on the POV strategy by dynamically adjusting target market participation rate as a function of real-time market conditions relative to a chosen benchmark. Scale between X and Y percent of the volume, depending on market conditions.

Tag Tag Name Required
9101 StartTime N
9102 EndTime N
9103 MaxParticipation Y
9106 IWouldPx N
9117 BlockLimit N
9145 Tracking N
9146 ReferencePx N
9147 MinParticipation Y

TWAP - Time-Weighted Average Price

Executes desired quantity at a constant rate over a user-defined interval. Spread it out over the day/number of hours.

Tag Tag Name Required
9101 StartTime N
9102 EndTime N
9103 MaxParticipation N
9106 IWouldPx N
9310 OnOpenQty N
9311 OnCloseQty N

VWAP - Volume-Weighted Average Price

Creates a pre-trade schedule based on historical volume patterns and targets the volume weighted average price. Match the volume-weighted average price over the day/number of hours.

Tag Tag Name Required
9101 StartTime N
9102 EndTime N
9103 MaxParticipation N
9106 IWouldPx N
9310 OnOpenQty N
9311 OnCloseQty N