Set the option contract using the exchange.SetContractType()
function, the option contract codes differ from different exchanges. Cryptocurrency options exchanges supported by the FMZ Quant Trading Platform:
Futures_Deribit
For the Deribit
exchange, just call the exchange.SetContractType()
function to set the contract to an option contract.
After setting up an option contract, when you call GetTicker()
and other ticker interfaces, all you get is the ticker data of that option contract.
Place an order using exchange.Sell()
, exchange.Buy()
function, pay attention to the direction of the transaction when placing an order, use exchange.SetDirection()
to set the direction of the transaction.
exchange.CancelOrder()
function is used to cancel an order. exchange.GetPositions()
function is used to query the position.
The strategy code for reference: The Testing Strategy of Deribit Options
Examples of option contract codes: BTC-13SEP24-60000-C
, XRP_USDC-27SEP24-1-C
, BTC-CS-6SEP24-57000_57500
, BTC-PCAL-20SEP24_13SEP24-55000
, etc.
Futures_OKX
Setting up contracts, placing orders, canceling orders, querying orders, and obtaining market quotes, etc. are of the same operation as Deribit
, and the contract code format is BTC-USD-200626-4500-C
.
You can query the information related to the contract through the interface https://www.okx.com/api/v5/public/instruments
.
For example, to query the information of BTC options contracts:
function main() {
Log(HttpQuery("https://www.okx.com/api/v5/public/instruments?instType=OPTION&uly=BTC-USD"))
}
import json
import urllib.request
def main():
ret = json.loads(urllib.request.urlopen("https://www.okx.com/api/v5/public/instruments?instType=OPTION&uly=BTC-USD").read().decode('utf-8'))
Log(ret)
void main() {
Log(HttpQuery("https://www.okx.com/api/v5/public/instruments?instType=OPTION&uly=BTC-USD"));
}
Futures_HuobiDM
For example, Huobi options contract code: BTC-USDT-201225-P-13000
; the contract is a BTC
contract; the exercise date is December 25, 2020; the options are Put Options (PUT); the strike price is $13,000.
For Call Options, the premium paid by the buyer is USDT, indicating the USDT in the account assets is used; the seller’s margin is currency, which is guaranteed by the currency in the assets.
For Put Options, the premium paid by the buyer is USDT, indicating the USDT in the account assets is used; the seller’s margin is USDT, which is guaranteed by the USDT in the assets.
Futures_Bybit
It supports the USDC option of the Bybit exchange, and set the trading pair to ETH_USDC
, call function exchange.SetContractType
to set the contract as an option contract.
Example of option contract code: ETH-25NOV22-1375-P
.
Futures_Aevo
It supports USDC options on Aevo Exchange. Example of option contract code: ETH-30JUN23-1600-C
.
Futures_GateIO
It supports USDT options on GATE.IO exchange. Example of option contract code: BTC_USDT-20211130-65000-C
.