<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.spiretrading.com/index.php?action=history&amp;feed=atom&amp;title=NEOE_Market_Data_Feed_Client</id>
	<title>NEOE Market Data Feed Client - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.spiretrading.com/index.php?action=history&amp;feed=atom&amp;title=NEOE_Market_Data_Feed_Client"/>
	<link rel="alternate" type="text/html" href="https://wiki.spiretrading.com/index.php?title=NEOE_Market_Data_Feed_Client&amp;action=history"/>
	<updated>2026-04-07T13:02:35Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://wiki.spiretrading.com/index.php?title=NEOE_Market_Data_Feed_Client&amp;diff=233&amp;oldid=prev</id>
		<title>Kamal: Created page with &quot;The NEOE Market Data Feed Client disseminates real-time market data for the Aequitas NEO Exchange. It connects to the Service Locator for authentication and provides order boo...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.spiretrading.com/index.php?title=NEOE_Market_Data_Feed_Client&amp;diff=233&amp;oldid=prev"/>
		<updated>2025-02-25T16:32:10Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;The NEOE Market Data Feed Client disseminates real-time market data for the Aequitas NEO Exchange. It connects to the Service Locator for authentication and provides order boo...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The NEOE Market Data Feed Client disseminates real-time market data for the Aequitas NEO Exchange. It connects to the Service Locator for authentication and provides order book data, time and sales, and the consolidated best bid offer for the NEO Exchange. The feed is managed using start.sh, stop.sh, and check.sh scripts for service control.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
The feed is split into multiple channels for disseminating the CBBO, book, and trade data. Each channel can be found in its own subdirectory whose name starts with the neoe prefix, such as neoe_cbbo, neoe_cls and neoe_book for the CBBO, time and sales, and book feed respectively.&lt;br /&gt;
&lt;br /&gt;
The feed is configured via a YAML file (&amp;lt;code&amp;gt;config.yml&amp;lt;/code&amp;gt;) with the following structure and example values:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
service_locator:&lt;br /&gt;
  # Service Locator connection details&lt;br /&gt;
  address: &amp;quot;127.0.0.1:20000&amp;quot;&lt;br /&gt;
  username: &amp;quot;market_data_feed&amp;quot;&lt;br /&gt;
  password: &amp;quot;securepassword123&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Whether to log raw market data packets&lt;br /&gt;
enable_logging: false&lt;br /&gt;
&lt;br /&gt;
# Path to security definitions (relative to config)&lt;br /&gt;
symbol_list: &amp;quot;../symbols.yml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Frequency of market data updates&lt;br /&gt;
sampling: 100ms&lt;br /&gt;
&lt;br /&gt;
# Retransmission settings&lt;br /&gt;
enable_retransmission: false&lt;br /&gt;
max_retransmissions: 10000&lt;br /&gt;
retransmission_block_size: 20000&lt;br /&gt;
&lt;br /&gt;
# Multicast network configuration&lt;br /&gt;
host: &amp;quot;233.102.209.247:61023&amp;quot;&lt;br /&gt;
interface: &amp;quot;192.168.0.100:61023&amp;quot;&lt;br /&gt;
retransmission_request_address: &amp;quot;142.201.149.44:61030&amp;quot;&lt;br /&gt;
retransmission_response_address: &amp;quot;142.201.149.44:61031&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Market Participant ID mappings&lt;br /&gt;
mpid_mappings:&lt;br /&gt;
  - source: 1&lt;br /&gt;
    name: ANON&lt;br /&gt;
  - source: 2&lt;br /&gt;
    name: RBCC&lt;br /&gt;
  - source: 3&lt;br /&gt;
    name: TRIS&lt;br /&gt;
  - source: 4&lt;br /&gt;
    name: VERS&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition there is a security master list of traded securities typically founds in the &amp;lt;code&amp;gt;symbols.yml&amp;lt;/code&amp;gt; file with the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
  - symbol: AAPL                  # The ticker symbol assign.&lt;br /&gt;
    name: APPLE CDR (CAD HEDGED)  # The name of the security.&lt;br /&gt;
    board_lot: 100                # The security's board lot.&lt;br /&gt;
  - symbol: ABXX&lt;br /&gt;
    name: ABAXX TECHNOLOGIES INC.&lt;br /&gt;
    board_lot: 100&lt;br /&gt;
  - symbol: ABXX.WT&lt;br /&gt;
    name: ABAXX TECHNOLOGIES INC. WARRANTS&lt;br /&gt;
    board_lot: 100&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changes can be made in this security master list and reloaded by restarting the NEOE CBBO feed.&lt;br /&gt;
&lt;br /&gt;
==Installation &amp;amp; Setup==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;code&amp;gt;setup.py&amp;lt;/code&amp;gt; Script===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;setup.py&amp;lt;/code&amp;gt; Python script configures all of the channels at once and can be called as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
python3 setup.py&lt;br /&gt;
  --local 192.168.0.100          # Local interface (default: auto-detected IP)&lt;br /&gt;
  --address 127.0.0.1:20000      # Service Locator address&lt;br /&gt;
  --username market_data_feed    # Service Locator username (default: market_data_feed)&lt;br /&gt;
  --password [REQUIRED]          # Service Locator password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operations==&lt;br /&gt;
&lt;br /&gt;
Log files are generated as srv_[YYYY][MM][DD]_[HH]_[MM]_[SS].log in the runtime directory, upon termination, non-empty log files are moved into the log/ subfolder, while empty log files are deleted.&lt;br /&gt;
&lt;br /&gt;
Each channel is managed through three core scripts:&lt;br /&gt;
&lt;br /&gt;
start.sh Starts the channel, does nothing if the channel is already running.&lt;br /&gt;
&lt;br /&gt;
stop.sh Stops the channel and waits for the channel to terminate.&lt;br /&gt;
&lt;br /&gt;
check.sh Verifies that the channel is running.&lt;/div&gt;</summary>
		<author><name>Kamal</name></author>
		
	</entry>
</feed>