<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="83349" data-post-id="83349">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="KishoreKarunakaran" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/KishoreKarunakaran/120/9815_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  KishoreKarunakaran
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/idi527" rel="nofollow">@idi527</a> I agree with you !!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="83349" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/is-elixir-and-phoenix-a-good-choice-for-real-time-trading-systems/14423/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-83349" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="83349"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="83631" data-post-id="83631">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="felix-d" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/felix-d/120/7224_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  felix-d
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>The beam is a top choice for trading platforms. The author of Learn You Some Erlang For Great Good, Fred Hébert, was building an ad auction system while working on his book I believe.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="83631" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/is-elixir-and-phoenix-a-good-choice-for-real-time-trading-systems/14423/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-83631" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="83631"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="83663" data-post-id="83663">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="jorinvo" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jorinvo/120/9304_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  jorinvo
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Although it doesn’t seem like you really need it here, there is an interesting talk about building hard real time systems on top of the Erlang VM: <a href="https://www.youtube.com/watch?v=yjmZoAtkkLY" rel="noopener nofollow ugc">https://www.youtube.com/watch?v=yjmZoAtkkLY</a><br>
Even if you don’t need hard real time, the talk gives some nice insight into using NIFs and dedicated hardware to build high performance systems.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="83663" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/is-elixir-and-phoenix-a-good-choice-for-real-time-trading-systems/14423/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-83663" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="83663"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-solved cat-solved" title="Marked as solution"></div>
  </section>
</div>
    <div class="postbit" id="83666" data-post-id="83666">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dimitarvp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/120/38664_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dimitarvp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="jakemorrison" data-post="3" data-topic="14423">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jakemorrison/48/604_2.png" class="avatar"> jakemorrison:</div>
<blockquote>
<p>Erlang handled everything else, and restarted the C++ if it should crash in time for the next frame. Bulletproof.</p>
</blockquote>
</aside>
<p>Wish I could see the code of that.</p>
<p>As a related thought, maybe we as a community should add another category in the <a href="https://github.com/h4cc/awesome-elixir" rel="noopener nofollow ugc">Awesome Elixir</a> (curated Elixir libraries list) that has pointers to libraries that allow you to have an Erlang-compliant node written in other languages.</p>
<p>I heard about C++, Rust and Go libraries but that’s about it. There are probably more?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="83666" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/is-elixir-and-phoenix-a-good-choice-for-real-time-trading-systems/14423/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-83666" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="83666"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="84173" data-post-id="84173">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="seamon" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  seamon
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>hmm…yes, we think it’s a good choice for trading system. we wrote <a href="https://chaince.com" rel="noopener nofollow ugc">https://chaince.com</a> as mentioned above by <a class="mention" href="/u/gonglexin" rel="nofollow">@gonglexin</a> (and thank you so much <img src="https://forum.elixirforum.com/images/emoji/apple/grinning.png?v=15" title=":grinning:" class="emoji" alt=":grinning:" loading="lazy" width="20" height="20">) based on pure elixir/phoenix/OTP infrastructure.</p>
<p>we’re using phoenix channel with websocket as order submission and trading reports system, it’s very fast. we think it can be called “real time”.</p>
<p>as to the High Availability, it’s just the pros of OTP. there’re 12 nodes in our cluster, and the whole cluster can be rolling restarted any time we like, without any service interruption.</p>
<p>“elixir is a good thing, maybe the best of things, and no good thing ever DIES” <img src="https://forum.elixirforum.com/images/emoji/apple/relaxed.png?v=15" title=":relaxed:" class="emoji" alt=":relaxed:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="84173" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/is-elixir-and-phoenix-a-good-choice-for-real-time-trading-systems/14423/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-84173" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="84173"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="84178" data-post-id="84178">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="aseigo" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/aseigo/120/10674_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  aseigo
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="dimitarvp" data-post="15" data-topic="14423">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>allow you to have an Erlang-compliant node written in other languages.</p>
<p>I heard about C++, Rust and Go libraries but that’s about it. There are probably more?</p>
</blockquote>
</aside>
<p>Java … as much as I dislike that language, that can be a real deal-maker for large enterprise-y shops that are heavily vested in the Java ecosystem.</p>
<p>That said, you don’t really need a full node to just supervise external processes or do simple communication with them (stdout/stdin style). A <a href="https://hexdocs.pm/elixir/Port.html" rel="noopener nofollow ugc">port</a> is enough, as it lets you launch, sent/recv data and get notified of termination. This really opens the door to executables written in all sorts of  languages.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="84178" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/is-elixir-and-phoenix-a-good-choice-for-real-time-trading-systems/14423/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-84178" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="84178"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #16"></div>
  </section>
