How to model FIX order messages to withdraw cash from a settlement account

general-qa

#1

Hi,

I would like to get some hints about modeling a special type of orders to transfer money from and to a settlement account used to save customers money available for trading.

The customer has a portfolio of securities and a dedicated settlement account to provide the money to buy new securities.

So we have two types of orders: orders to buy or sell securities and orders to withdraw money from the settlement account (or vice versa).

I would like to user a FIX NewOrderSinge message but I am not sure which fields to use to indicate the different category of orders. Even another FIX message type may be suitable.

Any hints welcome !

Cheers, Jörg


#2

FIX is not ideally suited to moving funds - SWIFT, Fedwire or some other funds transfer network will need to come into play. But the FIX NewOrderSingle(35=D) message could be modeled for the customer to instruct its IM to deposit to or withdraw from its settlement account. Here is a sample of the necessary tags:

<Instrument>
Symbol(55)=[N/A]
SecurityType(167)=CASH

Side(54)
1 Buy (to transfer funds into the cash account at the IM)
2 Sell (to withdraw funds from the cash account at the IM)

<Parties>
NoPartyIDs(453)=3
PartyID(448)=<customer id at the IM>
PartyIDSource(447)=D (proprietary)
PartyRole(452)=13 (Order origination firm)
<PtysSubGrp>
NoPartySubIDs(802)=1
PartySubID(523)=<settlement account number>
PartySubIDType(803)=10 (Settlement account number)

PartyID(448)=\<bank identifier, e.g. swift or fed routing>
PartyIDSource(447)=B (BIC) or C (Market participant ID)
PartyRole(452)=109 (Beneficiary's bank)

PartyID(448)=\<customer's bank account number>
PartyIDSource(447)=D (proprietary)
PartyRole(452)=32 Beneficiary
\<PtysSubGrp>
  NoPartySubIDs(802)=1
  PartySubID(523)=\<customer's name>
  PartySubIDType(803)=1 (Firm) or 2 (Person)

#3

Thanks for the detailed reply, Dean!

So basically the SecurityType=CASH is what I was looking for.

Cheers, Jörg


#4

Suggest to also have a look at the CollateralRequest (MsgType=AX) which may make it clearer that it is not an order to trade something. Use CollAsgnReason(895)=8 (Transfer deposit) and 9 (Transfer withdrawal) together with SecurityType(167)=CASH. Both options not ideal as Dean already pointed out. FIX does not support plain vanilla payment instructions.


#5

Thanks for the reply, Hanno and good to read you again :slight_smile:

Basically, we want to model our internal language according to the FIX standards if possible and useful.
The FIX interface depends on what our customers provide.

Cheers, Jörg