FIX Trading API


The client should let the ETCS team know when they are ready to test these scenarios because ETCS may need to change a setting at Saxo’s end for this. Please also note that any order/positions resulting from testing done using SAFT service won’t be booked at client’s Saxo simulation account.


The response from the test system is dictated by the amount requested in the Quantity, Tag 38, as per the tables below. If the instrument does not exist, the place order request will be rejected. SAFT scenarios currently apply to all supported order types. Limit buy orders having a limit price will be filled at 99% of limit price. Limit sell orders having a limit price will be filled at 101% of limit price. SAFT will not verify/validate the limit prices for market reasonability. Market and other orders will be filled at 100. The response will be the same no matter if the order is a Buy or a Sell. The instruments and exchanges will not influence the response either.

Scenarios without Allocation

Scenario ReferenceId

OrderQty 

Place

Change

Cancel

Scenario Playout
11-9

Accept

Accept

Accept

Place – New – Cancel/Amend
210-19

Accept, Fill (all)

N/A

N/A

Place – New – Fill
320 - 29

Accept, Partial fill (10), Fill (remaining)

N/A

N/A

Place – New - Partial Fill – Fill
430 - 39

Accept

Accept, Fill (all)

N/A

Place – New – Amend – Fill
540 - 49

Accept, Partial fill (20)

Accept, Fill (remaining)

N/A

Place – New – Partial Fill - Amend – Fill
650 - 59

Accept, Partial fill (20)

Accept

Accept

Place – New – Partial Fill – Cancel
760 - 69

Reject

N/A

N/A

Place – Reject
870 - 79

Accept

Reject

N/A

Place – New – Amend – Reject
980 - 89

Accept

N/A

Reject

Place – New – Cancel – Reject
1090 - 99

Accept, Done For Day

N/A

N/A

Place – New – DoneForDay
11100 - 109

Accept, Unsolicited cancel

N/A

N/A

Place – New – Unsolicited Cancel
12110 - 119

No reply

N/A

N/A

Place – No Reply
13120 - 129

Suspend, Accept, Fill (all)

N/A

N/A

Place – Suspended – New - Fill
14130 - 139Accept, Fill (all) with delay for the fill (between 0-9 seconds indicating by the last number of the order quantity)N/AN/A

Place – New – Fill with delay

15140 - 149Accept, Fill (all) with a delay until amend has been received.
When amend is received the order will fill immediately and amend will get rejected.
RejectN/A

Place – New – Fill with delay - Amend - Reject

16150 - 159Accept, Fill (all) with a delay until cancel has been received.
When cancel is received the order will fill immediately and cancel will get rejected.
N/AReject

Place – New – Fill with delay - Cancel - Reject

Scenarios with Basic Embedded Allocation

Block Orders with single Allocation Instruction.

Orders not matching the required number of allocations will fail regardless.

Orders not matching the required CancelIfReduced value will fail regardless.

Change order are not supported for allocations.

Tag 12108 ‘CancellationIfReduction” should be set as N or omit for this test.

Scenario
ReferenceId

OrderQty  

Number of AllocationsSuccess AllocationFailed
Allocation

Place

Change

Cancel

1011001 - 10092BothNone

Accept

Reject

Accept

1021010 - 10192BothNone

Accept, Fill (all)

Reject

N/A

1031020 - 10292BothNone

Accept, Partial fill (10), Fill (remaining)

Reject

N/A

1041030 - 10392BothNone

Accept

Reject

N/A

1051040 - 10492BothNone

Accept, Partial fill (20)

Reject

N/A

1061050 - 10592BothNone

Accept, Partial fill (20)

Reject

Accept

1071060 - 10692BothNone

Reject

Reject

N/A

1081070 - 10792BothNone

Accept

Reject

N/A

1091080 - 10892BothNone

Accept

Reject

Reject

1101090 - 10992BothNone

Accept, Done For Day

Reject

N/A

1111100 - 11092BothNone

Accept, Unsolicited cancel

Reject

N/A

1121110 - 11192BothNone

No reply

Reject

N/A

1131120 - 11292BothNone

Suspend, Accept, Fill (all)

Reject

N/A

