©OS Financial Trading System 1999-2004

 

Anatomy of a Case File

 

Important:  The FTS Markets lets you specify virtually any trading environment you want.  If it doesn’t contact fts@ftsweb.com and we will attempt to meet your demands.  The best way of learning how a case is specified is to take a look at the case spreadsheet file and then refer to this section for the finer points.

Tip:  If you are creating a trading case you are advised to run the central market and two traders on your PC – this lets you test your set up of a case without going to a trading laboratory.  It is also a useful way of testing a case (even if pre-set) before running it in class.  This lets you see how it works from both the moderator and the student’s perspective.

 

There are three type of case descriptions FTS (Regular trading cases), RT (Real Time), EXPT (Experimental economic studies).  To select a particular type enter either FTS, RT or EXPT into cell B13 of the case spreadsheet.  If this is blank then the default is the regular FTS type of case.

 

In this write-up we initially focus on FTS (the regular Financial Trading System Cases).  Both real time and experimental economic studies can be accommodated using the FTS type of case.  However, the addition of RT and EXPT conditions permit additional flexibility for specialized applications.  For example, EXPT provides tremendous flexibility for the specification of dividend payoffs to be specified at an individual trader level if required.  That is, specific conditions that have been used in various experimental economic studies are all covered in the new version of the FTS markets.  Furthermore, with the EXPT condition one case is specified in a workbook as opposed to a worksheet.  This is because it is designed for specific types of research applications of the FTS system.

 

Regular FTS Case Specification

 

A FTS trading case is completely specified in a spreadsheet.  This means that you have virtual total control over what you want to do in your trading session.  The standard FTS case format permits a wide range of security types to be traded including Bonds, Stocks, Exchange Traded Indexes, Forwards/Futures, Options (European/American), Caps, Floors, Currencies, Money Markets (Eurodeposit markets), and Swaps. 

 

Below we will work through the anatomy of a trading case by using the base case RE1 which illustrates private information and uncertainty.  We will expand upon the base case to illustrate finer points as they arise.

 

The first  section is the green section:

 

Section A:  General Environment

 

Number of Securities

6

Maximum Number of Trials

8

Number of Periods per Trial

3

Period Length (seconds)

300/300/1

Maximum Number of Traders

60

Number of Trader Types

9

Market Depth

20

Depth Displayed

10

Borrowing

Yes

Last Row with Exogenous Prices

 

Number of Information Types

9

Last Row with Information

44

Case type (RT or FTS or Expt)

FTS

RT last trade

 

RT last time

 

nCurrency

 

Recalculate

No

Binary Lottery

0

Ptrader

 

 

This controls the specification of general environment variables.  A trading environment has n security markets, in the above example this is 2 and is defined on a trial/period basis.  That is, each trial traders start with a fresh position (new opening balance of cash and opening balance in each security market).  The only variable that carries across trials is the trading bonus earned by a trader in previous trials.  This balance is cumulated for performance measurement purposes.  Apart from that a trial is completely self contained, starting from a new position and independent realizations of any random variables. 

 

A trial is designed to transform some period of calendar time into FTS time.  In the above case a trial covers three years and there are three trading periods in each trial.  That is, Number of periods = 3.  Each trading period lasts for 300 seconds (Period Length).  This can be specified as 300 but in the above example it is specified such that only the first two years are traded.  In periods 1 and 2 (years 1 and 2) the market lasts for 300 seconds, and in period 3 (year 3) the market is open for 1 seconds.  That is, the example specifies 300/300/1 and the last 1 implies that the market opens for period 3 and immediately closes.  All positions are marked to market in period 3 but the market is not open for trading in this period.  Alternatively 300 by itself would specify that the market is open for 300 seconds every period. 

 

Period Length (Seconds):

Beside this label the time for a period in seconds is specified.  If it is a single number then this applies to each period in the trial.  However, sometimes you want to mark a position to market in a period but not trade the period.  In this case you need to specify time by period.  You can do this using the slash notation:

 

300/300/1

 

In this case there are three periods and the first period lasts for 300 seconds, the second trading eriod lasts for 300 seconds but the third trading period lasts for 1 seconds.  Market opens, closes and positions are marked but no trading is permitted.

 

A variation for time:  0 seconds is also supported for a sub period.  In this case if all dividends and interest rate are set to zero then time = 0 means the market zips through the period without any consequences.  This is useful for some trading case environments.

 

The maximum number of traders can be large (well above a large class size).  The default above is 60 but this can be changed to an upper limit that is specified in the FTS license contract.  The system is very fast and does not slow down with a large number of traders.  In fact in the recent Global Trading Competition the system accommodated over 125,000 transactions over a two hour trading period without any slowdown.

 

Number of Trader Types =9:  This lets you specify positions and dealing rights at an individual trader “type” level.  In the default case (without logins and passwords) trader types are allocated on a first to connect basis.  That is, the first to connect to the market is trader type 1, 2nd is trader type 2, and so on until the 9th to connect is trader type 9.  The 10th to connect is trader type 1, 11th is trader type 2 and so on.  If the number of traders in the market is not divisible by the number of types (in this example 9) then trader types are rotated over trials.  If there are the same number of trader types as traders then trader type does not change over trials. 

 

Note:  If you want to ensure that a trader remains the same type over trials you must use a pre-assigned login (and optionally password).  For example, if you assign login ID’s to equal dealer1, dealer2, etc., (or any name) then this lets you pre-assigns the type. 

 

For each trader type you can define per security the initial endowments, trading rights (dealer, price taker etc.,) as well as initial cash and even how their performance is assessed (i.e., how they earn their trading bonus).  In the above case there are two trader types.

 

Market Depth the default is 10 per security.  This has been changed in the above example to equal 20.  That is, a deeper market book is permitted.  This means that per security yhe 20 best bids and the 20 best asks are stored in the central limit order book at any time.  Depth displayed can also be changed.  This is the depth a trader actually sees when they double click on a security name to display the central limit order book for a particular security.  The book is visible and color coded in a similar way to Level II quotes on the NASDAQ.  That is, the best bids and best asks are color coded yellow, followed by the second best color coded as green and so on.  The block of yellows gives you an idea of the current depth for buying/selling in a particular security.

 

Borrowing Allowed:  This can be Yes or No or some number.  If you put in a number (e.g., 100000) then you are permitting borrowing to be allowed up to 100,000 units of the currency.

 

Last row with exogenous prices = blank.  This field is used only if you are giving prices at different points in time.  This is controlled by another part of the spreadsheet.  As an example of this the interested reader may want to refer to the spreadsheet associated with XR1.  This feature lets you replay a slice of historic prices if desired.

 

Number of information types = 9.  This can be any number --- it doesn’t have to be equal to the number of trader types.  The number of information types determines how fine you want to provide information to each trader.  For example, if it was public headline information then you only need one information type.  If it is private information then you need the number of information types to match the degree of finess for disclosed private information.

 

