<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4882162345730380842</id><updated>2012-02-16T05:32:40.294-05:00</updated><category term='rex'/><title type='text'>Ben Wu</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.benwu.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4882162345730380842/posts/default'/><link rel='alternate' type='text/html' href='http://www.benwu.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ben Wu</name><uri>http://www.blogger.com/profile/17716390153183255601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4882162345730380842.post-8050520552087368489</id><published>2010-02-13T13:51:00.001-05:00</published><updated>2010-03-23T22:49:27.203-04:00</updated><title type='text'>Rex Source Code Is Now Available</title><content type='html'>Finally had the time to post the source code for the order matching engine. You can check it out &lt;a href="https://code.google.com/p/rex-matching-engine/"&gt;here&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;To compile, best is to create an Eclipse C++ project and add all the source files. You must already have the following libraries installed: ACE, Boost, QuickFIX, log4cxx, and pugixml.&lt;br /&gt;&lt;br /&gt;To run, make sure the config/ folder is in the same directory as the executable, modify the configuration files as appropriate and simply type in the name of the executable in the command line. &lt;br /&gt;&lt;br /&gt;For testing, I used the Banzai GUI trading app that comes bundled with QuickFIX/J to connect with the matching engine and to submit test orders.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4882162345730380842-8050520552087368489?l=www.benwu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.benwu.com/feeds/8050520552087368489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.benwu.com/2010/02/rex-source-code-is-now-available.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4882162345730380842/posts/default/8050520552087368489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4882162345730380842/posts/default/8050520552087368489'/><link rel='alternate' type='text/html' href='http://www.benwu.com/2010/02/rex-source-code-is-now-available.html' title='Rex Source Code Is Now Available'/><author><name>Ben Wu</name><uri>http://www.blogger.com/profile/17716390153183255601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4882162345730380842.post-458130769644604705</id><published>2010-02-13T13:50:00.000-05:00</published><updated>2010-02-13T13:50:01.565-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rex'/><title type='text'>Rex - an Order Matching Engine</title><content type='html'>An exchange simulator/order matching engine written in C++. The complete code will be posted later. &lt;br /&gt;&lt;br /&gt;Briefly, it creates a thread per connection to handle incoming FIX messages. The messages are then queued, based on the security, to an order book that handles that security. Each order book runs in its own thread and does the actual matching. All outgoing messages are then sent in separate connection specific threads to the originator.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4882162345730380842-458130769644604705?l=www.benwu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.benwu.com/feeds/458130769644604705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.benwu.com/2010/02/rex-order-matching-engine.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4882162345730380842/posts/default/458130769644604705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4882162345730380842/posts/default/458130769644604705'/><link rel='alternate' type='text/html' href='http://www.benwu.com/2010/02/rex-order-matching-engine.html' title='Rex - an Order Matching Engine'/><author><name>Ben Wu</name><uri>http://www.blogger.com/profile/17716390153183255601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4882162345730380842.post-4225671342944364708</id><published>2010-02-13T13:47:00.000-05:00</published><updated>2010-02-13T13:47:00.118-05:00</updated><title type='text'>My Reading List</title><content type='html'>Originally posted 10/21/2009&lt;br /&gt;&lt;br /&gt;Design Patterns&lt;br /&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256182650&amp;amp;sr=8-1"&gt;Dsign Patterns: Elements of Reusable Object-Oriented Software&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Pattern-Oriented-Software-Architecture-Concurrent-Networked/dp/0471606952/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1255833310&amp;amp;sr=8-1"&gt;Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Network Programming&lt;br /&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Network-Programming-Mastering-Complexity-Patterns/dp/0201604647/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1255831971&amp;amp;sr=8-1"&gt;C++ Network Programming, Volume I: Mastering Complexity with ACE and Patterns&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Network-Programming-Systematic-Reuse-Frameworks/dp/0201795256/ref=sr_1_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1255831971&amp;amp;sr=8-2"&gt;C++ Network Programming, Volume 2: Systematic Reuse with ACE and Frameworks&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Unix-Network-Programming-Sockets-Networking/dp/0131411551/ref=sr_1_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256181912&amp;amp;sr=8-2"&gt;Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/UNIX-Network-Programming-Interprocess-Communications/dp/0130810819/ref=sr_1_3?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256182092&amp;amp;sr=8-3"&gt;UNIX Network Programming, Volume 2: Interprocess Communications (2nd Edition)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/TCP-IP-Illustrated-1-Protocols/dp/0201633469/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256182148&amp;amp;sr=8-1"&gt;TCP/IP Illustrated, Volume 1: The Protocols&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Systems Programming&lt;br /&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Programming-POSIX-Threads-David-Butenhof/dp/0201633922/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256182441&amp;amp;sr=8-1"&gt;Programming with POSIX(R) Threads&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Programming-Environment-Addison-Wesley-Professional-Computing/dp/0321525949/ref=sr_1_4?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256182441&amp;amp;sr=8-4"&gt;Advanced Programming in the UNIX Environment, Second Edition&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;C++&lt;br /&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Primer-4th-Stanley-B-Lippman/dp/0201721481/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256182399&amp;amp;sr=8-1"&gt;C++ Primer (4th Edition)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/C-Standard-Library-Tutorial-Reference/dp/0201379260/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1255839989&amp;amp;sr=8-1"&gt;The C++ Standard Library: A Tutorial and Reference&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Effective-Specific-Improve-Programs-Designs/dp/0321334876/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256182228&amp;amp;sr=8-1"&gt;Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/More-Effective-Improve-Programs-Designs/dp/020163371X/ref=sr_1_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256182228&amp;amp;sr=8-2"&gt;More Effective C++: 35 New Ways to Improve Your Programs and Designs&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Coding-Standards-Rules-Guidelines-Practices/dp/0321113586/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256183479&amp;amp;sr=8-1"&gt;C++ Coding Standards: 101 Rules, Guidelines, and Best Practices&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Java&lt;br /&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256182700&amp;amp;sr=8-1"&gt;Effective Java (2nd Edition)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601/ref=sr_1_3?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256182700&amp;amp;sr=8-3"&gt;Java Concurrency in Practice&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Core-Java-TM-I-Fundamentals-8th/dp/0132354764/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256182747&amp;amp;sr=8-1"&gt;Core Java(TM), Volume I--Fundamentals&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Core-Java-Vol-Advanced-Features/dp/0132354799/ref=sr_1_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256182747&amp;amp;sr=8-2"&gt;Core Java, Vol. 2: Advanced Features&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;C&lt;br /&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256183846&amp;amp;sr=8-1"&gt;C Programming Language (2nd Edition)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Reference-Manual-Samuel-P-Harbison/dp/013089592X/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256183878&amp;amp;sr=8-1"&gt;C: A Reference Manual (5th Edition)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Trading&lt;br /&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Reminiscences-Stock-Operator-Investment-Classics/dp/0471770884/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1255833635&amp;amp;sr=1-1"&gt;Reminiscences of a Stock Operator&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Japanese-Candlestick-Charting-Techniques-Second/dp/0735201811/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1255833748&amp;amp;sr=1-1"&gt;Japanese Candlestick Charting Techniques&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Mastering-Trade-Techniques-Profiting-McGraw-Hill/dp/0071459588/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1255833838&amp;amp;sr=1-1"&gt;Mastering the Trade: Proven Techniques for Profiting from Intraday and Swing Trading Setups&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Trading-Commodities-Financial-Futures-Mastering/dp/0131476548/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256183780&amp;amp;sr=8-1"&gt;Trading Commodities and Financial Futures&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/Market-Wizards-Interviews-Top-Traders/dp/1592802974/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256184527&amp;amp;sr=8-1"&gt;Market Wizards: Interviews with Top Traders&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.amazon.com/New-Market-Wizards-Conversations-Americas/dp/1592803377/ref=sr_1_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1256184527&amp;amp;sr=8-2"&gt;The New Market Wizards: Conversations with America's Top Traders&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4882162345730380842-4225671342944364708?l=www.benwu.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.benwu.com/feeds/4225671342944364708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.benwu.com/2010/02/my-reading-list.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4882162345730380842/posts/default/4225671342944364708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4882162345730380842/posts/default/4225671342944364708'/><link rel='alternate' type='text/html' href='http://www.benwu.com/2010/02/my-reading-list.html' title='My Reading List'/><author><name>Ben Wu</name><uri>http://www.blogger.com/profile/17716390153183255601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
