Open-source FIX-based algorithmic trading platform
Explore the docs »
Report Bug
·
Request Feature
By taking an open source approach, Marketcetera gives you total control over your trading platform at a fraction of the cost of traditional proprietary commercial software offerings or in-house solutions. You’ll have a robust, extensible software foundation on which to execute your unique strategies, whether you use the platform as is or you choose to customize it to meet your needs. Marketcetera gives you complete transparency into the source code, meaning you have total control over what you do with the product. Use, modify or enhance the source code to meet your business objectives, without paying license fees. You’ll get to market more quickly because there’s no waiting for vendors, and you won’t have to begin your development efforts from scratch. Plus, you’ll maintain complete control – and confidentiality – of your proprietary trading strategies.
- Download the installer for your platform. There are two installers to download and run: one for the server-side components and one for the user interface, named Photon. The last Photon release is 3.1.0 and is compatible with the current 3.x server-side packages. Download one server-side package and one Photon package.
- Run the installers. There are a few choices, but it’s OK to just accept the defaults the first time through.
- Start DARE, the Deploy Anywhere Routing Engine. This is the main server-side package and is required.
- If desired, start the Strategy Engine. On Windows, there is a Start Menu option, you can also run from the command line on any platform. The Strategy Engine will connect to the local instance of DARE. The Strategy Engine, along with providing the ability to execute strategies, also serves as the Market Data Nexus in this configuration, that is, it supplies market data. As configured, the market data is from our cloud test exchange. Later on, you can switch to real market data, though there are typically costs associated with that.
- Start Photon, the user interface component. You’ll be prompted to log in. The local instance of DARE, to which you’ll be logging in, has a user for testing purposes: user/password (that’s username: ‘user’ and password: ‘password’).
- maven 3
- java 8
- Clone Github repo
$ mkdir -p marketcetera/code
$ cd workspaces/marketcetera/code
$ git clone https://github.com/colinduplantis/marketcetera.git
- Build
$ mvn -DskipTests clean install
- Set up your database. You can use most RDBMS systems that are supported by Hibernate. Marketcetera includes JDBC drivers for Postgres and HSQLDB (an in-memory/local disk database). Marketcetera provides database migration files for Postgres, HSQLDB, Oracle, and MySQL. Any other database systems will require some addition steps to create the initial tables. Any database system except Postgres and HSQLDB will require you to provide a JDBC JAR for licensing reasons. For Postgres, MySQL, and Oracle, create a user and database according to the requirements of the database system.
- Create your database configuration. In order to support multiple developers in the same environment, Marketcetera requires you to configure your database connection information before running the tests or the server locally.
- Choose an IDE. For historical reasons, relating to our user interface, Photon, being developed on the Eclipse Rich Client Platform (RCP), we have usually used Eclipse. You don't have to, you can use whatever IDE you want and it can use whatever theme you want. These instructions are for preparing Eclipse to load your workspace. Substitute your own instructions for other IDEs.
$ mvn eclipse:eclipse
Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
For more examples, please refer to the Documentation
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Your Name - @your_twitter - [email protected]
Project Link: https://github.com/your_username/repo_name