Last row with information =  44   This is referring to the last row of the information section of the trading case spreadsheet.  It must match the last row number of where you specify information in the case spreadsheet (see the information section of this write-up).

 

Case Type (RT, FTS or EXPT)   The default is FTS (a regular trading case).  RT provides additional flexibility if working with real time market prices in a regular trading exercise.  EXPT is applicable if you are using the Financial Trading System for experimental market research.

 

RT last trade

RT last time  These are both relevant to an RT case specification and will be described in that section.

 

 

Recalculate No.  This refers to whether you want to compute the liquidating value for end of trial  marking to market purposes.  Usually this is no, but if you want to tie the terminal payoff to prices discovered in the market you can with this feature.

 

Tip:  Recalculate Yes needs to be used very carefully.  For example, if you are using private information in relation to the terminal value you need to be extremely careful how your dividend payments are defined and how you set them up in the spreadsheet.  This is because any equation that is derived using a random number will change at the end of the case.  It is possible to mix and match but much care needs to be taken, so usually Recalculate is set to No!

 

Binary Lottery  This is useful for Experimental market research.  For example, it can be used to limit the experimenter’s liability when paying subjects.  It can also be used to control for risk preferences.  In the above example this is not used.

 

Section B:  Markets Section

 

Name

CpBond

Deposit1Yr

Deposit18M

SwpBk1

SwpBk2

SwpBk3

 

Security Type

Bond

Deposit/1000000/1.008333/.502778

Deposit/1000000/1.513889/1.008333/.502778

Swap/1000000/.5/.5/.5

Swap/1000000/.5/.5/.5

Swap/1000000/.5/.5/.5

Price Quotes

Endogenous

Endogenous

Endogenous

Endogenous

Endogenous

Endogenous

Start Life

1

1

1

1

1

1

 

End Life

2

2

3

3

3

3

 

Short selling

Yes

Yes

Yes

Yes

Yes

Yes

 

Quote to Price Formula

Quote

Quote

Quote

Quote

Quote

Quote

 

Information

Yes

No

No

No

No

No

 

Cashout

 

 

 

 

 

 

 

Magintrade

 

 

 

 

 

 

uCash

 

 

 

 

 

 

 

LumpSum

 

 

 

 

 

 

 

Private Trade

 

 

 

 

 

 

Max Qty (type specific)

 

 

 

 

 

Transfer

 

 

 

 

 

 

 

Price Bounds

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Mkt sends info

 

 

 

 

 

 

 

