This thread is intended to support and mutually benefit the ICBIT user community, I'll try (edit: failing miserably) to keep up to date as poss - corrections or additional info/clarifications welcome.
UPDATE - 19/07/2014 - semi-official training guide available.
INTRODUCTION TO ICBIT FUTURES TRADINGhttps://icbit.se/You want to hedge, arbitrage, or simply open a leveraged position against BTC price changes. ICBIT offers leveraged trades through "futures" contracts, which are exchanged as a quantity of units between buyers and sellers.
Update: there is now an official rules page: https://icbit.se/rulesCONTRACT VALUEhttps://icbit.se/BUH4 (example contract spec)
Each contract unit represents $10 worth of BTC at the specified price in $, so:
> 1 unit at a trade price of $100 represents $10 worth of BTC, or 0.1 BTC in contract value.
> 100 units at a trade price of $100 represents $1000 worth of BTC, or 10BTC in contract value.
The current trade value of each open futures instrument is not pegged to the underlying spot price, but is instead based on speculation as to what the final settlement value will be. For this reason it is not guaranteed/expected to rise and fall as the spot price does. Final settlement value is determined on listed the day of settlement for each instrument (currently 14th Apr, 14th Jun and 16th Sep), and the final settlement value is the 24 hour volume weighted average price (VWAP) from the largest exchange at the time of the settlement (i.e. 20:00 UTC).
OPENING A POSITIONUse the Buy/Sell buttons if you want to place an order with specific price conditions, if no corresponding offers exist at the specified price, then the order will enter the order book and become visible to others as an active bid/ask, if another user places an order which meets the specified price, the order will be filled and contract positions activated.
Use the Buy/Sell at Market button if you simply want to purchase at the most favorable currently available price.
To open a position, the following key fields must be populated.
- Quantity = The number of $10 chunks of Bitcoin you want to bet on.
- Price = The price you are prepared to buy/sell at.
- Amount = Calculated field displaying the amount of underlying BTC you are effectively betting on (Quantity * 10 / Price).
- Margin = Calculated field displaying the amount in BTC which must be "reserved" in the account to cover any potential loss incurred against the position (15% I believe).
CLEARINGThe nature of the contracts is such that ongoing profit or loss against open contracts is re-distributed twice a day (08:00 and 20:00 UTC / GMT) in a system wide clearing process (rather than only being realised when a position is closed).
During Clearing all contract positions are evaluated and the latest trade price is used to determine the relative gain loss between the buyer and seller of each open contract. This difference (variance) is then transferred from the loser to the gainer, the contract remains active and will be re-evaluated at the next clearing session.
So if trade prices increase from 100 to 110, then the variance will be ((100*10)/100)-(100*10/110) = 10 - 9.09 = 0.91.
> Prior to clearing, the sellers account would show an unrealised loss of 0.91BTC, and the buyer +0.91BTC.
> At clearing the loss of 0.91 would be deducted from the sellers account, and credited to the buyers account.
> After clearing:
> "Unrealised P/L" balance reverts to 0 for both buyer and seller.
> "Execution Price" for the open position is reset to the trade price upon which the variance adjustment was made.
> "Margin" will also be adjusted (again, not sure of the precise margin calculation).
So, open a position of 100 units at around $100 and sell after a rise/fall of say 10 bucks, you are looking at just under 1BTC profit/loss (excluding fees).
RANGEAnother feature of the contract format is the use of trading range controls, an upper and lower limit on each instrument beyond which trading cannot occur within the current (12hr) session. The range for the session is set during clearing based on the variable weighted average price (VWAP) price plus or minus 10% (edit: some newer instruments have wider range boundaries), so if the last trade price was 100 at clearing, the range for the following session will be set to 90 - 110.
Range boundaries are a safety feature to protect market participants from exceptional price swings in the underlying spot market, and limits risk exposure to traders (e.g. during intraday spikes/dips), given Bitcoin price volatility it is not unusual to see prices reaching upper/lower range limits, resulting at times in cessation of trade as no-one is prepared to buy/sell within session range threshold.
FEESEach trading instrument will operate one of two fee models:
- Lower transaction fees, but a twice-daily holding fee per contract applied at clearing (designed to encourage day-trading)
- Higher per-transaction fees, but no holding fees (designed to support longer term trades)
Per transaction fees are calculated in BTC and are chargeable at the point of contract purchase/sale, therefore each position will incur fees twice (open and close). Fees are charged according to the quantity of contracts being bought/sold, so whilst the fee is not displayed prior to purchase, it can be calculated by multiplying the quantity by the fee (and double if you also need to consider closure fees).
Actual fees are listed on the instrument reference pages (e.g.
https://icbit.se/BUH4) and vary per instrument, usually with lower fees on contracts which are furthest form settlement.
Update 01/04/13: Fee discounts based on trade volume - fee discounts are now applied based on trading volumes, so if you trade a lot your fees will be lower - as outlined here:
https://bitcointalk.org/index.php?topic=50817.msg1717445#msg1717445MARGIN CALLS AND FORCED LIQUIDATIONhttps://icbit.se/margincallAlready spelled out pretty well on the ICBIT site, but many people still ask this, so here is the text:
"Every user's balance is continually checked by the trading engine if that user has any open positions. Margin call (forced close) is issued when his balance (actual money in the account plus total variation margin) is less than or equal to 75% of the total maintenance (initial) margin necessary to keep the positions.
If there are no respective bids/asks in the order book, the worst case scenario begins. The trading engine will go through users holding counter positions and forcibly close them by such a price that the user's balance who has the loss never goes negative."
APIhttps://icbit.se/apiThere is an API available which offers full access to order book info, as well as order execution capabilities. Personally I think the specs page could be improved through the inclusion of some additional specific worked examples, as well as instructions for the configuration of a very simple user control interface (excel/vba would be a start)... submissions welcome!
edit: example code here
http://captainbodgit.blogspot.co.uk/2013/04/exploring-icbit-bitcoin-exchange-api.htmlBUGS, HOT ISSUES[NOW CLOSED] 1. Unscheduled clearing.There is currently some controversy surrounding the use of unscheduled clearing sessions. These appear to be run as exceptional events when large variations in BTC/USD spot price occur, and form part of a risk management strategy used to limit ICBIT's potential exposure to loss where over-leveraged contract losses can exceed the available account balances before any forced position closure has occurred.
There have been several instances of unscheduled clearing resulting in trading range increase/reduction, and subsequent forced closure of positions resulting in trading losses to individuals, prompting heated discussion of the legitimacy of such clearing.
Solution agreed and implemented (10/04/13): Fireball has confirmed ICBIT will now operate two daily clearing sessions, 20:00 and 08:00 UTC, and ad-hoc clearing sessions should no longer take place.
[NOW CLOSED] 2. Range Manipulation during the clearing process.Each day during clearing the trading range for the following session is adjusted for each instrument, previously the adjustment is based on the price of the last single trade prior to clearing. As a result, there were frequent attempts to influence the adjustment by shooting low/high orders in at the last second before clearing. Range adjustment manipulation is attempted as a means of limiting losses and maximising the potential for profit during the following trading session, it can also result in forced closure of otherwise profitable trading positions, and has resulted in much heated discussion.
Solution implemented (December 2013): Range and variance adjustment calculations during clearing are now based on a new Volume Weighted Average Price, which should resolve the problem.
Target Fix Date: TBC
3. Forced closure of "winning" contract positions. Because ICBIT does not assume the counterparty risk for futures contracts being traded, gains must come directly from counterparty contract holders. So if you buy a contract, and BTC rises, your profit must come from the loss of a corresponding seller. In extreme market scenarios, those on the negative side of a contract will decide not to replenish a heavily depleted margin (and are perfectly entitled to do so). Under normal conditions such contracts will then be forced back onto the market and transferred to a new seller at the best offered market price, however in the event that no other sellers exist, there is no way to continue maintain the contract obligation to pay profit to the gaining party, so contracts are force-closed at the "optimal" price (which essentially means the best possible price for the "gaining" side).
Because market price gaps can cause a contract loss to exceed both available margin, and the entire available account balance (if low enough), it is possible that already "realised" profit against an open contract can be reversed at the point of closure.