Welcome to EverybodyWiki 😃 ! Nuvola apps kgpg.png Log in or ➕👤 create an account to improve, watchlist or create an article like a 🏭 company page or a 👨👩 bio (yours ?)...

Fix8

From EverybodyWiki Bios & Wiki


Fix8
Fix8 logo.png
Original author(s)David Dight and Sergey Sedreev
Developer(s)Community
Initial release2010; 10 years ago (2010)
Stable release
1.4.1 / 3 January 2019; 22 months ago (2019-01-03)
Repositorygithub.com/fix8
Written inC++[1]
Engine
    PlatformCross-platform
    LicenseGNU Lesser General Public License
    Websitewww.fix8.org

    Amazon.com Logo.png 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 usage

    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:

    • POCO
    • Threading Building Blocks

    ... and optionally

    • Berkeley DB
    • Redis
    • MemcacheDB
    • MongoDB

    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]


    Other articles of the topic Free and open-source software : AdoptOpenJDK, Angular Material, XNap, Mylyn, Ring (programming language), Creative Commons license, Bitcoin Private
    Some use of "" in your query was not closed by a matching "".Some use of "" in your query was not closed by a matching "".

    • Electronic trading
    • Low latency (capital markets)

    References[edit]

    1. "The Fix8 Open Source Library on OpenHub". OpenHub. Retrieved 2020-09-24.
    2. "What is FIX? – FIX Trading Community". Retrieved 2020-09-21.
    3. "Operating Out In The Open". GlobalTrading. 2012-11-05. Retrieved 2020-09-21.
    4. "David Dight Linkedin interview". Linkedin. Retrieved 2020-09-21.
    5. "Saxo Bank Taps Fix8 Market Tech Solution for Global Market Connectivity". Finance Magnates. Retrieved 2020-09-30.
    6. "Fix8 Market Tech to provide global market connectivity to Saxo Bank". Fintech Futures. Retrieved 2020-09-30.
    7. "Hanging out for a crypto-fix? Don't worry, it's coming soon". SmartCompany. Retrieved 2020-09-30.
    8. "MBOChip Compares itself to Fix8".
    9. "EZESoft using Fix8 simulator".
    10. "The Fix8 Open Source Project on Libraries.io". Libraries.io. Retrieved 2020-09-26.
    11. "SampleCaptures - The Wireshark Wiki". wiki.wireshark.org. Retrieved 2020-09-21.
    12. 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 Amazon.com Logo.png
    13. "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.