#!/usr/bin/perl
#############################################################################
#
# instruct.cgi -- Instructions on how to play FX.
#
#############################################################################
use strict;
use CGI;
require "Common.pl";
my (@content,$data);
my $query = new CGI;
print $query->header;
my $title = "Foresight Exchange Instructions";
my $header = "Instructions";
$data = <
For the examples that follow, assume that for a certain claim the market price on YES coupons is:
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, $1.00 - Ask(YES) ($0.75) is the Bid price for NO coupons. Similarly, $0.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 $0.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. $0.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. $0.24. This would increase the value of NO coupons from $0.75 to $0.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:
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>][, ...]
e.g.
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 where: 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 $1 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
EOT push(@content,$data); &showHtml(8,$title,$header,undef,undef,@content); ############################################################################# # # $License: # # Copyright (C) Kenneth A. Kittlitz, All Rights Reserved. # # Unless explicitly acquired and licensed from Licensor under a # separate arrangement, the contents of this file are subject to the # Idea Futures Public License ("IFPL") Version 1.0, or subsequent # versions as allowed by the IFPL, and You may not copy or use this file # in either source code or executable form, except in compliance with the # terms and conditions of the IFPL. # # The IFPL V1.0 is identical to the Reciprocal Public License V1.1 as # published at