1141130 - 11392BothNoneAccept, Fill (all) with delay for the fill (between 0-9 seconds indicating by the last number of the order quantity)RejectN/A
1151140 - 11492BothNoneAccept, Fill (all) with a delay until amend has been received.
When amend is received the order will fill immediately and amend will get rejected.
RejectN/A
1161150 - 11592BothNoneAccept, Fill (all) with a delay until cancel has been received.
When cancel is received the order will fill immediately and cancel will get rejected.
RejectReject
2012001-20092FirstSecond

Accept

Reject

Accept

2022010 - 20192FirstSecond

Accept, Fill (all)

Reject

N/A

2032020 - 20292FirstSecond

Accept, Partial fill (10), Fill (remaining)

Reject

N/A

2042030 - 20392FirstSecond

Accept

Reject

N/A

2052040 - 20492FirstSecond

Accept, Partial fill (20)

Reject

N/A

2062050 - 20592FirstSecond

Accept, Partial fill (20)

Reject

Accept

2072060 - 20692FirstSecond

Reject

Reject

N/A

2082070 - 20792FirstSecond

Accept

Reject

N/A

2092080 - 20892FirstSecond

Accept

Reject

Reject

2102090 - 20992FirstSecond

Accept, Done For Day

Reject

N/A

2112100 - 21092FirstSecond

Accept, Unsolicited cancel

Reject

N/A

2122110 - 21192FirstSecond

No reply

Reject

N/A

2132120 - 21292FirstSecond

Suspend, Accept, Fill (all)

Reject

N/A

2142130 - 21392FirstSecondAccept, Fill (all) with delay for the fill (between 0-9 seconds indicating by the last number of the order quantity)RejectN/A
2152140 - 21492FirstSecondAccept, Fill (all) with a delay until amend has been received.
When amend is received the order will fill immediately and amend will get rejected.
RejectN/A
2162150 - 21592FirstSecondAccept, Fill (all) with a delay until cancel has been received.
When cancel is received the order will fill immediately and cancel will get rejected.
RejectReject
2172160 - 21692FirstSecondAccept, Restated

Reject

N/A

Scenarios with External Allocations via Allocations(J)

Block Orders with multiple external Allocation Instructions (fragments). Orders not matching the required number of allocations will fail regardless. Orders not matching the required CancelIfReduced value will fail regardless. Change order are not supported for allocations.

Scenario
ReferenceId

OrderQty 

Number of Allocations Success AllocationFailed
Allocation

Place

Change

Cancel

10001

100001 - 100009

5+AllNone

Accept

Reject

Accept

10002

100010 - 100019

5+AllNone

Accept, Fill (all)

Reject

N/A

10003

100020 - 100029

5+AllNone

Accept, Partial fill (10), Fill (remaining)

Reject

N/A

10004

100030 - 100039

5+AllNone

Accept

Reject

N/A

10005

100040 - 100049

5+AllNone

Accept, Partial fill (20)

Reject

N/A

10006

100050 - 100059

5+AllNone

Accept, Partial fill (20)

Reject

Accept

10007

100060 - 100069

5+AllNone

Reject

Reject

N/A

10008

100070 - 100079

5+AllNone

Accept

Reject

N/A

10009

100080 - 100089

5+AllNone

Accept

Reject

Reject

10010

100090 - 100099

5+AllNone

Accept, Done For Day

Reject

N/A

10011

100100 - 100109

5+AllNone

Accept, Unsolicited cancel

Reject

N/A

10012

100110 - 100119

5+AllNone

No reply

Reject

N/A

10013

100120 - 100129

5+AllNone

Suspend, Accept, Fill (all)

Reject

N/A

10014100130 - 1001395+AllNoneAccept, Fill (all) with delay for the fill (between 0-9 seconds indicating by the last number of the order quantity)RejectN/A
10115101140 - 1011495+AllNoneAccept, Fill (all) with a delay until amend has been received.
When amend is received the order will fill immediately and amend will get rejected.
RejectN/A
10116101150 - 1011595+AllNoneAccept, Fill (all) with a delay until cancel has been received.
When cancel is received the order will fill immediately and cancel will get rejected.
RejectReject