This page describes the general theoretical and operating principles of FX and its interface. We also recommend the tutorial by Ken Fishkin (firstname.lastname@example.org).
- The unit of currency is the 'credibill' (represented by the $ symbol).
- Prices are shown as a percentage of the coupon's face value (e.g., 60 = 0.60 credibills = ./instruct.cgi.60)
- For any given claim, the value of a YES coupon plus a NO coupon is always 1.00 credibills. (v(YES) + v(NO) = 1.00)
- During the course of trading, you will acquire YES or NO coupons (on any given claim in which you have invested).
- When a claim is closed, the judge determines the value of the coupons and the bank buys back your coupons and pays you according to their judged worth.
For the examples that follow, assume that for a certain claim the market price on YES coupons is:
- Bid (buy) price: ./instruct.cgi.20
- Ask (sell) price: ./instruct.cgi.25
The "Ask" price is the current lowest "offer-to-sell" price.
The "Bid" price is the current highest "offer-to-buy" price.
Coupons, like light, have a dual nature. In some cases it is more convenient to talk about YES and NO coupons; in others it is easier just to talk about buying and selling YES coupons.
The two are equivalent, however. Buying NO coupons is exactly like selling YES coupons. Thus, .00 - Ask(YES) (./instruct.cgi.75) is the Bid price for NO coupons. Similarly, ./instruct.cgi.80 is the Ask price for NO coupons.
The example is typical in that the Bid price is lower than the Ask price. In other words, there is a "spread" -- a gap between the highest Bid and lowest Ask prices. In this example the spread is ./instruct.cgi.05. Having a wide spread discourages trading, since orders to buy or sell cannot be fulfilled. It is in the players' interest to narrow it -- doing so also tends to increase a player's net worth.
Narrowing the spread can be done in two ways: a player may submit a higher Bid price; e.g. ./instruct.cgi.21. This increases the value of YES coupons, but leaves the values of NO coupons unchanged. Alternately, the player can submit a lower Ask price; e.g. ./instruct.cgi.24. This would increase the value of NO coupons from ./instruct.cgi.75 to ./instruct.cgi.76, but leave the value of YES coupons unchanged.
If a user submits a Bid with a price that matches an Ask order (or an Ask with a price that matches a Bid) a transaction is performed. The server will exchange coupons until there are no more matching Bids and Asks.
The FX transaction form contains the following information:
- A statement of your current financial situation, including your available cash, your net worth, and your score.
- A user-selected listing of FX claims with their current state information. Each line is composed of:
- The claim symbol. Clicking on the symbol will take you to the claim description.
- Your current holdings of coupons for that claim. Negative numbers indicate NO coupons.
- The current Bid price (the highest price at which anyone is willing to buy YES coupons).
- The current Ask price (the lowest price at which anyone is willing to sell YES coupons).
- A space to place bid and ask orders (see below).
- The claim's short description.
- Links to other information sources.
- A button to create a new claim.
You can submit orders for more than one claim's coupons at a time. Type your order(s) in the Orders column of the transaction form on the appropriate line(s) and click the 'Submit' button.
FX will update your transaction page when it has registered your orders. If FX trades coupons for you, you will receive e-mail notification.
Order Syntax: (B|S)<quantity>[Y|N][@<price>][, ...]
- B50@12 = "Buy 50 YES coupons at ./instruct.cgi.12, when available" (immediate if available).
- B50Y@12 = "Buy 50 YES coupons at ./instruct.cgi.12, when available" (immediate if available).
- S50N = "Sell 50 NO coupons at best price" (immediate) [BEST PRICE NOT IMPLEMENTED]
As explained in Trading Principles, selling YES coupons is equivalent to buying NO. Thus, s20@20 = b20N@80.
Orders are case insensitive.
Multiple orders on a claim must be separated by a comma (and optional whitespace) e.g. "B50@12, S50".
You may edit existing orders by changing the orders in the Orders column and re-submitting. When you do so you all your existing orders are replaced with the new set. You can cancel an order simply by erasing it from the form and re-submitting (on some browsers you may have change the quantity ordered to zero).
A player's net worth is defined as the value of all their coupons plus their cash reserves.
The value of YES coupons is assessed at the last trade price for the claim. For example, if a player held 4 YES coupons in a
claim that last traded at a price of $0.20, her net worth would be $0.80.
The value of a NO coupon is (1 - last trade price). For example, if a player held 6 NO coupons in the same claim, his net
worth would be $4.80 (6 * (1 - 0.20)).
As of December 4, 2005, the score algorithm is:
(Net Worth + Grants Out - Grants In) / Allowance
Net Worth: is sum of player's cash and value of claim holdings
Grants Out: is sum of fees paid to create claims
Grants In: is sum of fees received for judging claims
Allowance: is sum of allowance payments received.
This replaces the old algorithm:
(Net Worth + Grants Out) / (Allowance + Grants In)
which had the side-effect of making the score drift to 1.0 if the player created or judged a lot of claims.
The capitalization is the value of the coupons held by various players.
YES coupons are worth what the last trade price was. If the last trade price was 80, then that's the
value of YES coupons. This is fair assumption in a "thick" market, in which most traders are "price takers",
placing orders that do not (usually) push the price up or down. This isn't really true of FX, however;
in thinly-traded claims, the most eligible bid and ask orders may diverge significantly from the
last trade price. But we had to choose some valuation method...
Some claims mention the value of NO coupons, while others do not. NO coupons always pay less whatever the YES coupons were paid. Usually, if the NO coupon redemption value is specifically stated, it is because the claim is not a simple 0 or $1 payment