How to install JessX and set up an experiment

FOR A SUCCESSFUL EXPERIMENT, WE ADVISE YOU TO FOLLOW THE STEPS AS BELOW
  • A. Preliminary preparation (downloads, installation)
  • B. Configuring the experiment on the server
  • C. Clients connect to the server
  • D. Load the list of players and start the experiment
  • E. Analyze the result after the experiment
A. Preliminary preparation
A.1 Download the software

You should get on the downloads page to download the latest version of JessX. You will obtain 3 ZIP files. Please extract them and you will get three different folders: JessX-Client, JessX-Server and JessX-Analysis.

A.2 Check your java environment

You should have a proper JRE (java runtime environment) installed on your computer. We recommend you to use at least the 1.5 version of JRE (which you can download here. Former versions of JRE may work with JessX, but we have found that the experiment will not be stable and some features won't be available. If you can't update the JRE, try to compile from the sources. The experiment can also be launched successfully. However, some free libraries are indispensable (included in the jar files): log4j, jFreeChart (and jCommon), and jDOM.

A.3 Enter into the interfaces

There are two kinds of interfaces which should be installed, client and server, respectively. On the client side, only the JessX-Client folder is needed. So, the players will only be able to launch the client program by clicking on the JessX-client.bat file. On the server side, you should copy the three folders so that you will be able to configure the experiment. Click on the JessX-server.bat and a server interface will appear in front of you. After the experiment, you will be capable of using JessX-Analysis (by clicking on the JessX-Analysis.bat) to draw charts from the results of the session, saved in XML format.

!!PAY ATTENTION TO THE FILES
The software will create some files: the log, which is created in the same directory as the jar files. Make sure that you have the right to write there.
Also some parameters are saved in the files so that latest parameters entered are reloaded for the next use. They are saved in a directory named .ecoxp in your home directory.

B. Configuring the experiment on the server

Get on the server interface and do the following things. Enter into the tree diagram, which allows you to set the different parameters of the session. You can find an example of configuration by clicking on "File", then "Open...", and selecting the file "setup-example.xml". "File"->"Open"->"setup-example.xml".

B.1 General parameters

B.1 You will find the general parameters heading in the top of the tree. Click on it and choose the working directory, i.e. the name of the file in which the results of the experiment can be finally saved. Then set the number of periods you want and their duration, and the interest rate for each period. "General parameters"->"Working directory"->"Number of period"->"Period length (sec)"->"Interest rate"

General
B.2 Parameters about assets and institutions

B.2 Click on the "Assets" and "Institutions" heading. The "Institutions" will allow you to create artificial markets where different assets can be traded or not. Please right-click on the panel on the right of the screen to add or remove an asset or an institution. For each institution, you can define different types of operations, i.e. transaction cost and types of order. By right-clicking on the panel, you can set different participants on the market, for example trader or market maker. They have not necessarily the same right, for instance some can delete an order, some cannot, etc.

Institutions parameters
Institutions parameters
B.3 Player's Category

B.3 In the heading Player's Category, you can precise the characteristics of each type of player, defining the cash and the number of assets owned at the beginning of the experiment. By right-clicking on the panel, you can give or deny the players the trading rights on different institutions. "Scenario"->"Player's Category"->"Market maker" the same for "trader"->"Quantity"->"Operators played"

Players heading
B.4 Dividends

B.4 It remains for you to set the parameters of each asset in the Dividends heading. "Window size" represents the number of periods in which the information will be available for each type of player, by using the tabs. Thus, you will be able to set different parameters according to the availability of information. Then, you can set the mean and the variance of the dividends for each period. "Scenario"->"Dividends"->"Window size" plus other relating options->"Mean"->"Variance"

Dividends heading

You can also set the information which can be sent to certain players at a specific time.

Dividends heading

Now the experiment is configured!! Please click on the "experiment" button.

C. Clients connect on the server

The players will have to connect to the server by clicking on the menu: File>Join a session. A popup will appear, asking you to enter a few parameters: just enter a login you like, a password (which will be useful if you disconnect and want to reconnect), and the server IP-address (if you use Windows, you can obtain the IP address typing /ipconfig on a command line (Execute>cmd).When everyone is logged, you can attribute a role for each player in the Server Status tab, using the types of operators you have just defined (traders or market makers). When it's done, you will be ready to begin the experiment. For the client: "File"->"join a session"->"Login"->"Password"->"Server address"-"Yes"

server connection popup
D. Load the list of players and start the experiment

After all the players log on the net, you should load their logins and set their properties. And then, start it! For the server: "Experiment"->"Get the client logins"->"Host a session"->"Server status"->"Player type"->"Begin experiment"

Server Status tab
DURING THE EXPERIMENT - SERVER SIDE

Click on the "Chat" tab. Write your message and send it to specific players in order to create an asymmetric information setting. At the end of each period you will see the state of each client, and you will be able to go on next period when all clients are ready. The period won't start automatically: you will have to click on the same button, giving you the time to explain to the players, etc.

Server Status tab
DURING THE EXPERIMENT - CLIENT SIDE
server client state tab

The client has two ways to interact with the market: executing an order, and canceling a waiting order.
To execute an order
Select the asset, the type of order (for example Limit order), set a price and a quantity, select a side (buy or sell) and click on execute. "Selected asset"->"Types of order"->"Price"->"Quantity"->"Buy"or"Sell"->"Execute"
If your order can't be executed immediately, you will see it in the order book. You have two ways to enter an order: using the buttons or the command line.
To delete an order
Find it in the 'waiting orders in the order book' table and just click on the Go button in the Delete column.

In the meantime, player can view their managed assets and their quantity in the middle of the left side as well as the information about the dividend at the bottom of the left side. A chart of the market about every stock is available at the bottom of the right side.

E. Analyze the result after the experiment

To analyze the experiment, launch the jar file named ecoxp-analysis, then in the menu bar, click on file and then load results.
Find the xml file of your experiment. It's named [name_of_your_experiment] log.xml.
You will also find the portfolio at the end of the xml files. (open it with your preferred browser) By clicking on the "Export" button, you can export those XML files which include all the parameters you have set at the beginning as well as deals and operations in the real time, to a spreadsheet program (like Microsoft Excel...)and analyze the results of the experiments.

You can do such things by using the analysis tools
  • Holding value analysis
  • Trading volume
  • Best limits
  • Cash exchanged analysis
  • Player analysis
Holding value analysis
server client state tab
Trading volume
server client state tab
Best limits
server client state tab
Cash exchanged analysis
server client state tab
Individual player analysis
server client state tab