ڈیجیٹل کرنسی آپشنز کی حکمت عملی کے بیک ٹیسٹنگ پر ابتدائی مطالعہ
حال ہی میں ، ایف ایم زیڈ پلیٹ فارم نے ڈیجیٹل کرنسی کے اختیارات کی بیک ٹیسٹنگ کی حمایت کے لئے بیک ٹیسٹنگ سسٹم کو اپ گریڈ کیا ہے۔ اس بار ، یہ ڈیریبٹ ایکسچینج کے کچھ آپشن ڈیٹا کی حمایت کرتا ہے۔ لہذا ہمارے پاس آپشن ٹریڈنگ سیکھنے اور حکمت عملی کی تصدیق کے ل better بہتر ٹولز ہیں۔
بیک ٹیسٹ سسٹم میں بیان کردہ ڈیریبٹ آپشن یورپی طرز کا ہے ، اور ایک معاہدے کی قیمت 1BTC ہے۔ آپشن معاہدے کا کوڈ ہے: BTC-7AUG20-12750-C۔
موضوع | مشق کی تاریخ | مشق قیمت | (کال/پٹ) آپشن |
---|---|---|---|
بی ٹی سی | 7اگست20 | 12750 | C |
بٹکوئن | مشق 7 اگست 2020 کو | مشق کی قیمت 12750 | کال اختیارات |
بی ٹی سی | 7اگست20 | 12750 | پی |
بٹکوئن | مشق 7 اگست 2020 کو | مشق کی قیمت 12750 | اختیار ڈالیں |
آپریشنز جیسے معاہدوں کی ترتیب اور پوزیشن حاصل کرنا ڈیجیٹل کرنسی فیوچر کے ساتھ ایک جیسے ہیں۔
سیٹ معاہدہ: تبادلہ۔سیٹ معاہدہ قسم ((
ایک آپشن معاہدے کی قیمت ایک آپشن معاہدے کا پریمیم ہے ، اور آپشن خریدار کو آپشن بیچنے والے کو آپشن پریمیم ادا کرنے کی ضرورت ہے۔ خریدار کو استعمال کرنے کا حق ہے ، اور بیچنے والے کو استعمال کرنے کی ذمہ داری ہے۔ آپشن معاہدے کا استعمال ہونے سے پہلے ، اس کی تجارت کی جاسکتی ہے (جیسے تصفیہ ، ذمہ داریوں کا حل) ۔
ایک کال آپشن فروخت کریں اور ایک جگہ خریدیں.
/*backtest
start: 2020-07-27 00:00:00
end: 2020-08-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Deribit","currency":"BTC_USD"},{"eid":"OKEX","currency":"BTC_USDT","balance":100000}]
*/
function main() {
exchanges[0].SetContractType('BTC-7AUG20-12750-C');
var initSpotAcc = _C(exchanges[1].GetAccount)
var isFirst = true
while(true) {
var optionTicker = exchanges[0].GetTicker()
var spotTicker = exchanges[1].GetTicker()
if(isFirst) {
exchanges[0].SetDirection("sell")
exchanges[0].Sell(optionTicker.Buy, 1)
exchanges[1].Buy(spotTicker.Sell, 1)
isFirst = false
}
var optionPos = _C(exchanges[0].GetPosition)
var nowSpotAcc = _C(exchanges[1].GetAccount)
var diffStocks = (nowSpotAcc.Stocks - initSpotAcc.Stocks)
var diffBalance = (nowSpotAcc.Balance - initSpotAcc.Balance)
var spotProfit = diffBalance + diffStocks * spotTicker.Last
var optionProfit = optionPos[0].Profit * spotTicker.Last
LogProfit(spotProfit + optionProfit)
$.PlotLine("Spots", spotProfit)
$.PlotLine("Options", optionProfit)
Sleep(500)
}
}
اختیارات اسپاٹ میں خریدی گئی اثاثوں کے لئے ایک خاص حد تک ہیجنگ تحفظ فراہم کرسکتے ہیں۔ عام طور پر اس وقت استعمال کیا جاتا ہے جب اسپاٹ کے بارے میں پرامید ہو اور اسپاٹ کو برقرار رکھنے کے لئے تیار ہو۔ خطرہ اسپاٹ قیمتوں میں کمی میں ہے۔ اگرچہ کسی حد تک ، اختیارات ایک خاص اسپاٹ نقصان کی تلافی کرسکتے ہیں ، لیکن نقصان کے اختیار پریمیم سے تجاوز کرنے کے بعد ، خالص نقصان ہوگا۔
اس کے علاوہ ، ڈیجیٹل کرنسی کے آپشن مارکیٹ کی لیکویڈیٹی اوسط ہے ، اور بعض اوقات کوئی بھی معاہدہ نہیں پایا جاتا ہے۔ یہ بھی ایک مسئلہ ہے جس پر غور کرنے کی ضرورت ہے۔
اسی طرح، ہم مستقبل کے ساتھ سپاٹ کی جگہ لے سکتے ہیں، کوڈ مندرجہ ذیل ہے:
/*backtest
start: 2020-07-27 00:00:00
end: 2020-08-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Deribit","currency":"BTC_USD"},{"eid":"Futures_OKCoin","currency":"BTC_USD"}]
*/
function main() {
exchanges[0].SetContractType('BTC-7AUG20-12750-C');
exchanges[1].SetContractType("quarter")
var isFirst = true
while(true) {
var optionTicker = exchanges[0].GetTicker()
var futuresTicker = exchanges[1].GetTicker()
if(isFirst) {
exchanges[0].SetDirection("sell")
exchanges[0].Sell(optionTicker.Buy, 1)
exchanges[1].SetDirection("buy")
exchanges[1].Buy(futuresTicker.Sell, _N(1 * futuresTicker.Sell / 100, 0))
isFirst = false
}
var optionPos = _C(exchanges[0].GetPosition)
var futuresPos = _C(exchanges[1].GetPosition)
var futuresProfit = futuresPos[0].Profit
var optionProfit = optionPos[0].Profit
LogProfit(futuresProfit + optionProfit)
$.PlotLine("Futures", futuresProfit)
$.PlotLine("Options", optionProfit)
Sleep(500)
}
}
فیوچر اسپاٹ کے مقابلے میں مقبوضہ سرمایہ کو کم کرسکتے ہیں ، لیکن خطرہ اسپاٹ کے مقابلے میں زیادہ ہے۔
اس کے علاوہ، بہت سے دوسرے اختیارات ٹریڈنگ کے مجموعے ہیں:
bull call spread
Bear Put Spread
جو لوگ دلچسپی رکھتے ہیں وہ بیک ٹیسٹ سسٹم میں اس کا مطالعہ کر سکتے ہیں۔