Execution Interface Fax

 

The Execution Interface called Fax lets us configure communication with an investment fund via fax.

Configuration of Execution Interface

To configure the Global settings for Execution Interface for Fax navigate to System Data→ExecutionInterface and select edit Fax.

Acceptance Difference (NAV) measures the difference in the proposed fill price in relation to the previous day's NAV price as recorded in BFS. If a value of 50 was entered this means that a difference of 50% will be accepted.

Reservation Multiple is used to reserve a margin of extra fund units when selling a fund holding using a fixed amount as opposed to a fixed amount of units or percentages of the holding. If 1.1 is entered as the multiple 10% will be added to the number of fund units that will be reserved for the sell order.

A broker Fee Account is used to set the default house account to receive any fees from trades that are made through the relevant execution interface.

Default Custody Account is used to set the default custody account to be used for safekeeping of the traded instruments.

Instruction Immediate Ready, if selected the created fund instructions will get the state "Ready" as soon as they are created. If this is not selected the initial state will be "Stop" and require a manual interaction to set the state to "Ready". Only fund instructions that have the state "Ready" will be included in the XML-file generation and FTP upload process.

FTP Settings

Setting

Description

Setting

Description

FTP Host

This is the URL for the FTP Host and should be written with the full protocol to use like "ftp://sitename.com"

FTP Path

This is the path to the correct folder on the FTP server

FTP Username

Username to use for logging in to the FTP server

FTP Password

Password to use for logging in to the FTP server

The sections called Buy, Sell and Rounding in the Edit ticket contains selections of which transaction types should be used for various workflow stages. These are configured by default and should generally not be changed.

XML format

The output of the execution interface is an XML file that is uploaded to the FTP host with the following schema:

BFSFax XML Schema
<?xml version="1.0" encoding="utf-8"?> <xs:schema id="FaxSchema" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.bricknode.com/BFSFax" xmlns:BFSFax="http://www.bricknode.com/BFSFax" targetNamespace="http://www.bricknode.com/BFSFax"> <!-- definition of simple elements --> <!-- Receiver --> <xs:element name="FundCompanyName" type="xs:string"/> <xs:element name="Department" type="xs:string"/> <xs:element name="Address1" type="xs:string"/> <xs:element name="Zip" type="xs:string"/> <xs:element name="City" type="xs:string"/> <xs:element name="Country" type="xs:string"/> <xs:element name="Fax" type="xs:string"/> <xs:element name="PhoneNo" type="xs:string"/> <xs:element name="Email" type="xs:string"/> <!-- OurReference --> <xs:element name="Reference" type="xs:string"/> <!-- Date --> <xs:element name="OrderDate" type="xs:date"/> <!-- Subscription (Buy)/Redemption (Sell) --> <xs:element name="OrderReference" type="xs:string"/> <xs:element name="ISIN" type="xs:string"/> <xs:element name="Name" type="xs:string"/> <xs:element name="Currency" type="xs:string"/> <!-- Subscription --> <xs:element name="Amount" type="xs:decimal"/> <!-- Redemption --> <xs:element name="Quantity" type="xs:decimal"/> <!-- definition of attributes --> <!--AVOID globally declared attributes, this causes problems when using default namespaces--> <!--<xs:attribute name="BFSFaxId" type="xs:string"/> <xs:attribute name="createDateTime" type="xs:date"/>--> <!-- definition of complex elements --> <xs:element name="ReferenceList"> <xs:complexType> <xs:sequence> <xs:element ref="Reference" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Receiver"> <xs:complexType> <xs:sequence> <xs:element ref="FundCompanyName"/> <xs:element ref="Department"/> <xs:element ref="Address1"/> <xs:element ref="Zip"/> <xs:element ref="City"/> <xs:element ref="Country"/> <xs:element ref="Fax"/> <xs:element ref="PhoneNo"/> <xs:element ref="Email"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="OurReference"> <xs:complexType> <xs:sequence> <xs:element ref="Reference"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Date"> <xs:complexType> <xs:sequence> <xs:element ref="OrderDate"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Subscription"> <xs:complexType> <xs:sequence> <xs:element ref="OrderReference"/> <xs:element ref="ISIN"/> <xs:element ref="Name"/> <xs:element ref="Currency"/> <xs:choice minOccurs="1" maxOccurs="1"> <xs:element minOccurs="1" maxOccurs="1" ref="Amount" /> <xs:element minOccurs="1" maxOccurs="1" ref="Quantity"/> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="SubscriptionList"> <xs:complexType> <xs:sequence> <xs:element ref="Subscription" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Redemption"> <xs:complexType> <xs:sequence> <xs:element ref="OrderReference"/> <xs:element ref="ISIN"/> <xs:element ref="Name"/> <xs:element ref="Currency"/> <xs:choice minOccurs="1" maxOccurs="1"> <xs:element minOccurs="1" maxOccurs="1" ref="Amount" /> <xs:element minOccurs="1" maxOccurs="1" ref="Quantity"/> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="RedemptionList"> <xs:complexType> <xs:sequence> <xs:element ref="Redemption" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="BFSFax"> <xs:complexType> <xs:sequence> <xs:element ref="Receiver"/> <xs:element ref="OurReference"/> <xs:element ref="Date"/> <xs:element ref="SubscriptionList"/> <xs:element ref="RedemptionList"/> </xs:sequence> <xs:attribute name="BFSFaxId" type="xs:string" use="required"/> </xs:complexType> </xs:element> <xs:element name="FaxList"> <xs:complexType> <xs:sequence> <xs:element ref="BFSFax"/> </xs:sequence> <xs:attribute name="createDateTime" type="xs:date" use="required"/> </xs:complexType> </xs:element> </xs:schema>

