Question 1
Question
Batch processing is implemented in which moxy version?
Question 2
Question
How many executions can FIX handle per second?
Answer
-
15,000
-
30,000
-
45,000
-
50,000
Question 3
Question
To be able to write messages to the FIX log, FIX.NET needs which system credential?
Answer
-
Windows Administrator Account
-
Power User - Windows Account
-
Local System - Windows Account
-
Domain Administrator
Question 4
Question
In order to access the FIXNET database, FIX.NET service needs permission to recover the DatabaseConnectionString which is located in:
Answer
-
ODBC
-
Windows Registry
-
Solution Forge folder
Question 5
Question
Select all the details the DatabaseConnectionString from SolutionForge registry key contains:
Answer
-
Database name
-
Windows User
-
SQL User
-
User's password
-
Server name
Question 6
Question
Which tables are consulted in order to read tags and parse FIX messages before they are stored in the RX_MESSAGE_STORE table?
Answer
-
FIX_FIELDS
-
FIX_TAGS
-
FIX_MESSAGE_BLOCKS
-
FIX_MESSAGEBLOCK
Question 7
Question
All messages are stored in the RX_MESSAGE_STORE table, except heartbeats.
Question 8
Question
To be able to store heartbeats, what should be installed?
Answer
-
FIXNET Service
-
MxFixNetServices
-
RTM Service
Question 9
Question
Which column in the FIX_MESSAGES table should be set to value = 1 to make sure heartbeats are being stored?
Answer
-
PERSIST_MESSAGE_RX
-
PERSIST_MSG_TX
-
PERSIST_MSG_RX
-
PERSIST_HEARTBEAT_RX
Question 10
Question
FIX.NET service tracks the state of each open session with each provider in which table?
Answer
-
FIX_CONNECTION_STATE
-
FIX_SESSIONS
-
MoxyFIXConnection
-
FIX_SESSION_STATE
Question 11
Question
MxFIXNETServices installation ties the FIX.NET service to which two objects?
Question 12
Question
The ADVS.MxFIXInboundProcessor is a COM+ object that lives within the comadptr.dll.
Question 13
Question
Which tables are checked to know which Moxy database to deliver fills?
Answer
-
MxSrvcsFIXConnection
-
FIX_SESSIONS
-
MoxyFIXConnection
-
MxSrvcsDatabase
Question 14
Question
Which of the following are parameters passed by the pMxFIXInPutMessage sproc to Moxy?
Question 15
Question
The sproc pMxFIXInPutMessage kicks off the following actions and procedures:
1. Increment the [blank_start]LastRxMsgSeqNum[blank_end] in MoxyFIXConnectionData table when it gets a heartbeat or any FIX message that Moxy's not interested in
2. Trigger [blank_start]replay[blank_end] of FIX Messages from FIXNET if Moxy's sequence number is behind, calling a sproc that puts an [blank_start]Event 91[blank_end] into the RTM Event Queue
3. Check to see how many times it should request a replay by looking at [blank_start]MaxReXmit[blank_end]
4. Detect [blank_start]duplicate[blank_end] FIX message by noticing if the FIX sequence number is lower than the Moxy sequence number
5. Log the fact that the new message was successfully received in the [blank_start]Moxy Event Log[blank_end]
6. Increment the Moxy [blank_start]sequence number[blank_end] after each successfully processed message
7. Call upon the [blank_start]pMxFIXPutMessageStaging[blank_end] sproc to actually process the incoming message
Answer
-
LastRxMsgSeqNum
-
replay
-
Event 91
-
MaxReXmit
-
duplicate
-
Moxy Event Log
-
sequence number
-
pMxFIXPutMessageStaging
Question 16
Question
The pMxFIXPutMessageStaging sproc will:
1. Parse the [blank_start]FIX message[blank_end] out, separate all the tags and verify that execution actually applies to an actual Moxy order/FIX place
2. Insert the [blank_start]acknowledgement[blank_end] messages in the [blank_start]MoxyFIXExtMessage[blank_end] where a trigger fires to put an [blank_start]Event 72[blank_end] in the RTM Event Queue
3. Insert every [blank_start]acknowledgement[blank_end] and every [blank_start]fill[blank_end] in to the MoxyFIXExtMessage table
4. Trigger a stored procedure [blank_start]_pMxFIXGenRTMFillEvent[blank_end] to insert an Event 72 into RTM Event Queue
Answer
-
FIX message
-
acknowledgement
-
MoxyFIXExtMessage
-
Event 72
-
acknowledgement
-
fill
-
_pMxFIXGenRTMFillEvent
Question 17
Question
Both the pMxFIXPutMessageStaging and pMxFIXInPutMessage sprocs won't be executed if the RTM service is not started.
Question 18
Question
The FIX Inbound Processor through triggering the pMxFIXInputMessage sproc inserts new events into the RTM Event Queue but if the RTM service is not running, these events will simple sit forever in the queue and will never be processed.
Question 19
Question
Sender and Target CompID values are contained in which tags?
Answer
-
Tags 49 and 65
-
Tags 34 and 56
-
Tags 49 and 56
Question 20
Question
Sender and Target CompIDs are stored in which table?
Answer
-
MoxyFIXConnection
-
MoxyFIXExtMessage
-
MxSrvcsFIXConnection
Question 21
Question
The MoxyFIXExtMessage table is basically like the RX_MESSAGE_STORE table in the FIXNET database since it also stores heartbeats.
Question 22
Question
Messages that Moxy cannot process successfully are also stored in the MoxyFIXExtMessage table.
Question 23
Question
Acknowledgements like all execution reports have a value of Tag 35=8 with the addition of having:
Answer
-
Tag 39 = 1
-
Tag 93 = 1
-
Tag 39 = 0
-
Tag 39 =2
Question 24
Question
RTM Event Queue Status:
-3 = [blank_start]Retry[blank_end]
-2 = [blank_start]On the Bubble[blank_end]
-1 = [blank_start]Failure[blank_end]
0 = [blank_start]Unprocessed[blank_end]
1 = [blank_start]Success[blank_end]
Answer
-
Retry
-
On the Bubble
-
Failure
-
Unprocessed
-
Success
Question 25
Question
Select all the correct statements regarding the ExecTime and ExecType in the MoxyRTMEventQueue
Answer
-
ExecType = 0 means process immediately
-
ExecType = 1 means periodic event with its periodicity set by the TickInterval column
-
ExecType =2 means periodic event with its periodicity set by the TickInterval column
-
ExecType = 1 means scheduled event that would be processed at the time specified in TickInterval
-
ExecType = 1 means scheduled event that would be processed at the time specified in ExecTime
Question 26
Question
RTM Events:
Event ID - Event Name
51 - [blank_start]FIX SEND Order[blank_end]
52 - [blank_start]FIX Replace Order[blank_end]
53 - [blank_start]FIX Cancel Order[blank_end]
54 - FIX Request Order Status
55 - [blank_start]FIX Send DK Trade[blank_end]
56 - FIX Send Reject
72 = [blank_start]FIX Recv Message[blank_end]
73 - FIX Recv State Change
81 - FIX Connect
82 - FIX Disconnect
83 - [blank_start]FIX EOD[blank_end]
91 - FIX Request Retransmit RX Messages
Answer
-
FIX SEND Order
-
FIX Replace Order
-
FIX Replace Order
-
FIX Request Order Status
-
FIX Cancel Order
-
FIX Send Reject
-
FIX Send DK Trade
-
FIX Recv Message
-
FIX Recv Message
-
FIX Send Reject
-
FIX EOD
-
FIX DK
Question 27
Question
Select all options that can flush the Moxy RTM Event Queue:
Answer
-
MoxyResetDatabase job
-
MoxyRefreshDatabase job
-
exec pMxRTMCleanUpQueue, 0, 1
-
exec pMxRTMCleanUpRecords, 0, 1
Question 28
Question
Select all possible reasons why an entry in the RTM Event Queue is not being processed while other RTM events are processing just fine:
Answer
-
RTM Service is not started
-
Event Group is not enabled
-
RTM service is not restarted after enabling the Event Group
Question 29
Question
Select all tables where the statuses are flipped to 1 once RTM is able to process entries/events successfully:
Question 30
Question
If there is an entry in the Event Queue for EventID = 72 and Status = 0, Moxy will think "go and process ALL available fills".
Question 31
Question
Before fills are put into the MoxyFill table, they are:
Answer
-
Checked to make sure they are not duplicates that have already been processed
-
Verified to have the correct quantity
-
Checked to make sure they have the correct broker
-
Make sure they are associated with existing, open FIX places in Moxy
Question 32
Question
Sequence numbers are tracked in which tag?
Answer
-
Tag 54
-
Tag 34
-
Tag 11
-
Tag 17
Question 33
Question
Moxy and FIXNET are "in sync" when Moxy's sequence number is ahead of FIXNET.
Question 34
Question
To check if Moxy and the FIXNet database are in sync, we can verify the sequence numbers stored in their respective tables.
For Moxy, we can check the [blank_start]LastRxMsgSeqNum[blank_end] column in the [blank_start]MoxyFIXConnectionData[blank_end] table which represents the sequence number of the [blank_start]last processed[blank_end] incoming FIX message.
While in FIXNET, we can check the [blank_start]FIX_SESSION_STATE[blank_end] table for the [blank_start]RX_MSG_SEQ_NUM[blank_end] column that contains the [blank_start]next anticipated[blank_end] incoming sequence number.
Moxy's sequence number should always be [blank_start]one less[blank_end] than the FIX sequence number.
Answer
-
LastRxMsgSeqNum
-
MoxyFIXConnectionData
-
last processed
-
FIX_SESSION_STATE
-
RX_MSG_SEQ_NUM
-
next anticipated
-
one less
Question 35
Question
Which SQL Agent job will perform an EOD on the Moxy/FIXNET system?
Answer
-
MoxyFIXStartTime job
-
MoxyFIXStopTime job
-
MoxyRefreshDatabase job
-
MoxyResetDatabase job
Question 36
Question
Select all true statements regarding Moxy's mechanism for getting back in sync with the FIXNET database:
Answer
-
When Moxy finds itself ahead of FIXNet's sequence number, it will request for a replay
-
When Moxy finds itself ahead of FIXNet's sequence number, it will do nothing
-
When Moxy finds itself behind FIXNET's sequence number by more than one, it will stop processing FIX messages
-
When Moxy finds itself behind FIXNET's sequence number by more than one, it will do nothing
-
When Moxy finds itself behind FIXNET's sequence number by more than one, it will request for a replay
Question 37
Question
Moxy replays messages from FIXNET in batches of 100.
Question 38
Question
Bad messages to have "Failed the SolutionForge session-level validation" are caused by:
Answer
-
FIX executions that are not acknowledged
-
FIX executions with unsupported tags being sent by the broker
-
Broker has sent a standard tag back on a wrong type of message
-
Broker is not listed in Moxy
Question 39
Question
Bad messages to have "Failed the SolutionForge session-level validation" will be responded by FIX.NET with a:
Answer
-
Reject Message (35=1)
-
DK Trade (35=Q)
-
Reject Message (35=3)
-
DK Trade (35=3)
Question 40
Question
In order to prevent RTM from forever asking for the same missing message, MoxyFIXConnectionData maintains a request count number in which column?
Answer
-
RxRequestCount
-
RxRqstCount
-
MaxReXmit
-
RqstRxCount
Question 41
Question
This hidden dipswitch/setting tells RTM how many times it should request the same sequence number:
Answer
-
MaxRemitX
-
MaxReXmit
-
RxRqstCount
Question 42
Question
To activate the hidden dispwitch for RTM replay logic, which should you run?
Answer
-
WriteProfileInt 'MaxReXmit', 'FIX', '', 2
-
WriteProfileInt 'FIX', RxRqstCount' ,'', 2
-
WriteProfileInt 'FIX', 'MaxReXmit', '', 2
Question 43
Question
To delete the hidden dipswitch/setting for RTM replay logic, which should you run?
Answer
-
DeleteProfile 'FIX', 'MaxReXmit', ''
-
DeleteProfile 'MaxReXmit', 'FIX', ''
-
DeleteProfile 'RxRqstCount, 'FIX', ''
Question 44
Question
FIXNET will not replay EXPIRED messages.
Question 45
Question
What should you do to unexpire a FIX message?
Answer
-
Update RX_MESSAGE_STORE.MESSAGE_EXPIRED_TIME, set to NULL
-
Update FIX_MESSAGES.MSG_EXPIRED_TIME, set to NULL
-
Update RX_MESSAGE_STORE.MSG_EXPIRED_TIME, set to NULL
-
Update FIX_MESSAGES.MESSAGE_EXPIRED_TIME, set to NULL
Question 46
Question
Tag 11 is for which field?
Answer
-
Broker's Order ID
-
Broker's Execution ID
-
Client Order ID
Question 47
Question
Tag 11 or Client Order ID can be found in which column of the MoxyFIXPlaceOrder table?
Answer
-
FIXORID
-
FIXOrderID
-
FIXClOrdID
Question 48
Question
If Moxy receives a FIX message with a Tag = 11 that doesn't correspond to real Client Order ID, what will be sent to the broker?
Answer
-
Reject Message (35=3) complaining about BadClOrdID
-
Don't Know Trade (35=Q) complaining about BadClOrdID
-
Don't Know Trade (35=3)complaining about BadClOrdID
Question 49
Question
Subsequent executions can still find their way to the correct trade even after Close and Split off Remainder is used because of which column in the MoxyFIXPlaceOrder table?
Answer
-
OrigFIXOrderID
-
FIXParentOrderID
-
OrigOrderFIXID
Question 50
Question
What is tag 37 for?
Answer
-
Moxy Client Order
-
Broker's OrderID
-
Broker's Execution ID
-
Executing Broker Tag
Question 51
Question
Select all true statements for Tag 37:
Answer
-
It is the same with Moxy Client Order ID
-
It is generated by the broker
-
It can be found in the FIXBrokerOrderID field in MOxyFIXPlaceOrder
-
It cannot contain letters
Question 52
Question
What is the tag number for Broker's Execution ID?
Answer
-
Tag 17
-
Tag 37
-
Tag 34
-
Tag 7
Question 53
Question
Which tag indicates the broker who executed the trade?
Answer
-
Tag 17
-
Tag 76
-
Tag 11
-
Tag 27
-
Tag 16
Question 54
Question
To prevent duplicate fills while processing executions, Moxy will extract 4 pieces of data which will be combined into a Message Key. This Message Key contains which of the following?
Answer
-
Tag 11 (if present), Tag 37, Tag 17, Tag 76)
-
Tag 17 (if present), Tag 11, Tag 76, Tag 37)
-
Tag 76 (if present), Tag 17, Tag 37, Tag 11)
-
Tag 37 (if present), Tag 11, Tag 17, tag 76)
Question 55
Question
If Moxy sees a duplicate Message Key while processing executions, what would it do?
Answer
-
Reprocess the execution and insert it into the MoxyFill table
-
Stop processing all executions until the duplicate is deleted
-
Ignore the fill and insert a message into the Moxy Event Log declaring "Ignored duplicate message..."
-
Replay all executions and insert a message into the Moxy Event Log declaring "Ignored duplicate message..."
Question 56
Question
All incoming FIX messages are recorded in which two places?
Question 57
Question
Name the following tags:
Tag 52 - [blank_start]Sending Time[blank_end]
Tag 60 - [blank_start]Transaction Time[blank_end]
Tag 63 - [blank_start]Settlement Type[blank_end]
Tag 75 - [blank_start]Trade Date[blank_end]
Answer
-
Sending Time
-
Transaction Time
-
Settlement Type
-
Trade Date
Question 58
Question
Tag 60 is an optional standard tag that takes precedence over Tag 52 or Tag 75.
Question 59
Question
If this tag is present, Moxy will take the date supplied as Fill Settle Date and will override all other tags.
Answer
-
Tag 63
-
Tag 64
-
Tag 65
-
Tag 75
Question 60
Question
You need to activate a dipswitch to be able to use Tag 75 as your Trade Date.
Question 61
Question
You need to activate a dipswitch to use Tag 52 as your Trade Date.
Question 62
Question
Select all the methods clients employ to make Moxy's functionality work for International trading:
Answer
-
Suppress Tag 105
-
Suppress Tag 60
-
Use Tag 52
-
Use Tag 64
-
Use Tag 75
Question 63
Question
What are the requirements for UTRs or Drop Copies?
Answer
-
Tag 35 = 8, Tag 11 = 1
-
Tag 35 = 8
-
Tag 11 is not present
-
Tag 35 = 11
-
Tag 17 matches a valid Broker FIX ID in Moxy
-
UTR check box is activated for the Broker
-
Tag 76 or 50 matches a valid Broker FIX ID in Moxy