{"repo":"robaho/go-trader","free":true,"listed":false,"github":"https://github.com/robaho/go-trader","clone":"git clone https://github.com/robaho/go-trader.git","description":"financial exchange written in Go, designed for algorithmic trading tests","language":"Go","stars":517,"topics":["exchange","financial-exchange","trade","golang","quickfix","html","multicast","cui","grpc","grpc-go"],"license":"GPL-3.0","category":"trading","readme_excerpt":"go-trader A financial exchange written in Go including complete order book, fix protocol, and market data distribution. It was originally developed to further my knowledge of Go and test its suitability for high-performance financial applications, and it has continued to evolve into an ideal teaching/reference project for Go (interfaces, low-level networking, web development, json, Go routines, etc.). Check out cpp-trader for a C++ version, albeit with less features. Features - client to server communication using: - FIX (using quickfixgo) - gRPC - UDP multicast for market data distribution. - TCP replay of dropped market data packets. - Uses the high-performance fixed point library fixed which I also developed. - Includes multiple clients: - command line - server-side web using Go templates - SPA web using Lit - A sample \"market maker\" to mass quote the market. - A sample \"playback\" to simulate markets from recorded market data. - Supported order types: - limit - market - REST api The exchange is designed to allow for easy back-testing of trading strategies. It supports limit and market orders. There is a very simple sample \"algo\". The program structure is applicable to many strategies that use an entry and exit price. This can be run in conjunction with the 'marketmaker' sample to test the \"algo\". Hint: it has a 50/50 chance of being successful EXCEPT the market maker bid/ask spread must be accounted for - which makes it far less than a 50/50 chance of being profitable... T","default_branch":null,"files":null,"tree":[],"storefront":"/r/robaho","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/robaho/go-trader/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}