The markets specification is illustrated above.  There are six securities (1 coupon bond, two eurodollar deposits, and three swap contracts), and prices are discovered from the market making activities of the trading crowd (i.e., Endogenous).  Each security has a different life.  For example, the Coupon Bond and Swaps have a life equal to three periods.  One Eurodollar deposit has a life equal to 2-periods and the other equals 3-periods.  The start life is period 1 and end life are specified separately.  If there were n periods per trial then start life is 1 and end life is n.  Short selling can be turned on or off at the individual security level (in the above it is permitted). Quotations are in natural decimal quotations (Quote to Price Formula is Quote (i.e., actual quote is used).  In an example below you will see how real world quotations can also be specified.  The first security has private information associated with it so Information = Yes.  This means that traders to see their private information (or public news headlines) click on the first security’s name once to see their information.

Name:  This is the label that appears on each trader's trading screen for each security.  In the above the name CpBond appears for security 1, Deposit1Yr for security 2 etc.,

Security Type and Price Quotes: see below in the extensions section for details on this.

Start Life:  The period that trading is first permitted in each trial.

Variation to Start Life:  If a comma is included then you can specify a set of sub-periods for trading.  For example, suppose you have a security with three periods but you only want to permit trading in periods 1 and 3.  That is, no trading is allowed in period 2.  You would specify the Start Life field as follows:  1,3  Similarly, if you only permit trading in period 1 then specify as: 1,  (i.e., include the comma), whereas if you allow trading in every period then just specify 1

End Life:  The last period that trading is permitted in per trial.

Cashout:  Suppose it is specified in the cell beside Cash out as:  Yes/1.1/10/10/10  This means you can liquidate security 1 at a buying price of $10*1.1 = $11 and sell security at a selling price = $10 at any time to meet margin calls.  Usually the exogenous liquidating buying selling price is set at a penalty below what the market is expected to trade at.  In  practice these prices should be unfavorable relative to the market so the multiplier may be multiples of 1 e.g., 2.5 time etc.,
Margin Trade:  Specified as follows:  Yes/0.5/0.4 

Yes= Margin borrowing restrictions are in place, 0.5 = initial margin and 0.4 is the maintenance margin.

uCash – this is used if the multiple currencies are in the trading case.  It lets you specify what currency each security is traded in.

LumpSum can be used in a trading case with margins and other trading restrictions.

Private Trade can be used if the trading case permits trading with specific individual traders directly.  That is, an override of the rules of the double auction market.

Max Qty --- this lets you specify by trader type maximum quantity trading limits.  That is, some trader types may be permitted to engage in block trades whereas other retail traders may be restricted to smaller limits.  You can control this by trader type e.g., if there are three types you can enter:  1000/100/100 this implies that trader type I can trade up to 1000 at a time and trader types 2 and 3 are restricted to up to 100 at a time.

Transfer --- this lets you transfer quantity directly at some exogenous price.  Useful for cases involving geographic transfers or even working with other “desks” within a common institution.

Price Bonds --- A useful constraint for imposing upper and lower bounds on trading prices.  Minimum bid and maximum ask are implemented as follows:

Suppose a security lives for 2-periods then if you enter:

12,13/14,15

This specifies that the minimum bid in period 1 is 12, maximum ask in period 1 is 13; minimum bid in period 2 is 14, maximum ask in period 1 is 15

 

Mkt send info:  you can send public messages to all the traders in the market by first typing your message for security 1 in the cell beside this label, then security 2 in the next cell and so on.  You then control when to send the message from the menu in the central market.

 

Steps for sending public messages to the traders in the market: 

Step 1:  Type the message you want to send to the market directly into the Excel cell immediately beside Mkt send info.  The first cell sends the message to Security 1, second to security 2 etc.,  BE SURE TO PRESS ENTER AFTER TYPING THE MESSAGE INTO THE EXCEL CELL.  This is because otherwise the Excel link will not be live and you will receive an error message asking you to retry linking to Excel.  This can affect the operations of the market.

Step 2:  When you have typed in your set of public messages to be sent to traders in the market then give focus to the Market and select Options, Send Public Information.

Step 3:  Step 2 send the information to the market.  It appears on each trader screen by the security name changing to Light Blue.  A single click on the security name that is highlighted lets each trader read the message.

 

Tip:  Most of the above features will not be used in the majority of cases.

 

Extensions:

In the above the Price Quote can be Exogenous.  This is the case if prices are given to the market and so only price taking is permited (e.g., see Trading case XR1).

 

Security Types:

Cells D2, E2 etc.,

Stock = Stock

Bond = Bond (Not really different to putting in stock because the difference is how you define the payoffs).

Name

Cp Bnd

Zero 1

Zero 2

Zero 3

FwdZero2

FwdZero3

Security Type

Bond

Bond

Bond

Bond

Forward/Script=3

Forward/Script=4

 

Forward/Script=3 This is defining a forward contract that is script settled defined on the Security 3.  Observe that the third security is Zero 2.

 

Name

Stock

Bond

Put/25

Call/25

Security Type

Stock

Bond

Option/European/Put/Strike=25/Script=1

Option/European/Call/Strike=25/Script=1

Price Quotes

Exogenous

Endogenous

Endogenous

Endogenous

Start Life

1

1

1

1

End Life

1

1

1

1

 

Put/25 = Option/European/Put/Strike=25/Script=1  This is a European put option defined on security 1 (Stock) with a strike equal to 25.  It is automatically exercised if it is “in-the-money” at the end of it’s life (maturity equals End life = 1 in above example).

 

Name

Stock

Bond

Put/85

Call/85

Security Type

Stock

Bond

Option/American/Put/Strike=85/Script=1

Option/American/Call/Strike=85/Script=1

Price Quotes

Exogenous

Endogenous

Endogenous

Endogenous

Start Life

1

1

1

1

End Life

2

2

2

2

 

The above defines an American option with a 2-period life.

 

Name

Index A

Index B

IndBFut

 

Security Type

Stock

Stock

Forward/Cash=2

Price Quotes

Endogenous

Endogenous

Endogenous

Start Life

1

1

1

 

End Life

1

1

1

 

 

Derivatives can be script or cash settled.  The above defines a cash settled forward contract on security B.  The term Forward or Futures can be used interchangeably.  At the time of the transaction no cash is exchanged with the forward or futures markets.

 

Example:  Using Real World Quotes in the FTS Markets

 

Suppose you want to trade treasury Bills and Notes using the real world quotation system.  For example, B02A can be converted to real world quotes as follows (case B02R):

 

See Appendix 1 for the relevant Case data description (three periods trading day 1 of each two month period).

 

Name

T-Bill(2M)

T-Bill(4M)

Security Type

Bond

Bond

Price Quotes

Endogenous

Endogenous

Start Life

1

1

End Life

1

2

Short Selling

Yes

Yes

Quote to Price Formula

10000-Quote*16.16667

10000-Quote*33.33333/10000-Quote*16.66667

Information

Yes

No

 

 

 

 

Now the Quote to Price Formula is used and must respect certain rules.  First you can only multiply in the formula (so division must be set up as a reciprocal and multiplied).  Second you can use the slash notation (e.g., T-bill (4M) to control how the quotation is converted each period.  This lets you preserve daycount conventions and is illustrated by the T-Bill(4M) (i.e., four month T-bill).

 

Exert From Case:

 

T-bills:  Each T-bill is quoted in the following way.  Bids are in DR% where DR% is the discount rate percentage relative to a $10,000 face value.  In the above table you can assume that the actual days in every two month period is 60 days. 

 

Example:  Suppose the bid/ask spread is 3.14 and 3.12 respectively for the 4-month T-bill at the beginning of period 2.  This implies that the cash price being bid is computed as follows where the remaining days to maturity equal 60:

 

Cash Discount if selling to bid = DR%*Face*Days to Maturity/(360*100) = $52.3333

Cash Spot Price if selling to bid = $9,947.667

Cash Discount if buying from the ask = DR%*Face*Days to Maturity/(360*100) = $52

Cash Spot Price if buying from the ask = $9,948

 

You can see that the cash discount being bid is higher than the cash discount being asked which implies that the spot price in cash being bid is lower than the spot price in cash being asked.  This is consistent with a positive bid/ask spread.

 

In the above example the T-bill quote is in terms of Discount Rates (DR%).  Suppose the bid in the FTS Market is 3.14 in period 2.  The quote formula in the cell is the second part (i.e., after the slash):  10000-Quote*16.666667

 

A different transformation from quotation to cash exchanged must apply to period 1 and period 2 for the two period security because the actual days move down from 120 to 60 between trading days 1 and 2.  First 16.666667 = 10000*60/(360*100).  This respects the daycount convention (actual/360).  Actual days in the four month period when viewed from day 1 equals 120 and the year convention in a T-bill quote is 360 days but when viewed from period 2 is only 60 days which is in the example above.  The bid is given as a percentage so the 100 is used to scale the percentage to a decimal.  As a result, the correct conversion is achieved:

 

10,000 – 3.14*16.666667 = 9947.667 

 

This implies if the bid of 3.14 is hit for 1 unit then the trade is executed at 10000 – 3.14*16.666667 = $9947.667.

 

Cp Bnd

Bond

Endogenous

1

3

Yes

100*Int(Quote)+(Quote-Int(Quote))*312.5

Yes

 

Coupon Bond:  The coupon bond is quoted in 32nds relative to a face vale of $100.  That is, a bid price of 99.30 implies that the spot cash price being bid is $99 + 30/32 = $99.9375 relative to $100 face.  There is no accrued interest because in this case the bond pays a coupon every 2-months (as a simplifying assumption).

One coupon bond is actually settled with a face value equal to $10,000, so the total dollars subtracted from your money market is $9993.75 when the quote is $99.30.

 

The coupon bond is quoted in 32nds relative to a face value of $100.  One unit of the actual contract equals $10,000.  If the bid price is 99.30 the cash conversion is as in the above quote to price formula.

 

100*Int(99.30) + (99.30 – Int(99.30))*312.5 = 9900 + 0.3*312.5 = $9993.75.

 

Example:  Money Markets and Swaps

 

Name

CpBond

Deposit1Yr

Deposit18M

SwpBk1

SwpBk2

SwpBk3

 

Security Type

Bond

Deposit/1000000/1.008333/.502778

Deposit/1000000/1.513889/1.008333/.502778

Swap/1000000/.5/.5/.5

Swap/1000000/.5/.5/.5

Swap/1000000/.5/.5/.5

Price Quotes

Endogenous

Endogenous

Endogenous

Endogenous

Endogenous

Endogenous

Start Life

1

1

1

1

1

1

 

End Life

2

2

3

3

3

3

 

 

The deposit is specified as follows.  Consider the 1-year Deposit (which lives for two 6-month periods). 

 

Deposit/1000000/1.008333/0.502778

 

What does the above mean? 

Deposit specifies that the security type is an offshore deposit (e.g., eurodollar deposit or LIBOR market).

The initial outlay for 1 unit of the deposit is defined next (e.g., $1,000000 in the above example).

1.008333 = the daycount convention that applies when there is a remaining life of two periods.  In this example, it is a Eurodollar deposit market with a daycount convention of Actual/360.  Two six month periods equals 363 days divided by 360 = 1.008333. 

In trading period 2 time has moved forward by 182 days.  As a result the daycount convention equals 181/360 = 0.502778.

The deposit market is add-on interest so accrued interest is computed as 1,000,000*price*actual/360 where price is a deposit rate expressed as a decimal.  That is, the deposit may traded for 0.015 this means that if you are long one unit of the deposit you outlay 1,000,000 and at the end of it’s life you receive back 1,000,000*1.015*Actual Days/360.

In the second deposit (Deposit 18M) note the life is three periods and so three daycounts must be specified to allow for moving through time.  So 1.513889 applies to period 1, 1.008333 applies to period 2, and 0.502778 applies to period 3.

 

Swap/1000000/0.5/0.5/0.5 

 

This is an interest rate swap with a Notional Principal equal to $1,000,000.  The reset periods are every period (6-months in this example).  The fixed side is paid on 180/360 daycount basis irrespective of the actual number of days equally 180, 181, 182 etc.,  The “price” of the swap is a quoted rate (i.e., long interest rate swap means that you pay fixed and receive floating).  The price is the fixed rate you pay.  So the fixed leg of the swap equals $1,000,000*price*0.5 in terms of the cash obligation.  The floating side is specified in the dividend section because it is common to every swap contract.

 

Section C:  Trader Data

 

Recall there were nine trader types defined in the first environment section above.  The details for each type are specified in the Trader Data section that starts in row 20 of the spreadsheet columns A, B, C etc., depending upon how many distinct trader types have been defined.

 

Trader Type Data

Type 1

Type 2

Type 3

Type 4

Type 5

Type 6

Type 7

Type 8

Type 9

Cash

0

0

0

0

0

0

0

0

0

Endow 1

0

0

0

0

0

0

0

0

0

Endow 2

0

0

0

0

0

0

0

0

0

Endow 3

0

0

0

0

0

0

0

0

0

Endow 4

0

0

0

0

0

0

0

0

0

Endow 5

0

0

0

0

0

0

0

0

0

Endow 6

0

0

0

0

0

0

0

0

0

Rights 1

3

3

3

3

3

3

3

3

3

Rights 2

0

0

0

3

3

3

3

3

3

Rights 3

0

0

0

3

3

3

3

3

3

Rights 4

1

3

3

2

2

2

2

2

2

Rights 5

3

1

3

2

2

2

2

2

2

Rights 6

3

3

1

2

2

2

2

2

2

Lower Bound

-1E+08

-1E+08

-1E+08

-1E+08

-1E+08

-1E+08

-1E+08

-1E+08

-1E+08

Lower Bound Payoff

-1E+08

-1E+08

-1E+08

-1E+08

-1E+08

-1E+08

-1E+08

-1E+08

-1E+08

Upper Bound

1E+08

1E+08

1E+08

1E+08

1E+08

1E+08

1E+08

1E+08

1E+08

Upper Bound Payoff

1E+08

1E+08

1E+08

1E+08

1E+08

1E+08

1E+08

1E+08

1E+08

Constant

0

0

0

0

0

0

0

0

0

Linear Coefficient

0.0001

0.0001

0.0001

0.0001

0.0001

0.0001

0.0001

0.0001

0.0001

Quadratic Coefficient

0

0

0

0

0

0

0

0

0

Log Coefficient

0

0

0

0

0

0

0

0

0

CARA Coefficient

0

0

0

0

0

0

0

0

0

CARA Exponent

0

0

0

0

0

0

0

0

0

HARA Coefficient

0

0

0

0

0

0

0

0

0

HARA Exponent

0

0

0

0

0

0

0

0

0

 

There is always a cash or money market open plus there are six security markets in this example.  The opening cash balance for trader type 1 and 2 is given in row 21 columns B and C.  In the above example this is zero.  You can specify any amount here.  Usually cash is a balancing item so that the expected present value of each type’s position is approximately the same.

 

Endowments are the number of each stock a trader type starts with.  In the above example this is zero for each security.  The numbers can be positive, zero or negative (if you want to start with a short position).  For example, in some cases it is useful to start traders with symmetrical long/short positions to create gains to exchange relatively to an appropriately defined bonus function.

 

Important Note:  Eurodollar deposits and swaps must start with an initial endowment of zero.  This is because price determines the contract (unlike most other types of financial security markets).  That is, for a deposit a price of 0.015 specifies the add-on interest rate.  Similarly, for a swap a price of 0.015 specifies the fixed rate that must be paid each reset period.

 

Trading Rights:  This lets you control the dealing rights at an individual level.  Values at an individual security level (i.e., Rights 1 = Security 1, Rights 2 = Security 2 etc.,) are as follows:

 

0 = No restrictions on market making or market taking

1 = Market making rights only (i.e., can only bid to buy or ask to sell),

2 = Market taking rights only (can only buy from ask or sell to bid)

3 = No trading rights in the security (permits creating a non tradable position).

4 = Bid rights only

5 = Ask rights only

6 = Buy rights only

7 = Sell rights only

8 = Buying rights only (Bid + Buy)

9 = Selling rights only (Ask + Sell)

 

Trading rights let you control whether some types are market makers and other market takers or both.  To read about trading rights and controlling trader types click on: How Do I Control Each Trader Type?

 

The next set of variables Lower Bond, Lower Bound Payoff, Upper Bound and Upper bound Payoff control the relevant range for earning market and grade cash over.  Firstly, market cash in the above case is well defined over the range -100,000,000 to +100,000,000.  That is, above 100 million the cash is truncated at 100 million and vice versa.  Grade cash refers to the trading bonus.  A trading bonus is earned by transforming market cash to grade cash at the end of each trading trial.  The conversion lets you manipulate the incentive to trade in a particular case.  For example, a linear conversion corresponds to a risk neutral incentive scheme that rewards managing the expected value.  A log conversion is a way of rewarding both risk and return.  For example, beside log coefficient this is a number that multiplies the natural logarithm of total end of trial market cash.  For this case if end of trial market cash is zero or less the conversion sets grade cash to equal zero.

 

Other more elaborate schemes can be constructed to reward risk management trading.

 

Example:  Tying the Grade Cash Bonus Scheme to Target Values for a Risk Management Exercise

Target Description:  If at the end of any trial you have a closing balance of $45,000 market cash then you will earn $6 of grade cash.  If you have a closing balance of market cash that is lower than $45,000 then you will earn $0 of grade cash.  Any amount of market cash that is greater than $45,000 and less than or equal to $200,000 earns grade cash as follows:

 Grade Cash = $6 + ((ending market cash - $45,000)/155,000)*4

So the grade cash is between 6 and 10 (this can be anything) given that there position value doesn’t drop below 45000 -- otherwise they earn nothing.

Above $200,000 market cash earns the maximum grade cash for one trial which is $10.

Suppose the above is the type of payoff you want to achieve for the conversion from Market cash to Grade cash.  To do this requires doing the following in the trader type part of the case spreadsheet.  Our goal is to specify that if the end of trial total market cash (i.e., after all interest is accrued and all positions are marked and settled) is below the lower bound payoff of 45000 market cash then the trading bonus is 0.  If the end of trial marked value is above the upper bound payoff of 200000 then the trading bonus is $10 grade cash.  In between it is $5.10 + 0.00002*Mkt Cash .  You can verify with this specification that at 200000 market cash the trading bonus is $6 + $4 = $10, and at $45000 it is $6.

You can specify the above as follows in the case spreadsheet.  Of course you can rescale the numbers any way you want to.

Lower Bound

45000

45000

Lower Bound Payoff

0

0

Upper Bound

200000

200000

Upper Bound Payoff

10

10

Constant

5.10

5.10

Linear Coefficient

0.00002

0.00002

Quadratic Coefficient

0

0

Log Coefficient

0

0

CARA Coefficient

0

0

CARA Exponent

0

0

HARA Coefficient

0

0

HARA Exponent

0

0

 

Section D:  Common Dividend and Payoffs Data

 

This section controls the common dividend payoffs from each security.  It is designed so that you can virtually create and trade any type of security you want to.  A common dividend is defined relative to the security as opposed to a trader type.  For example, one share of IBM pays the same dividend to investors irrespective of whose hands it is in.  However, in some cases this may not be the case.  For example, if your research is looking at taxation issues then you may want to specify a dividend net of taxes.  In this case the dividend net of taxes will vary across trader types (who belong in different tax classes).  The EXPT class of cases is designed to cover this example.  See the next note..

 

Note:  If you need to have trader specific dividends, as is the case in a number of the experimental markets that have been conducted over the years, then you need to use the Expt case type of specification.  This is the contents of cell B13 on each case spreadsheet.  Under the Expt condition you can control dividends at an individual trader level if needed.

 

The example below illustrates the payoffs associated with the first three trials in RE1 (a popular trading case with both instructors and students).  In it’s primitive form you can enter the number directly into the cells so that at the end of period 1, trial 1 stock 1 pays a dividend equal to 0, stock 2 pays 12 per share and the spot rate of interest that applies to the money market is 0.0% (i.e., you can borrow and lend at 0%).  Similarly, for period 2 the dividends realized are 0, and 18 per share for stocks 1 and 2 respectively.

 

Payoff and Settlement Data

Stock 1

Stock 2

Interest Rate

Trial 1

0

12

0

Period 2

0

18

0

Trial 2

0

12

0

Period 2

12

12

0

Trial 3

0

24

0

Period 2

12

8

0

 

Now if you hit the Function 9 key in the default case spreadsheet you will see that the realizations all change:

 

Payoff and Settlement Data

Stock 1

Stock 2

Interest Rate

Trial 1

24

0

0

Period 2

12

8

0

Trial 2

12

12

0

Period 2

12

12

0

Trial 3

24

0

0

Period 2

12

12

0

 

Now stock 1 pays 24 in period 1 and stock 2 pays 0.  So before you connect to the spreadsheet (i.e., before you hit initialize in the Market program) you can hit the F9 key until you see a path of realizations that you want to run the market with.

 

You can control this in two ways.  First by using the random number generator in Excel and link cells with equations in them to the payoff cells or you can use macros.  We will illustrate both uses in this write-up.

 

Suppose you wanted to set up risky dividends that were realized from the range [10,50] equally likely in a particular period.  In this case you could simply enter the equation into the cell:  10 + Rand()*(50-10)

Each time you hit the Function 9 key a new realization results and so long as you NEVER hit the function 9 key after initializing the Market then your desired path of realizations will be transmitted to the market.

 

In RE1 a simple Visual Basic macro was used to generate both the realizations and the information provided in RE1.  Macros can be particular useful for creating cases where you are tying together information and the payoffs.  You are encouraged to take a look at the source code in the ftsStandard.xls case file.  To do so click on the menu item Tools, Macro and then Visual Basic Editor.  For the case of RE1 macros you will see that the period 1 dividends for Stock 1 and 2 are controlled from cells AJ21 and AK21 via the macro referred to as RE1Payoff1 (where payoff1 refers to period 1).

 

Overall you will find that the dividend section provides a lot of flexibility for changing and creating your own payoffs.  The number of securities and number of periods per trial must provided in the Dividend section must exactly match what you have set up in cells B1 and B3 of the case file.

 

Exogenous Prices and Order Flow

 

In some trading cases you may want to use exogenous prices and or a slice of real world historic prices.  The FTS system lets you prespecify a sequence of historic prices at the bid/ask level and if desired a prespecified order flow.  For the latter the order flow can be at a trader type level.  This permits different types of market microstructures to be recreated.

 

The relevant parts of the trading case spreadsheet are as follows:

The following example first discusses trading case XR1:

 

Step 1:

Name

XR500dm

T-Strip

Call290

Put290

Call310

Put310

dm Fut

Security Type

Stock

Stock

Stock

Stock

Stock

Stock

Futures/Cash

Price Quotes

Exogenous

Exogenous

Exogenous

Exogenous

Exogenous

Exogenous

Exogenous

Start Life

1

1

1

1

1

1

1

End Life

1

1

1

1

1

1

1

Short Selling

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Quote to Price Formula

Quote

Quote

Quote

Quote

Quote

Quote

Quote

Information

No

No

No

No

No

No

No

 

Observe that in the security specification part of the spreadsheet the price quotes are exogenous for each security.  This specifies that the prices will be transmitted from the spreadsheet.  In addition, the trader type rights are such that traders can only buy and sell each security that they are permitted to trade:

 

Trader Data

Type 1

Type 2

Cash

114000

127300

Endow 1

0

0

Endow 2

0

0

Endow 3

-2000

0

Endow 4

0

-2000

Endow 5

0

0

Endow 6

0

0

Endow 7

0

0

Rights 1

3

3

Rights 2

2

2

Rights 3

3

2

Rights 4

2

3

Rights 5

2

2

Rights 6

2

2

Rights 7

2

2

 

Observe that no trader is permitted to trade the exchange rate (Rights = 3) and each trader tpe is locked into a position in one of the other securities (Rights 3 = 3 for trader type I (i.e., cannot trade the Call 290) and Rights 4 = 3 for trader type II (i.e., is locked into their position in the Put 290). 

So to date prices are exogenous and a trader can only buy and sell at these exogenous prices.

 

Specification of the Exogenous Prices

 

In row 20 of the spreadsheet in the bright blue section the exogenous prices are provided.

 

Exogenous Prices

Time into Period

20

 

 

 

 

 

 

 

 

 

 

 

 

 

Trial 1

0

307.306

308.511

943.299

943.408

16.083

17.153

10.42

11.49

7.71

8.779

21.456

22.525

295.37

297.211

 

20

314.644

318.957

943.843

945.041

21.255

22.693

6.811

8.249

10.93

12.368

15.919

17.357

304.721

305.911

 

40

301.625

305.434

944.727

946.337

14.107

14.469

11.614

11.976

6.451

6.814

23.414

23.777

291.686

294.268

 

60

306.014

310.466

946.415

946.83

16.207

17.531

8.826

10.15

7.435

8.759

19.533

20.857

296.734

299.23

 

80

308.22

310.712

946.861

948.569

17.368

17.857

8.357

8.846

8.201

8.69

18.693

19.182

299.609

299.646

 

100

317.922

318.602

948.752

948.865

23.359

23.368

5.553

5.562

12.063

12.072

13.782

13.791

308.376

308.861

 

120

312.252

314.739

949.399

950.408

19.825

20.643

6.034

6.852

9.441

10.259

15.2

16.018

303.673

305.256

 

140

327.62

332.308

950.542

951.457

32.119

32.97

2.176

3.028

17.963

18.815

7.593

8.445

319.584

322.32

 

160

321.562

325.508

951.389

952.805

27.556

27.809

3.205

3.457

14.479

14.732

9.724

9.976

314.547

315.819

 

180

317.285

320.684

952.734

953.656

23.416

25.362

2.892

4.838

11.137

13.083

10.233

12.178

309.79

312.667

 

200

305.559

306.575

954.093

954.497

14.827

16.361

6.176

7.71

5.675

7.209

16.666

18.2

298.848

299.322

 

220

296.249

300.417

954.687

956.106

10.623

11.603

8.927

9.907

3.454

4.434

21.425

22.405

290.709

293.242

 

240

301.482

306.448

955.937

957.06

13.864

14.602

6.275

7.014

5.011

5.749

17.113

17.851

296.763

299.13

 

260

311.081

311.599

957.045

958.16

19.055

19.261

3.856

4.062

7.857

8.062

12.372

12.578

305.359

305.93

 

280

304.167

309.14

958.499

958.916

15.2

16.577

4.044

5.421

5.201

6.578

13.784

15.161

301.052

301.963

 

300

303.887

308.089

959.81

959.817

14.626

16.184

3.628

5.186

4.638

6.197

13.401

14.96

299.987

302.646

 

320

301.551

301.695

960.508

961.334

11.973

12.93

4.741

5.698

3.284

4.241

15.837

16.794

297.199

297.751

 

340

298.578

301.634

962.023

962.036

10.631

12.099

4.402

5.869

2.345

3.813

15.925

17.393

295.021

297.85

 

360

292.781

296.199

962.275

964.004

7.519

8.309

6.319

7.109

1.226

2.017

19.859

20.65

289.966

292.706

 

380

306.403

310.567

963.995

964.507

16.486

17.933

1.06

2.506

4.443

5.89

8.874

10.32

304.279

307.021

 

400

296.354

297.726

965.1

965.627

8.379

9.254

3.734

4.609

1.052

1.927

16.287

17.162

293.914

295.614

 

420

298.29

298.645

966.376

966.58

9.088

9.814

2.556

3.282

1.03

1.756

14.403

15.128

296.315

296.957

 

440

302.023

303.386

966.718

968.467

12.212

12.604

0.998

1.389

1.648

2.04

10.361

10.753

301.184

301.438

 

460

305.915

309.999

968.199

969.22

16.897

17.359

0

0.427

2.598

3.061

5.618

6.08

305.611

308.411

 

480

300.708

304.11

969.061

970.593

11.729

12.365

0

0.454

0.185

0.821

8.25

8.886

301.246

302.643

 

500

314.047

314.047

970.946

970.946

24.047

24.047

0

0

4.047

4.047

0

0

314.047

314.047

Trial 2

0

301.137

307.186

942.803

943.904

13.949

15.308

11.78

13.139

6.336

7.695

23.576

24.935

291.628

293.743

 

The starting column is entirely dependent upon how many trader types are specified and how many securities in the market.  However, the first column has the trial and (if a multiperiod case the period).  In XR1 there is only one period so only Trial 1, Trial 2 etc., are listed in the first column.  The second column controls the time in seconds that the prices are fed to traders in the market.  In this case one period lasts for 500 seconds and so the period opens with the prices listed beside 0 seconds into the period (i.e., exchange rate is 307.306 etc., ).  Then 20 seconds into trading prices change to 314.644 etc., and so on throughout the period.

Columns 3 and 4 above specify the Bid and Ask respectively for Security 1, then security 2 and so on working across the columns.  These are the prices that traders in the market can trade at.

 

You can see that it is easy to mix and match.  That is, have the underlying being real world prices and opening other derivative markets for which traders can make market among themselves on.

 

Exogenous Order Flow

 

For some trading cases it is desirable to specify an exogenous order flow.

Consider trading case ST2.  This is a risk management exercise where the quantity of the underlying on the dealers books keeps changing over time (in response to their firm’s market making activities).  The quantity changes are exogenous but it is instructive to see how it is specified.

 

Trial 1

0

346.826

347.173

871.2202

871.2202

60.39482

60.6382

23.23238

23.336

 

0

q

566

q

0

q

0

q

0

 

45

353.554

353.908

873.583

873.583

63.15376

63.41023

20.1095

20.20703

 

45

q

283

q

0

q

0

q

0

 

90

356.208

356.564

875.9521

875.9521

62.98851

63.25029

18.13593

18.23015

 

90

q

416

q

0

q

0

q

0

 

135

354.871

355.226

878.3277

878.3277

59.8268

60.08723

17.15553

17.2501

 

135

q

-591

q

0

q

0

q

0

 

180

374.158

374.532

880.7097

880.7097

72.41366

72.71386

11.3231

11.39689

 

180

q

186

q

0

q

0

q

0

 

225

367.267

367.635

883.0982

883.0982

64.6562

64.94632

11.3018

11.37968

 

225

q

443

q

0

q

0

q

0

 

270

367.634

368.002

885.4932

885.4932

62.54586

62.84001

9.680027

9.753881

 

270

q

556

q

0

q

0

q

0

 

315

366.204

366.571

887.8946

887.8946

58.87993

59.17598

8.300858

8.371801

 

315

q

211

q

0

q

0

q

0

 

360

366.761

367.128

890.3026

890.3026

56.68471

56.98794

6.411985

6.47575

 

360

q

-69

q

0

q

0

q

0

 

405

350.566

350.917

892.7171

892.7171

40.75986

41.03033

7.523861

7.604397

 

405

q

432

q

0

q

0

q

0

 

450

349.035

349.384

895.1382

895.1382

36.08122

36.35816

5.245512

5.317577

 

450

q

435

q

0

q

0

q

0

 

495

348.884

349.233

897.5658

897.5658

32.02506

32.32504

2.226546

2.27557

 

495

q

517

q

0

q

0

q

0

Trial 2

0

346.826

347.173

871.2202

871.2202

60.39482

60.6382

23.23238

23.336

 

Again the first row of each time change 0, 45, 90 etc., specifies exogenous prices and the second row, with a “q” in the bid column specifies a qty change.  Note quantity can be + or – because it is a change (i.e., added on to existing quantity over time).  Again in the above specification every 45 seconds both prices and quantity on the books change.

 

Finer Details

 

Sometimes you may want to specify an order flow by trader type.  That is, large changes for a professional trader type and smaller quantity changes for a retail trader.  The above concept can be extended to handle this by specifying “q” in the bid column and then 5000/-50/100 for the case of three trader types (1 professional and two retail traders).

 

Information

 

 

 

 

Appendix 1:  Case Data for B02R variation of B02A illustrated above.

 

This is based upon B02A with the difference that the quotation convention used is the same as the real world Treasury market quotations.

 

Trading Case B02R

 

Case Objective

To understand the time value of money; to understand the cash flows from a coupon bond and Treasury Bills with different maturities; to learn about the drivers of fixed income prices; to understand cash matching and related arbitrage relationships.    To understand how Treasury Bills are quoted and traded.  In this market the future spot rates are stochastic but traders can get private information about these spot rates.

 

Key Concepts

Time value of money; discounting; Treasury prices and interest rates.

 

Case description

In this case, there are 3 Treasury Bills and 1 special type of bond. This trading exercise covers six months of calendar time.  However, you will only trade the first day of each two month period for the first four months.  That is, day 1 opens for trading first.  At the end of day 1 time flashes by and two month settlements take place.  Shortly after this day 1 for month 3 opens for trading.  Again at the end of day 1, month 3 time flashes by and end of month 6 final settlements take place.  Final settlement implies that your entire position is converted to it’s cash equivalent (i.e., marked to market).

 

The first three securities are Treasury Bills with different maturities.  Security 1 is a T-bill initially with two months life remaining, security 2 is a T-bill initially with four months life remaining and security 3 is a T-bill with initially 6-months life remaining.  The coupon bond is a special coupon bond that pays coupons every two months and has a coupon interest rate equal to 6% (payable 2-monthly).  All bonds have a face value of $10,000.  The cash flow from each bond at the end of each 2-month period is shown in the table below.

 

Spot and Expected Spot Rates

The spot interest rate is initially 2% (annualized and applied on an annual compound basis).  In months 3 and 4, the expected spot rate is 2.5%, while in months 5 and 6, the expected spot rate is again 2.5%.  For months 3 and 4 the possible 2-month spot rates, equally likely, are 2%, 2.5%, and 3%.  Similarly, for months 3 and 4 the possible spot rates, equally likely, are again 2%, 2.5%, and 3%.  This means that whatever the final cash balance in your money market account is after the day 1, month 1 earns (or pays) 2%, after day 1 month 3 earns or pays {2%, 2.5%, 3%} for two successive 2-month periods of time.  That is, borrowing or lending is permitted at the realized 2-month spot rates. 

 

You can short sell bonds.  If you sell short a bond or T-bill and do not cover your position, you will have to pay any coupons and/or face value on the fixed income security at the end of each two month period.

 

Prices in this case are determined by the traders, so all trades take place at bids and asks that either you or another trader in the system puts in.

 

Information

At the beginning of each two month period you will know what the current two month realized spot rate is for the money market.  In addition to this information in trading period 2 you will receive unbiased private forecasts of the subsequent 2-month spot rate.  That is, on day 1 month 1 you do not receive any private information.  By day 1 month 2 you have become more experienced traders and now you will receive private information from your personal analyst.  The information will be in the form of the “true end of period value” plus or minus some error.  The expected value of the error is zero but the realized error can be positive or negative.  Different trader types get different unbiased forecasts so that in aggregate the market as a whole always has better information than any individual forecast.  In addition, information is such that you receive forecasts with smaller errors as the period progresses.

 

In the information text box (a single click on the coupon bond reveals the information in the information text box) you may observe the following:

 

Forecast Time: xxxx Current analyst forecast 0.027 (equals true realization plus/minus some unbiased error (expected error is 0).

 

This means that the forecast became available when the trading clock was xxx-seconds into the current period and reveals that an unbiased estimate of the expected spot rate is 0.027.  A forecast can exceed the possible bounds because of the error it contains.  But don’t forget that errors are independent both across forecasts in time.  As a result there is information in a sequence of forecasts.

 

 

Viewing Private Information in FTS Trader

A single click on the name Cp Bnd (under the heading Security Name and after the market starts) reveals your private information in the text box (top middle of the FTS Trader screen).

 

Case Data

The cash flows from bonds are:

 

Payout at end of

Month 2

Payout at end of

Month 4

Payout at end of

Month 6

T-Bill (2M)

$10,000

 

 

T-Bill (4M)

 

$10,000

 

T-Bill (6M)

 

 

$10,000

 Cp Bnd

$100

$100

$10,100

Money Market

2%

{2%, 2.5%, or 3%}

{2%, 2.5%, 3%}

Actual Days (t=0)

60

120

180

 

In the above money market pays 2% annualized (compounded annually) as the spot rate for months 1 and 2; either 2%, 2.5% or 3% annualized (compounded annually) as a realized spot rate in months 3, 4; and the same as a realized 2-month rate for months 3 &4.  C0 is your initial endowment of market cash.  C1 is your closing balance of market cash after the first day’s trading activities are accounted for.   C1 = C0*(1+ realized r)^(2/12).

 

Quotations

 

T-bills:  Each T-bill is quoted in the following way.  Bids are in DR% where DR% is the discount rate percentage relative to a $10,000 face value.  In the above table you can assume that the actual days in every two month period is 60 days. 

 

Example:  Suppose the bid/ask spread is 3.14 and 3.12 respectively for the 4-month T-bill at the beginning of period 2.  This implies that the cash price being bid is computed as follows where the remaining days to maturity equal 60:

 

Cash Discount if selling to bid = DR%*Face*Days to Maturity/(360*100) = $52.3333

Cash Spot Price if selling to bid = $9,947.667

Cash Discount if buying from the ask = DR%*Face*Days to Maturity/(360*100) = $52

Cash Spot Price if buying from the ask = $9,948

 

You can see that the cash discount being bid is higher than the cash discount being asked which implies that the spot price in cash being bid is lower than the spot price in cash being asked.  This is consistent with a positive bid/ask spread.

 

Coupon Bond:  The coupon bond is quoted in 32nds relative to a face vale of $100.  That is, a bid price of 99.30 implies that the spot cash price being bid is $99 + 30/32 = $99.9375 relative to $100 face.  There is no accrued interest because in this case the bond pays a coupon every 2-months (as a simplifying assumption).

One coupon bond is actually settled with a face value equal to $10,000, so the total dollars subtracted from your money market is $9993.75 when the quote is $99.30.

 

Earning Grade Cash

Your aim is to make as much money as you can which depends upon how well you trade relative to the prices discovered by the market.   Each trial you earn grade cash that is cumulated across trials.  Grade case in any trial equals 0.0001 x your closing balance of market cash.  That is, if you end up with negative wealth then you lose grade cash and if you make money then you gain grade cash.

 

Trading is conducted over a number of independent trials and a record of your cumulative grade cash is maintained.  For the case of a weekend trading session only one trial will be completed.

 

Spreadsheet Support

If you choose to create a spreadsheet support system for this trading case the following cell information is relevant:

 

Spreadsheet Cols run from A (blank), B (Security), C (Bid), D (Bid Qty) etc., and rows run from 1 (Headings), 2 (T-Bill(2M)), 3 (T-Bill(4M), 4 (T-Bill(6M)) etc.,

 

 

The above cells are fixed and general across FTS cases and the numbers are for illustrative purposes only.  That is, the first security’s bid comes into cell C2, etc., whenever you perform the Spreadsheet link.

VWAP is the volume weighted average price based upon traded prices for the market as a whole.  It is widely used in the real world as a trading benchmark to calibrate trading performance against.

Cash (10000000) is the current cash balance in the money market account.

 

Performing spreadsheet link is simple.  First open Excel.  In the FTS Trader click on the File Menu item and then select  Excel link.  Next click on the button Find Excel Workbooks and select the work book you want to link to.  Be sure to link Market Data and Trading History to two different sheets.  Then click OK.  The link is maintained in real time.

 

Tip:  In a weekend trading session it is recommended that you have a third master sheet in your workbook to keep you personal trading diary in.  That is, if you are logging in and out of the market suppose each individual session you link Trading History to sheet 2.  At the end of the session copy and paste the data to sheet 3 and then clear sheet 2.  This is required because when you link to sheet 2 over independent sessions it will merely overwrite whatever is there from a previous session.

Tip:  Be sure to back up Excel and save during a session. 

 

The details for the second sheet which contains your personal trading diary are provided below:

 

Spreadsheet Cols run from A (blank), B (Trial), C (Period), D (Time) etc., and rows run from 1 (Headings), 2 (first trade), 3 (second trade), etc.,

 

 

Note:  Excel link now supports the transfer of information (private and public).  In addition, it denotes whether the trader who did the linking to Excel is the current market maker by depicting the bid or ask in red whereas if the trader is not the current market maker tese values are not depicted in color.  This is for the convenience of program trading described below.

 

Program Trading:  The moderator/instructor controls whether this is permitted or not by turning it on in the trading case Excel spreadsheet file.    In addition, program trading can be turned on or off at an individual security level.  Program trading also provides a trader with enhanced market making support.  This is because it allows complex cross market strategies to be set up and implemented in the Excel support spreadsheet that can be linked to trader.

The following steps show you how to allow program trading as well as how traders in the market can trade in this way.  As a trader, you can use your Excel support spreadsheet to transmit orders to the market in three ways.  First, type in the order directly into the relevant cell in your Excel spreadsheet.  Second, paste in a set of orders into multiple cells.  This allows you to transmit multiple orders at a point in time.  Third, you can build an Excel macro that automates your orders.  In the following steps you will see that the three basic order types are covered.  That is, you can:

 i. make market (i.e., transmit bids and asks directly to the market book).  That is, if you have dealing rights you can use Excel to post both bids and asks to a single or multiple securities.

ii. take market (transmit market orders) to buy from the ask or sell to the bid your specified quantity at the best available price.

iii. take market using a market limit order.  That is buy from the ask your specified quantity up to (and equal to) the price you specify.  Alternatively, you can sell to a bid the quantity you specify down to (or equal to) the price you specify.

Important:  You must Modify the Trading Case Excel Spreadsheet before Your Students can use the Program Trading Facility:

Step 1:  Download FTS Trading Case Excel files (see hyperlink below)

Select the case you want to modify (each spreadsheet tab refers to a specific trading case).  Assuming you have selected one case spreadsheet then change the following cells:

Column C, Row 17 enter the label:  Autotrade

Columns D, E etc., corresponding to securities in the case you can enter either “Yes” or “No” to allow or disallow program trading.

Program Trading Rules for FTS Markets  (example relative to B02)

The following steps demonstrate how a trader can program trade if and only if the moderator has turned it on for the current trading session.

Step 1: Link to your Excel Workbook in the usual way (In

trader click on File, Excel Link, Locate your Workbook and

link Market Data and History to separate spreadsheets.

Step 2: In the market data sheet Security Names are in Column

B (Cp Bnd in B2, Zero 2 in B3, Zero 3 in B4, Zero 4 in B5,

Zero 5 in B6 and Cash in B7)

Step 3: Program trades must be placed beside each security

name in column A, that is to trade Cp Bnd information must be

placed in cell A2, Zero 2 in A3 etc.,

This information will be automatically grabbed by the FTS Trader

as soon as it is entered into the cell. You can enter this either via

a macro, or you can paste or type the entry into the cell directly  (when

typing follow by Return or enter key).

Step 4:  Codes

The following messages are recognized:

b/price/quantity e.g., b/85.67/2000 sends in a bid for a price

of 85.67 and 2000 units

Full set of codes:

b/price/qty

a/price/qty

y/price/qty

s/price/qty

y/qty

s/qty

cb

ca

In the above b = bid, a = ask, y = buy, s = sell, y/price/quantity is a market buy limit order, that is it submits a buy up to or equal the given price.   "cb" and "ca" refers to clear bid or clear asks in the book for a particular security.  That is, you can automate clearing out your market making orders if you want to.

y/quantity is a market buy order at the prevailing best market price (i.e., lowest available ask)

This will let you increase the level of sophistication of your trading strategies, including placing multiple trades.

 

International FTS Users

We now support different international window settings.  These can be changed via the Regional Options in the Windows Control Panel.  For example run under Spanish windows, French Russian etc., and even mix and match.  That is, the FTS markets are now truly international and can handle traders logging in from different countries using their preferred Regional option.  Similarly, the central market can run under different regional settings as well.

Can I run multiple FTS sessions on the one server?

In the new version the answer to this is yes.  That is, you can control the port number if you want to via the case file.  This also has some experimental research implications if you want to conduct multiple market sessions under different criteria.

For example, the you could run a continuous double auction market and a call auction in parallel.  A different port number needs to be specified in case when running more than one FTS market program.  The port number is specified in the Excel case worksheet and we recommend keeping above 25000.  It is specified in Row 1 as:  Port (a label specified in row 1 of the column immediately after the last security in the yellow section.  The number is specified in row 1 in the column beside Port.

Example for B02 columns E, F, and G appear as follows to specify a particular port number = 26999.:

Zero Cp Port Number 26999
Bond    
Endogenous    
1    
3    

 

 

 

©OS Financial Trading System 1999-2003