FIX market data

FIX 4.4 market-data feed for secondary markets

FIX market data

Lise exposes a FIX 4.4 acceptor for secondary-market market data. The feed is read-only: you can discover instruments and subscribe to the order book. Order entry over FIX is not available.

Trading and account operations continue to go through the GraphQL API.

What is available today

CapabilityStatus
Session logon with API keySupported
Instrument discovery (SecurityList)Supported
Level-2 order book snapshotSupported
Live book updates (full refresh)Supported
Last trade in snapshotSupported
Order entry / cancels / execution reportsNot supported
Incremental market-data refresh (35=X)Not supported (updates are full snapshots)

Connection

SettingValue
ProtocolFIX.4.4
TransportTCP
Server SenderCompIDLISE
Your SenderCompID / TargetCompIDAssigned by your account manager
Heartbeat30 seconds
Session hours00:00:0000:00:00 (24/7)

Host and port are provided per environment (sandbox / production) by your account manager.

📘

Point your initiator at the host and port you were given. On the wire, Lise is the acceptor: your TargetCompID must be LISE, and your SenderCompID is the value assigned to your session.

Authentication

Logon (35=A) uses the same API keys as GraphQL. Provide credentials in the Logon Username / Password fields using either form:

FormUsername (tag 553)Password (tag 554)
Full keylise-apikey_<login>_<secret>ignored
Split<login><secret>

See Authentication for how keys are created and revoked.

Failed authentication rejects the Logon; the session does not start.

Supported application messages

Inbound (you → Lise)

MsgTypeNameNotes
ALogonRequired; API key auth
xSecurityListRequestOnly SecurityListRequestType=4 (All Securities)
VMarketDataRequestSnapshot (0) or Snapshot+Updates (1); unsubscribe with 2

Any other application message is ignored.

Outbound (Lise → you)

MsgTypeNameNotes
ySecurityListPublished secondary-market instruments
WMarketDataSnapshotFullRefreshInitial snapshot and every live update
YMarketDataRequestRejectUnknown symbol, unsupported subscription type, etc.

Instrument discovery

Send a SecurityListRequest (35=x) with:

  • SecurityReqID (tag 320) — your correlation id
  • SecurityListRequestType (tag 559) = 4 (All Securities)

Lise replies with a SecurityList (35=y) containing each published secondary-market instrument:

FieldDescription
SymbolToken ticker
SecurityIDISIN when available (SecurityIDSource=4)
SecurityAltIDBloomberg ticker when available (SecurityAltIDSource=A)
CurrencyEUR
SecurityTypeCS (common stock)

Use Symbol and/or SecurityID (ISIN) in subsequent market-data requests.

Market data

Request

Send a MarketDataRequest (35=V) with:

FieldValue
MDReqIDYour correlation id
SubscriptionRequestType0 = one-shot snapshot; 1 = snapshot + live updates; 2 = unsubscribe
MarketDepthNumber of price levels (L2 depth)
NoRelatedSymAt least one instrument (Symbol and/or SecurityID)

Snapshot contents

Each MarketDataSnapshotFullRefresh (35=W) includes:

MDEntryTypeMeaning
0 (Bid)Aggregated open buy orders at that price
1 (Offer)Aggregated open sell orders at that price
2 (Trade)Last trade, when available (includes MDEntryDate / MDEntryTime in UTC)

Prices are in EUR with 2 decimal places. Sizes are integer volumes.

Live updates

With SubscriptionRequestType=1, Lise keeps the subscription and pushes a new full snapshot (35=W) whenever the secondary-market book for that instrument changes. Updates are not incremental (35=X is not used).

To stop updates, send another MarketDataRequest with the same MDReqID and SubscriptionRequestType=2, or log out of the session.

Rejects

If the instrument cannot be resolved or the request is invalid, Lise sends MarketDataRequestReject (35=Y) with a reason text (for example unknown symbol).

Not in scope

The FIX session does not accept:

  • NewOrderSingle (35=D)
  • OrderCancelRequest / OrderCancelReplaceRequest
  • ExecutionReport drop-copy
  • Quote or RFQ flows

To place or cancel secondary-market orders, use the GraphQL mutations documented in the API Reference.

Next steps


Did this page help you?