Example file:

Example file
<?xml version="1.0" encoding="UTF-8"?> <BFSFax:FaxList BFSFax:createDateTime="2016-03-19" xmlns:BFSFax="http://www.bricknode.com/BFSFax"> <!-- 1 to many BFSFax--> <BFSFax:BFSFax BFSFax:BFSFaxId=""> <BFSFax:Receiver> <BFSFax:FundCompanyName></BFSFax:FundCompanyName> <BFSFax:Department> </BFSFax:Department> <BFSFax:Address1> </BFSFax:Address1> <BFSFax:Zip> </BFSFax:Zip> <BFSFax:City> </BFSFax:City> <BFSFax:Country> </BFSFax:Country> <BFSFax:Fax> </BFSFax:Fax> <BFSFax:PhoneNo> </BFSFax:PhoneNo> <BFSFax:Email> </BFSFax:Email> </BFSFax:Receiver> <BFSFax:OurReference> <BFSFax:Reference> </BFSFax:Reference> <!-- CustomerNo at the fundCo--> </BFSFax:OurReference> <BFSFax:Date> <BFSFax:OrderDate></BFSFax:OrderDate> </BFSFax:Date> <BFSFax:SubscriptionList> <!-- 0 to many Subscription (Buy orders)--> <BFSFax:Subscription> <BFSFax:ISIN> </BFSFax:ISIN> <BFSFax:Name> </BFSFax:Name> <BFSFax:Currency> </BFSFax:Currency> <BFSFax:Amount> </BFSFax:Amount> </BFSFax:Subscription> </BFSFax:SubscriptionList> <BFSFax:RedemptionList> <!-- 0 to many Redemption (Sell orders)--> <BFSFax:Redemption> <BFSFax:ISIN> </BFSFax:ISIN> <BFSFax:Name> </BFSFax:Name> <BFSFax:Currency> </BFSFax:Currency> <BFSFax:Quantity> </BFSFax:Quantity> </BFSFax:Redemption> </BFSFax:RedemptionList> </BFSFax:BFSFax> </BFSFax:FaxList>

Important settings

In order for the XML file to be completed correctly there has to be a fax number set for the Fund entity and the customer number that the house has in relation to the Fund entity. The fax number is set by navigating to the fund entity and entering this value for contact info and the customer number is available in the fund entity details:

Instrument configuration

To add the fax interface to an instrument navigate to the instrument and select Add Execution Interface:

The settings to be made for each instrument are the following:

Custody Account is selected for all execution interfaces. See the article Custody accounts on how to create custody accounts.

The Trade Calender determines when the instrument is tradable and when orders can be expected to be executed by the fund company. See the separate article about managing Trading calendars.

Payment Account points out which external account will be used for cash transfers to send money to the fund entity. Buy AmountSell Amount and Sell Unit are used to control which kind of orders are allowed. Is Prepaid should be checked if buying the instrument requires prepayment. Min Subscription Amount and Min Redemption Amount state the minimum amount per order. Quantity Decimals are the maximum number of decimals used for unit orders. First Trade and Last Trade set time limits for when the instrument is tradable.

© 2009 - 2023 Huddlestock Technologies AB All rights reserved | Huddlestock Terms of use | Support portal