Fix8
Original author(s) | David Dight and Sergey Sedreev |
---|---|
Developer(s) | Community |
Initial release | 2010 |
Stable release | 1.4.1
/ 3 January 2019 |
Repository | github |
Written in | C++[1] |
Engine | |
Platform | Cross-platform |
License | GNU Lesser General Public License |
Website | www |
Search Fix8 on Amazon.
Fix8 is a cross-platform free and open-source software framework that implements the Financial Information eXchange (FIX) protocol.[2]
It runs on Linux (IA32, x86-64, Itanium, PowerPC and ARMv7 architectures) as well as on MacOS and Microsoft Windows 32/64 platforms.
The framework is under active development and is maintained by David Dight.[3][4]
Features[edit]
Fix8 is an example of an ultra low latency framework implemented in C++.[5][6][7]
According to the authors, it is one of the fastest implementations of FIX protocol[citation needed] and is often used to benchmark other FIX frameworks.[8][9]
It supports FIX4.x to FIX5.x and FIXT1.x standards[10] as well as custom FIX variants, field and value domain validation, mandatory/optional field assertion, field ordering, well-formedness testing, retransmission and standard session semantics.
Other features include a built-in unit test framework and a metadata driven test harness that can be scripted to support captured or canned data playback.
Architecture[edit]
Fix8 is composed of two main parts:
- f8c compiler
- runtime library
The f8c compiler is used to generate C++ source and header files from either supplied or user provided XML schema. Generated files are then used together with the runtime library to create a finished application.
The framework also provides f8test as an example of FIX client and server that can be used to connect user applications for testing.[11]
Fix8 requires the following open source components:
... and optionally
Examples[edit]
The following example demonstrates setting up and connecting a client:
// f8 headers
#include <fix8/f8includes.hpp>
// f8c compiler generated headers
#include "gen_types.hpp"
#include "gen_router.hpp"
#include "gen_classes.hpp"
using namespace std;
unique_ptr<FIX8::ClientSessionBase> mc;
int main(int argc, char *argv[])
{
...
mc.reset(new FIX8::ReliableClientSession<hf_session_client>(FIX8::TEX::ctx(), conf_file, "TEST"));
mc->session_ptr()->control() |= FIX8::Session::print;
mc->start(false, next_send, next_receive);
...
}
The following example demonstrates creating and sending a NewOrderSingle
("D") message:
bool Application::new_order_single()
{
static unsigned oid(0);
ostringstream oistr;
oistr << "ord" << ++oid;
FIX8::TEX::NewOrderSingle *nos(new FIX8::TEX::NewOrderSingle);
*nos << new FIX8::TEX::TransactTime
<< new FIX8::TEX::OrderQty(10000))
<< new FIX8::TEX::Price(10.3)
<< new FIX8::TEX::ClOrdID(oistr.str())
<< new FIX8::TEX::Symbol("BHP")
<< new FIX8::TEX::OrdType(FIX8::TEX::OrdType_LIMIT)
<< new FIX8::TEX::Side(FIX8::TEX::Side_BUY)
<< new FIX8::TEX::TimeInForce(FIX8::TEX::TimeInForce_FILL_OR_KILL);
mc->session_ptr()->send(nos);
return true;
}
Licensing[edit]
Fix8 is open source and is released under the GNU Lesser General Public License Version 3.
See also[edit]
Some use of "" in your query was not closed by a matching "".Some use of "" in your query was not closed by a matching "".
References[edit]
- ↑ "The Fix8 Open Source Library on OpenHub". OpenHub. Retrieved 2020-09-24.
- ↑ "What is FIX? – FIX Trading Community". Retrieved 2020-09-21.
- ↑ "Operating Out In The Open". GlobalTrading. 2012-11-05. Retrieved 2020-09-21.
- ↑ "David Dight Linkedin interview". Linkedin. Retrieved 2020-09-21.
- ↑ "Saxo Bank Taps Fix8 Market Tech Solution for Global Market Connectivity". Finance Magnates. Retrieved 2020-09-30.
- ↑ "Fix8 Market Tech to provide global market connectivity to Saxo Bank". Fintech Futures. Retrieved 2020-09-30.
- ↑ "Hanging out for a crypto-fix? Don't worry, it's coming soon". SmartCompany. Retrieved 2020-09-30.
- ↑ "MBOChip Compares itself to Fix8".
- ↑ "EZESoft using Fix8 simulator".
- ↑ "The Fix8 Open Source Project on Libraries.io". Libraries.io. Retrieved 2020-09-26.
- ↑ "SampleCaptures - The Wireshark Wiki". wiki.wireshark.org. Retrieved 2020-09-21.
- ↑ Zsók, Viktória; Horváth, Zoltán; Csató, Lehel (2015-03-20). Central European Functional Programming School: 5th Summer School, CEFP 2013, Cluj-Napoca, Romania, July 8-20, 2013, Revised Selected Papers. Springer. ISBN 978-3-319-15940-9. Search this book on
- ↑ "Who is Using FastFlow [FastFlow]". calvados.di.unipi.it. Retrieved 2020-09-21.
External links[edit]
This article "Fix8" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Fix8. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.