FIX Connection Information
OpenYield emails you a set of connection parameters for each environment. This page explains where each one goes. Placeholders such as <COMPID> below stand for the values in your email.
Your Connection Parameters
| Parameter | Placeholder | Description |
|---|---|---|
| Environment | <ENVIRONMENT> | Test or Main (see Environments below) |
| Host | <HOST> | The DNS name to connect to. In Main, use the host named in your email. |
| CompID | <COMPID> | Your firm identifier. Every SenderCompID is this value followed by a hyphen and the session code, for example <COMPID>-TR. |
| Client ID | <CLIENTID> | Your counterparty code. Send this in PartyRole 3 on all orders, quotes and RFO requests. |
| Clearing MPID | <MPID> | Optional. Send this in PartyRole 4 if you clear through more than one firm. |
| Security Designator | <SECURITY-ID> | ISIN by default. CUSIP is available on request. |
| Quantity Unit | <QUANTITY-UNIT> | Bonds by default (1 bond = 1,000 notional). Notional is available on request. |
Your Sessions
Your email lists a port for each session enabled for you. Only the TR (Trading) session is mandatory.
| Session | SenderCompID | TargetCompID | Port |
|---|---|---|---|
| Trading (TR) | <COMPID>-TR | OPENYIELD-TR | <TR-PORT> |
| Market Data (MD) | <COMPID>-MD | OPENYIELD-MD | <MD-PORT> |
| Order Book (OB) | <COMPID>-OB | OPENYIELD-OB | <OB-PORT> |
| Drop Copy (DC) | <COMPID>-DC | OPENYIELD-DC | <DC-PORT> |
| Request Quote (RQ) | <COMPID>-RQ | OPENYIELD-RQ | <RQ-PORT> |
If you connect over the internet, ports in the Main environment are stunnel ports. Point your FIX engine at your local stunnel accept port (127.0.0.1), not at the port above. See Stunnel Connection Information.
Environments
| Test | Main | |
|---|---|---|
| Purpose | Development, testing, UAT and certification | Production trading |
| Hours | 08:00 – 17:00, Monday – Friday (America/New_York) | 08:00 – 17:00, Monday – Friday (America/New_York) |
| Access | Open internet, any IP address | Allowlisted IP addresses only |
| Transport | Direct (unencrypted) FIX or encrypted stunnel | Encrypted stunnel, AWS PrivateLink, or AWS Direct Connect |
| FIX Ports | TR 470x, MD 430x, OB 450x, DC 490x, RQ 510x | Not available over the internet; use stunnel (or PrivateLink / Direct Connect) |
| Stunnel Ports | FIX port + 2000 (for example 4704 → 6704) | 63xx, assigned per session |
| Liquidity | Simulated markets on a limited set of securities | Live marketplace |
For AWS PrivateLink or AWS Direct Connect in Main, contact OpenYield for more information.
Hosts
| Environment | DNS Name | IPv4 Address |
|---|---|---|
| Test | contest.openyld.com | 18.220.26.232 |
| Main | connect.openyld.com | 34.205.60.36 |
| Main | connectone.openyld.com | 54.145.185.124 |
Your email specifies which Main host your sessions connect to. Always connect by DNS name. IP addresses are listed for firewall rules and certificate checks.
Session Reference
OpenYield's CompID is OPENYIELD. Every TargetCompID is OPENYIELD followed by a hyphen and the two-letter session code.
| Session | Required | Purpose | Special Settings |
|---|---|---|---|
| TR Trading | Yes | Send orders or quotes, receive fills back | None |
| MD Market Data | No | Equity-style top-of-book feed (bid, offer, high, low, index, trade) | Reset on Logon, Logout and Disconnect |
| OB Order Book | No | Fixed income-style depth of book (Quote / IOI) data | Reset on Logon, Logout and Disconnect |
| DC Drop Copy | No | Fills to back office | None |
| RQ Request Quote | No | Ping for Liquidity and Request for Order (Quote) workflows | None |
See FIX Specification for the messages on each session.
Party Roles
Set the following in the Parties block (PartyRole, field 452) on all orders, quotes and RFO requests:
| PartyRole (452) | Role | Value |
|---|---|---|
| 3 | Client ID | <CLIENTID> (required) |
| 4 | Clearing Firm | Optional. <MPID> of the clearing firm contra parties face. Not used in Test. |
| 5 | Investor ID | Do not set unless OpenYield has configured account segregation for you |
| 24 | Customer Code | Optional. For your own use; reflected back unchanged on all responses |
See Party Blocks for the full rules.
Recommended Session Settings
OpenYield uses standard FIX 4.4 messages with minimal, documented extensions. These settings are recommended but optional:
| Setting | Test | Main |
|---|---|---|
| Heartbeat | 30 seconds | 30 seconds |
| Reconnect Interval | 30 seconds | 30 seconds |
| Start Time | From 07:30, before 08:00 | From 07:30, before 08:00 |
| End Time | 17:30 | 17:30 |
| Time Zone | America/New_York | America/New_York |
QuickFIX Changes
If you use QuickFIX, current versions of its FIX44.xml data dictionary need two changes.
IOIQty (field 27)
QuickFIX only allows the three enumerations S, M and L in IOIQty. OpenYield sends actual quantities. Comment out the enumerations (around line 3843):
<field number='27' name='IOIQty' type='STRING'>
<!--
<value enum='S' description='SMALL' />
<value enum='M' description='MEDIUM' />
<value enum='L' description='LARGE' />
-->
</field>
OrdStatus (field 39)
QuickFIX has deprecated 5 = REPLACED in OrdStatus. OpenYield sends it on order updates, so reinstate it:
<field number='39' name='OrdStatus' type='CHAR'>
<value enum='0' description='NEW' />
<value enum='1' description='PARTIALLY_FILLED' />
<value enum='2' description='FILLED' />
<value enum='3' description='DONE_FOR_DAY' />
<value enum='4' description='CANCELED' />
<!-- Add 5 as REPLACED -->
<value enum='5' description='REPLACED' />
<!-- End -->
<value enum='6' description='PENDING_CANCEL' />
<value enum='7' description='STOPPED' />
<value enum='8' description='REJECTED' />
<value enum='9' description='SUSPENDED' />
<value enum='A' description='PENDING_NEW' />
<value enum='B' description='CALCULATED' />
<value enum='C' description='EXPIRED' />
<value enum='D' description='ACCEPTED_FOR_BIDDING' />
<value enum='E' description='PENDING_REPLACE' />
</field>
Sample QuickFIX Configuration
This sample configures TR (Trading) and OB (Order Book) initiator sessions. Replace the placeholders with the values from your email.
[DEFAULT]
ConnectionType=initiator
ReconnectInterval=30
HeartBtInt=30
FileLogPath=${HOME}/Applications/log
FileStorePath=${HOME}/Applications/tmp
[SESSION]
BeginString=FIX.4.4
DataDictionary=${HOME}/Applications/share/FIX44.xml
SenderCompID=<COMPID>-TR
TargetCompID=OPENYIELD-TR
StartTime=07:30:00
EndTime=17:30:00
TimeZone=America/New_York
SocketConnectHost=<HOST>
SocketConnectPort=<TR-PORT>
[SESSION]
BeginString=FIX.4.4
DataDictionary=${HOME}/Applications/share/FIX44.xml
SenderCompID=<COMPID>-OB
TargetCompID=OPENYIELD-OB
StartTime=07:30:00
EndTime=17:30:00
TimeZone=America/New_York
SocketConnectHost=<HOST>
SocketConnectPort=<OB-PORT>
ResetOnLogon=Y
ResetOnLogout=Y
ResetOnDisconnect=Y
When connecting through stunnel (always in Main over the internet), set SocketConnectHost=127.0.0.1 and SocketConnectPort to your local stunnel accept port for that session.