</div>
    <div class="postbit" id="84200" data-post-id="84200">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mmport80" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mmport80/120/8995_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mmport80
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Goldman uses Erlang.</p>
<p>There was a big scandal a few years ago about one of their Erlang programmers.</p>
<aside class="onebox wikipedia" data-onebox-src="https://en.wikipedia.org/wiki/Sergey_Aleynikov">
  <header class="source">

      <a href="https://en.wikipedia.org/wiki/Sergey_Aleynikov" target="_blank" rel="noopener nofollow ugc">en.wikipedia.org</a>
  </header>

  <article class="onebox-body">
    

<h3><a href="https://en.wikipedia.org/wiki/Sergey_Aleynikov" target="_blank" rel="noopener nofollow ugc">Sergey Aleynikov</a></h3>

<p>Sergey Aleynikov (born 1970) is a former Goldman Sachs computer programmer. Between 2009 and 2016, he was prosecuted by NY Federal and State jurisdictions for the same conduct of allegedly copying proprietary computer source code from his employer, Goldman Sachs, before joining a competing firm. His first prosecution in federal court in New York ultimately resulted in acquittal by the United States Court of Appeals for the Second Circuit. The outcome of his second prosecution and trial in New Yor...</p>

  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="84200" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/is-elixir-and-phoenix-a-good-choice-for-real-time-trading-systems/14423/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-84200" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="84200"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #17"></div>
  </section>
</div>
    <div class="postbit" id="112207" data-post-id="112207">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="rupurt" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/rupurt/120/12373_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  rupurt
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/kishorekarunakaran" rel="nofollow">@KishoreKarunakaran</a> I’ve been working on just that <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"> and get sub ms latencies with colocated servers. I’ve open sourced the plumbing for the framework here <a href="https://github.com/fremantle-capital/tai" class="inline-onebox" rel="noopener nofollow ugc">GitHub - fremantle-industries/tai: A composable, real time, market data and trade execution toolkit. Built with Elixir, runs on the Erlang virtual machine · GitHub</a> but it’s still very much in the alpha stages. I’m posting it with a huge disclaimer that this is the project I used to learn Elixir, so there’s bunches of code that needs improvements <img src="https://forum.elixirforum.com/images/emoji/apple/grin.png?v=15" title=":grin:" class="emoji" alt=":grin:" loading="lazy" width="20" height="20"></p>
<p>Currently it only does cryptocurrencies but I’ve been playing around with adding an adapter for stock trading through <a href="https://alpaca.markets/" rel="noopener nofollow ugc">https://alpaca.markets/</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="112207" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/is-elixir-and-phoenix-a-good-choice-for-real-time-trading-systems/14423/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-112207" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="112207"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #18"></div>
  </section>
</div>
    <div class="postbit" id="112248" data-post-id="112248">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="lpil" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lpil/120/17492_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  lpil
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Gleam</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Friends who work in high frequency trading tell me that in the hot path where latency is critical that languages with non-deterministic garbage collection such as Elixir are not suitable as the latency is not low enough it consistent enough.</p>
<p>Outside of the hot path Java and Python are used, so I suspect latency is less important there.</p>
<p>I suspect Elixir hits an awkward middle ground where it is too slow for the fast bits and too niche for the rest (given the extreme hiring requirements of these companies).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="112248" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/is-elixir-and-phoenix-a-good-choice-for-real-time-trading-systems/14423/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-112248" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="112248"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #19"></div>
  </section>
</div>
    <div class="postbit" id="112251" data-post-id="112251">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dimitarvp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/120/38664_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dimitarvp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>You are partially correct. I’ve been consulting for 2 such companies in the past. They get some really <em>beefy</em> servers, I must tell you (of the 96-core &amp; 1TB ECC RAM kind). There even the not-so-amazing Java GC acts quite well.</p>
<p>It’s all about fine-tuning. They had a 25-line script to start their Java VMs and all memory allocation and GC parameters were fine-tuned to hell and back for minimum latency.</p>
<p>I am not an expert in the BEAM but if a mediocre GC tech like Java’s can be used in high-freq trading in this manner then I see no reason why you can’t use Erlang/Elixir or Go. Last time I checked the BEAM VM has plenty of startup parameters that can significantly change its GC and memory allocation behaviour.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="112251" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/is-elixir-and-phoenix-a-good-choice-for-real-time-trading-systems/14423/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-112251" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="112251"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #20"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/14423/load_more?page=3">Load more posts (5 remaining)</a>
</div></template></turbo-stream>