Playing with the application

This page is to give a short introduction to Cyan Spring ATS: what the GUI is like, how to create a strategy and the use of the simulator.

  • Server
  • Client
  • Create Strategies
  • Child Orders and Simulator

  • Starting server

    Please download the binary distribution at here. When you finish download, unzip the file into a directory, say C:\CATS, you will find two directories under it:

    Go into C:\CATS\server directory and run server.bat from there. The server comes up with an exchange simulator. You should see the simulator GUI starts up like this:

    The simulator works like an exchange where orders are queued and matched by price and time priorities. The simulator also generates market data feed to CATS based on the orders enter which drives the strategies moving. Later on, you may use it to create some market activities to test algo orders.

    Starting client(CSTW)

    Next we go into C:\CATS\CSTW\eclipse and run CSTW.exe. You will see CSTW pops up

    There are six functional areas(views) in CSTW:

    Single-Instrument View
    Single-Instrument Strategy is a strategy contains only one order(Parent order). Sometimes they are refered as client orders by broker's term. Sing Instrument view shows all parent orders in a tabular format. The tool bar in this view provides actions we can take on against parent orders:

    Multi-Instrument View
    Multi-Instrument Strategy is a strategy that trades multiple assets.

    Strategy Properties View
    From this view, you are able to see all parameters for a strategy. You may modify those parameters, if they are defined as amendable, by clicking on the following toolbar button:

    You may modify a few parameters the same time and commit them by click on the above toolbar button again. The system will prompt you for the changes you made and ask for confirmation.

    If the amendment is accepted by server, you will see the parameters are updated in Strategy Properties View. If not, you can check for the error in Strategy Log View.

    Child Order View
    Here we show all active child orders for a strategy. Completed/canceled child orders are taken out from this view. When a strategy is running, child orders are managed by the algo engine. However, there are always some cases when you want to take control yourself. You may do so by pausing or stopping the strategy first(in single/multi instrument strategy view), then use the toolbar in this view to operate on the child orders.

  • Execution View
  • This view contains all the executions for a strategy or instrument.
    Strategy Log View
    Strategy Log View shows all information related to the status strategy running. You can control the information that is useful but not overwhelming to show to the traders(by coding).

    Create strategies

    Creating a multi-instrument strategy can be done by loading a template file from the C:\CATS\server\templates directory. Creating a single instrument strategy can be done by clicking on the toolbar button in the Single Instrument Strategy View which brings up a dialog like this

    Note: stocks can be entered is defined in C:\CATS\server\refdata\refdata.xml

    However, it may be more common that a Single Instrument strategy is created by sending a parent orders from some upstream connections such as(but not limited to) FIX. If you have a FIX application, you may send FIX order to CATS. CATS FIX settings for upstream connection is as following:

    The following are FIX custom tags to order parameters mapping:

    	<entry key="6001" value="Strategy"/>
    	<entry key="6002" value="Start Time"/>
    	<entry key="6003" value="End Time"/>
    	<entry key="6010" value="POV"/>

    Child Orders and Simulator

    Click on the Child Order View, every child order you find there should have a matched one in the exchange simulator. Orders sent by algo in simulator are marked with 'algo' broker id. You may change the bid/ask price/volume of the market by entering some orders into the simulator to test the strategies.

    Unless you know exactly what you are doing and understand the strategies well. You may want to test one algo order at a time(e.g. stop the rest of order you are not testing). A few strategies running at the same time in simulator can cause confusion since they react to each other's movement in market.