ایف ایم زیڈ کوانٹ پلیٹ فارم کے ڈیش بورڈ میں، ٹول کے صفحے پر جانے کے لئے
یہاں میں تجزیہ فائل براہ راست اپ لوڈ:
یہ تجزیہ دستاویز بیک ٹسٹنگ کے دوران فیوچر اسپاٹ ہیجنگ پوزیشن کھولنے اور بند کرنے کے عمل کا تجزیہ ہے۔ فیوچر ایکسچینج OKX فیوچر ہے ، اور معاہدہ ایک ہےquarter
معاہدہ۔ اسپاٹ ایکسچینج OKX کرنسی کرنسی ٹرانزیکشن ہے، اور ٹریڈنگ جوڑی ہےBTC_USDT
. مستقبل کی جگہ ہیجنگ کے آپریشن کے عمل کا تجزیہ کرنے کے لئے، آپ کو مندرجہ ذیل مخصوص تحقیق کے ماحول کی فائل دیکھ سکتے ہیں، دو ورژن میں لکھا: ایک پائیتھون زبان ورژن، ایک جاوا اسکرپٹ زبان ورژن.
فیوچر اسپاٹ ہیجنگ کے اصول پر تجزیہ میں [1]:
from fmz import *
task = VCtx('''backtest
start: 2019-09-19 00:00:00
end: 2019-09-28 12:00:00
period: 15m
exchanges: [{"eid":"Futures_OKCoin","currency":"BTC_USD", "stocks":1}, {"eid":"OKX","currency":"BTC_USDT","balance":10000,"stocks":0}]
''')
# Create backtesting environment
import matplotlib.pyplot as plt
import numpy as np
# Import the plot library matplotlib and library numpy
[2] میں:
exchanges[0].SetContractType("quarter") # The first exchange object OKX Futures (eid: Futures_OKCoin) calls the function to set the current contract as a quarterly contract
initQuarterAcc = exchanges[0].GetAccount() # The initial account information of OKX Futures Exchange is recorded in the variable initQuarterAcc
initQuarterAcc
باہر[2]:
{
میں [3]:
initSpotAcc = exchanges[1].GetAccount() # The initial account information of the OKX Spot Exchange is recorded in the variable initSpotAcc
initSpotAcc
آؤٹ [1]:
{
[4] میں:
quarterTicker1 = exchanges[0].GetTicker() # Get the futures exchange ticker, recorded in the variable quarterTicker1
quarterTicker1
آؤٹ [4]:
وقت: 1568851210000،
میں [5]:
spotTicker1 = exchanges[1].GetTicker() # Get the spot exchange ticker, recorded in the variable spotTicker1
spotTicker1
باہر[5]:
وقت: 1568851210000،
[6] میں:
quarterTicker1.Buy - spotTicker1.Sell # The price difference between going short on futures and going long on spot.
باہر[6]: 284.6499999799999985
میں [7]:
exchanges[0].SetDirection("sell") # Set up a futures exchange and trade in the direction of going short
quarterId1 = exchanges[0].Sell(quarterTicker1.Buy, 10) # Futures go short to place orders. The order quantity is 10 contracts. The returned order ID is recorded in the variable quarterId1.
exchanges[0].GetOrder(quarterId1) # Check the details of the order with futures order ID quarterId1.
آؤٹ[7]:
{
[8] میں:
spotAmount = 10 * 100 / quarterTicker1.Buy # Calculate the currency equivalent of 10 contracts as the order quantity of the spot.
spotId1 = exchanges[1].Buy(spotTicker1.Sell, spotAmount) # Place orders on the spot exchange
exchanges[1].GetOrder(spotId1) # Check the order details of the spot order ID of spotId1
باہر[8]:
{
آپ دیکھ سکتے ہیں کہ آرڈر سہ ماہی ID1 اور اسپاٹ ID1 مکمل طور پر بھرا ہوا ہے، یعنی کھلی پوزیشنوں کی ہیجنگ مکمل ہو گئی ہے۔
[9] میں:
Sleep(1000 * 60 * 60 * 24 * 7) # Hold the position for a while and wait for the price difference to become smaller to close the position.
انتظار کے وقت کے بعد، پوزیشن کو بند کرنے کے لئے تیار. موجودہ ٹکر حاصل کریںquarterTicker2
, spotTicker2
اور ان کو پرنٹ کریں.
فیوچر ایکسچینج آبجیکٹ کی ٹرانزیکشن سمت مختصر پوزیشن کو بند کرنے کے لئے مقرر کی گئی ہے:exchanges[0].SetDirection("closesell")
پوزیشن بند کرنے کا آرڈر دیں۔
بند ہونے والی پوزیشن کے آرڈر کی تفصیلات پرنٹ کریں، جس سے ظاہر ہوتا ہے کہ بند ہونے والا آرڈر مکمل ہو گیا ہے، بند ہونے والی پوزیشن ختم ہو گئی ہے۔
[10] میں:
quarterTicker2 = exchanges[0].GetTicker() # Get the current futures exchange ticker, recorded in the variable quarterTicker2
quarterTicker2
باہر[10]:
وقت: 1569456010000،
[11] میں:
spotTicker2 = exchanges[1].GetTicker() # Get the current ticker of the spot exchange, recorded in the variable spotTicker2
spotTicker2
آؤٹ [11]:
وقت: 1569456114600،
میں [12]:
quarterTicker2.Sell - spotTicker2.Buy # The price difference between closing a short futures position and closing a long spot position.
آؤٹ [1]: 52.5000200100003
[13] میں:
exchanges[0].SetDirection("closesell") # Set the current trading direction of the futures exchange to close short positions.
quarterId2 = exchanges[0].Buy(quarterTicker2.Sell, 10) # The futures exchange places an order to close a position and records the order ID to the variable quarterId2.
exchanges[0].GetOrder(quarterId2) # Check futures close out order details
آؤٹ [1]:
2،
[14] میں:
spotId2 = exchanges[1].Sell(spotTicker2.Buy, spotAmount) # The spot exchange places an order to close a position and records the order ID, which is recorded to the variable spotId2.
exchanges[1].GetOrder(spotId2) # Check spot close out order details
باہر[14]:
{
[15] میں:
nowQuarterAcc = exchanges[0].GetAccount() # Get the current futures exchange account information, recorded in the variable nowQuarterAcc.
nowQuarterAcc
باہر[15]:
{
[16] میں:
nowSpotAcc = exchanges[1].GetAccount() # Get the current spot exchange account information, recorded in the variable nowSpotAcc.
nowSpotAcc
باہر[16]:
{
ابتدائی اکاؤنٹ کو کرنٹ اکاؤنٹ سے موازنہ کرکے ہیجنگ آپریشن کے منافع اور نقصان کا حساب لگایا جاتا ہے۔
[17] میں:
diffStocks = abs(nowQuarterAcc.Stocks - initQuarterAcc.Stocks)
diffBalance = nowSpotAcc.Balance - initSpotAcc.Balance
if nowQuarterAcc.Stocks - initQuarterAcc.Stocks > 0 :
print("profits:", diffStocks * spotTicker2.Buy + diffBalance)
else :
print("profits:", diffBalance - diffStocks * spotTicker2.Buy)
باہر [1]: منافع: 18.72350977580652
اب آئیے دیکھتے ہیں کہ ہیجنگ منافع بخش کیوں ہے۔ ہم چارٹ کو ڈرا ہوا دیکھ سکتے ہیں۔ فیوچر کی قیمت نیلی لائن ہے اور اسپاٹ کی قیمت نارنجی لائن ہے۔ دونوں قیمتیں کم ہورہی ہیں۔ فیوچر کی قیمت اسپاٹ کی قیمت سے زیادہ تیزی سے کم ہورہی ہے۔
[18] میں:
xQuarter = [1, 2]
yQuarter = [quarterTicker1.Buy, quarterTicker2.Sell]
xSpot = [1, 2]
ySpot = [spotTicker1.Sell, spotTicker2.Buy]
plt.plot(xQuarter, yQuarter, linewidth=5)
plt.plot(xSpot, ySpot, linewidth=5)
plt.show()
باہر [1]:
آئیے قیمت کے فرق کی تبدیلی پر ایک نظر ڈالتے ہیں۔ قیمت کا فرق ہیجنگ اوپننگ پوزیشن کے وقت 284 (یعنی فیوچر شارٹ ، اور اسپاٹ لانگ) سے لے کر پوزیشن بند کرنے کے وقت 52 (فیوچر شارٹ پوزیشن بند ، اسپاٹ لانگ پوزیشن بند) تک ہے۔ قیمت کا فرق بڑے سے چھوٹے تک ہے۔
[19] میں:
xDiff = [1, 2]
yDiff = [quarterTicker1.Buy - spotTicker1.Sell, quarterTicker2.Sell - spotTicker2.Buy]
plt.plot(xDiff, yDiff, linewidth=5)
plt.show()
باہر [1]:
مثال کے طور پر، a1 وقت 1 پر فیوچر کی قیمت ہے، اور b1 وقت 1 پر اسپاٹ کی قیمت ہے۔ A2 وقت 2 پر فیوچر کی قیمت ہے، اور b2 وقت 2 پر اسپاٹ کی قیمت ہے۔جب تک کہ وقت 1 (a1-b1) میں فیوچر اسپاٹ قیمت کا فرق وقت 2 (a2-b2) میں فیوچر اسپاٹ قیمت کا فرق سے بڑا ہو ، a1 - a2> b1 - b2 متعارف کرایا جاسکتا ہے۔ تین صورتیں ہیں: (فیوچر اور اسپاٹ پوزیشنوں کی مقدار ایک جیسی ہے)
a1 - a2 0 سے بڑا ہے، b1 - b2 0 سے بڑا ہے a1 - a2 فیوچر منافع کی قیمت کے فرق سے مراد ہے ، اور b1 - b2 اسپاٹ نقصانات کی قیمت کے فرق سے مراد ہے (کیونکہ اسپاٹ لمبا ہوگیا ، پوزیشن کو بند کرنے کے لئے خریدنے کی قیمت فروخت کی قیمت سے زیادہ ہے ، لہذا پیسہ ضائع ہوجاتا ہے) ، لیکن فیوچر منافع اسپاٹ نقصانات سے زیادہ ہے۔ لہذا یہ مجموعی طور پر منافع بخش ہے۔ یہ صورتحال مرحلہ میں گراف سے مطابقت رکھتی ہے۔ [8].
a1 - a2 0 سے بڑا ہے، b1 - b2 0 سے کم ہے a1 - a2 فیوچر منافع کی قیمت کا فرق ہے، اور b1 - b2 اسپاٹ منافع کی قیمت کا فرق ہے (b1 - b2 0 سے کم ہے، جس سے یہ ظاہر ہوتا ہے کہ b2 b1 سے بڑا ہے، یعنی افتتاحی پوزیشن اور خریدنے کی قیمت کم ہے، اور فروخت اور بند ہونے کی قیمت زیادہ ہے، لہذا یہ منافع بخش ہے).
a1 - a2 0 سے کم، b1 - b2 0 سے کم a1 - a2 فیوچر نقصانات کی قیمت کا فرق ہے ، اور b1 - b2 اسپاٹ منافع کی قیمت کا فرق ہے۔ چونکہ a1 - a2 > b1 - b2 ، a1 - a2 کی مطلق قیمت b1 - b2 کی مطلق قیمت سے کم ہے ، اور اسپاٹ منافع فیوچر نقصانات سے زیادہ ہے۔ یہ مجموعی طور پر منافع بخش ہے۔
ایسی کوئی صورت نہیں ہے جہاں a1 - a2 0 سے کم ہو اور b1 - b2 0 سے زیادہ ہو ، کیونکہ a1 - a2 > b1 - b2 کی وضاحت کی گئی ہے۔ اسی طرح ، اگر a1 - a2 0 کے برابر ہے ، کیونکہ a1 - a2 > b1 - b2 کی وضاحت کی گئی ہے ، b1 - b2 0 سے کم ہونا ضروری ہے۔ لہذا ، جب تک مختصر فیوچر اور لانگ اسپاٹ کے ہیجنگ کا طریقہ a1 - b1 > a2 - b2 کی شرائط کو پورا کرتا ہے ، تب تک پوزیشن کھولنے اور بند کرنے کی کارروائیوں کو منافع ہیجنگ کہا جاتا ہے۔
مثال کے طور پر، مندرجہ ذیل ماڈل ایک کیس ہے:
[20] میں:
a1 = 10
b1 = 5
a2 = 11
b2 = 9
# a1 - b1 > a2 - b2 launches: a1 - a2 > b1 - b2
xA = [1, 2]
yA = [a1, a2]
xB = [1, 2]
yB = [b1, b2]
plt.plot(xA, yA, linewidth=5)
plt.plot(xB, yB, linewidth=5)
plt.show()
باہر[20]:
ریسرچ ماحولیات نہ صرف پائتھون، بلکہ جاوا اسکرپٹ کی حمایت کرتا ہے میں جاوا اسکرپٹ ریسرچ ماحول کا ایک مثال بھی دیتا ہوں:
فیوچر اسپاٹ ہیجنگ کے اصول کا تجزیہ (جاوا اسکرپٹ).ipynb میں [1]:
// Import the required package, click "Save settings" on the FMZ's "Strategy editing page" to get the string configuration and convert it to an object.
var fmz = require("fmz") // Import the talib, TA, and plot libraries automatically after import
var task = fmz.VCtx({
start: '2019-09-19 00:00:00',
end: '2019-09-28 12:00:00',
period: '15m',
exchanges: [{"eid":"Futures_OKCoin","currency":"BTC_USD","stocks":1},{"eid":"OKX","currency":"BTC_USDT","balance":10000,"stocks":0}]
})
[2] میں:
exchanges[0].SetContractType("quarter") // The first exchange object OKX Futures (eid: Futures_OKCoin) calls the function to set the current contract as a quarterly contract.
var initQuarterAcc = exchanges[0].GetAccount() // The initial account information of OKX Futures Exchange is recorded in the variable initQuarterAcc.
initQuarterAcc
باہر[2]: { توازن: 0، منجمد توازن: 0، اسٹاک: 1، منجمد اسٹاک: 0 }
میں [3]:
var initSpotAcc = exchanges[1].GetAccount() // The initial account information of the OKX Spot Exchange is recorded in the variable initSpotAcc.
initSpotAcc
آؤٹ [1]: { توازن: 10000، منجمد توازن: 0، اسٹاک: 0، منجمد اسٹاک: 0 }
[4] میں:
var quarterTicker1 = exchanges[0].GetTicker() // Get the futures exchange ticker, recorded in the variable quarterTicker1.
quarterTicker1
آؤٹ [4]: { وقت: 1568851210000، اعلی: 10441.25002، کم: 10441.25. فروخت: 10441.25002، خریدیں: 10441.25, آخری: 10441.25001، جلد: 1772، کھلی دلچسپی: 0 }
میں [5]:
var spotTicker1 = exchanges[1].GetTicker() // Get the spot exchange ticker, recorded in the variable spotTicker1.
spotTicker1
باہر[5]: { وقت: 1568851210000، اعلی: 10156.60000002، کم: 10156.6، فروخت: 10156.60000002، خریدیں: 10156.6، آخری: 10156.60000001، حجم: 7.4443، کھلی دلچسپی: 0 }
[6] میں:
quarterTicker1.Buy - spotTicker1.Sell // The price difference between going short on futures and going long on spot.
باہر[6]: 284.64999997999985 میں [7]:
exchanges[0].SetDirection("sell") // Set up a futures exchange and trade in the direction of going short
var quarterId1 = exchanges[0].Sell(quarterTicker1.Buy, 10) // Go short futures to place orders. The order quantity is 10 contracts. The returned order ID is recorded in the variable quarterId1.
exchanges[0].GetOrder(quarterId1) // Check the details of the order with futures order ID quarterId1.
آؤٹ[7]:
{ شناخت: 1،
قیمت: 10441.25،
رقم: 10،
ڈیل رقم: 10،
اوسط قیمت: 10441.25.
قسم: 1،
آفسیٹ: 0،
حالت: 1،
معاہدہ کی قسم:
[8] میں:
var spotAmount = 10 * 100 / quarterTicker1.Buy // Calculate the currency equivalent of 10 contracts as the order quantity of the spot.
var spotId1 = exchanges[1].Buy(spotTicker1.Sell, spotAmount) // Place orders on the spot exchange.
exchanges[1].GetOrder(spotId1) // Check the order details of the spot order ID of spotId1.
باہر[8]:
{ شناخت: 1،
قیمت: 10156.60000002،
رقم: 0.0957،
ڈیل رقم: 0.0957،
اوسط قیمت: 10156.60000002،
قسم: 0
آفسیٹ: 0
حالت: 1،
ContractType:
آپ دیکھ سکتے ہیں کہ آرڈر کوارٹرId1 اور اسپاٹId1 مکمل طور پر پورا ہوچکے ہیں، یعنی افتتاحی پوزیشنوں کی ہیجنگ مکمل ہوچکی ہے۔
[9] میں:
Sleep(1000 * 60 * 60 * 24 * 7) // Hold the position for a while and wait for the price difference to become smaller to close the position.
انتظار کے وقت کے بعد، پوزیشن کو بند کرنے کے لئے تیار. موجودہ ٹکر حاصل کریںquarterTicker2
, spotTicker2
اور ان کو پرنٹ کریں.
فیوچر ایکسچینج آبجیکٹ کی ٹرانزیکشن سمت مختصر پوزیشن کو بند کرنے کے لئے مقرر کی گئی ہے:exchanges[0].SetDirection("closesell")
پوزیشن بند کرنے کا آرڈر دیں۔
بند ہونے والی پوزیشن کے آرڈر کی تفصیلات پرنٹ کریں، جس سے ظاہر ہوتا ہے کہ بند ہونے والا آرڈر مکمل ہو گیا ہے، بند ہونے والی پوزیشن ختم ہو گئی ہے۔
[10] میں:
var quarterTicker2 = exchanges[0].GetTicker() // Get the current futures exchange ticker, recorded in the variable quarterTicker2.
quarterTicker2
باہر[10]: { وقت: 1569456010000،} اعلی: 8497.20002، کم: 8497.2، فروخت: 8497.20002، خریدیں: 8497.2، آخری: 8497.20001، حجم: 4311، کھلی دلچسپی: 0 }
[11] میں:
var spotTicker2 = exchanges[1].GetTicker() // Get the current ticker of the spot exchange, recorded in the variable spotTicker2.
spotTicker2
آؤٹ [11]: { وقت: 1569456114600، اعلی: 8444.70000001، کم: 8444.69999999، فروخت: 8444.70000001، خریدیں: 8444.69999999، آخری: 8444.7، حجم: 78.6273، کھلی دلچسپی: 0 }
میں [12]:
quarterTicker2.Sell - spotTicker2.Buy // The price difference between closing short position of futures and closing long position of spot.
آؤٹ [1]: 52.5000200100003
[13] میں:
exchanges[0].SetDirection("closesell") // Set the current trading direction of the futures exchange to close short positions.
var quarterId2 = exchanges[0].Buy(quarterTicker2.Sell, 10) // The futures exchange places an order to close the position, and records the order ID to the variable quarterId2.
exchanges[0].GetOrder(quarterId2) // Check futures closing position order details.
آؤٹ [1]:
{ شناخت: 2،
قیمت: 8497.20002،
رقم: 10،
ڈیل رقم: 10،
اوسط قیمت: 8493.95335،
قسم: 0
آفسیٹ: 1،
حالت: 1،
معاہدہ کی قسم:
[14] میں:
var spotId2 = exchanges[1].Sell(spotTicker2.Buy, spotAmount) // The spot exchange places an order to close the position, and records the order ID to the variable spotId2.
exchanges[1].GetOrder(spotId2) // Check spot closing position order details.
باہر [1]:
{ شناخت: 2،
قیمت: 8444.69999999،
رقم: 0.0957،
ڈیل رقم: 0.0957،
اوسط قیمت: 8444.69999999،
قسم: 1،
آفسیٹ: 0
حالت: 1،
ContractType:
[15] میں:
var nowQuarterAcc = exchanges[0].GetAccount() // Get the current futures exchange account information, recorded in the variable nowQuarterAcc.
nowQuarterAcc
باہر[15]: { توازن: 0، منجمد بیلنس: 0، ذخائر: 1.021786026184، FrozenStocks: 0 }
[16] میں:
var nowSpotAcc = exchanges[1].GetAccount() // Get the current spot exchange account information, recorded in the variable nowSpotAcc.
nowSpotAcc
باہر[16]: { بیلنس: 9834.74705446، منجمد بیلنس: 0، ذخائر: 0 منجمد اسٹاک: 0 } ابتدائی اکاؤنٹ کو کرنٹ اکاؤنٹ سے موازنہ کرکے ہیجنگ آپریشن کے منافع اور نقصان کا حساب لگایا جاتا ہے۔
[17] میں:
var diffStocks = Math.abs(nowQuarterAcc.Stocks - initQuarterAcc.Stocks)
var diffBalance = nowSpotAcc.Balance - initSpotAcc.Balance
if (nowQuarterAcc.Stocks - initQuarterAcc.Stocks > 0) {
console.log("profits:", diffStocks * spotTicker2.Buy + diffBalance)
} else {
console.log("profits:", diffBalance - diffStocks * spotTicker2.Buy)
}
باہر [1]: منافع: 18.72350977580652
اب آئیے دیکھتے ہیں کہ ہیجنگ منافع بخش کیوں ہے۔ ہم چارٹ کو ڈرا ہوا دیکھ سکتے ہیں۔ فیوچر کی قیمت نیلی لائن ہے اور اسپاٹ کی قیمت نارنجی لائن ہے۔ دونوں قیمتیں کم ہورہی ہیں۔ فیوچر کی قیمت اسپاٹ کی قیمت سے زیادہ تیزی سے کم ہورہی ہے۔
[18] میں:
var objQuarter = {
"index" : [1, 2], // The index is 1, that is, the first time, the opening time, and 2 is the closing time.
"arrPrice" : [quarterTicker1.Buy, quarterTicker2.Sell],
}
var objSpot = {
"index" : [1, 2],
"arrPrice" : [spotTicker1.Sell, spotTicker2.Buy],
}
plot([{name: 'quarter', x: objQuarter.index, y: objQuarter.arrPrice}, {name: 'spot', x: objSpot.index, y: objSpot.arrPrice}])
باہر [1]: آئیے قیمت کے فرق کی تبدیلی پر ایک نظر ڈالتے ہیں۔ قیمت کا فرق ہیجنگ اوپننگ پوزیشنوں کے وقت 284 (یعنی فیوچر مختصر ہو گئے ، اور اسپاٹ لمبا ہو گیا) سے بند ہونے کے وقت 52 (فیوچر کی مختصر پوزیشن بند ، اور اسپاٹ کی طویل پوزیشن بند) تک ہے۔ قیمت کا فرق بڑے سے چھوٹے تک ہے۔
[19] میں:
var arrDiffPrice = [quarterTicker1.Buy - spotTicker1.Sell, quarterTicker2.Sell - spotTicker2.Buy]
plot(arrDiffPrice)
باہر [1]:مثال کے طور پر، a1 وقت 1 پر فیوچر کی قیمت ہے، اور b1 وقت 1 پر اسپاٹ کی قیمت ہے۔ A2 وقت 2 پر فیوچر کی قیمت ہے، اور b2 وقت 2 پر اسپاٹ کی قیمت ہے۔جب تک کہ وقت 1 (a1-b1) میں فیوچر اسپاٹ قیمت کا فرق وقت 2 (a2-b2) میں فیوچر اسپاٹ قیمت کا فرق سے بڑا ہو ، a1 - a2> b1 - b2 متعارف کرایا جاسکتا ہے۔ تین صورتیں ہیں: (فیوچر اور اسپاٹ پوزیشنوں کی مقدار ایک جیسی ہے)
a1 - a2 0 سے بڑا ہے، b1 - b2 0 سے بڑا ہے a1 - a2 فیوچر منافع کی قیمت کے فرق سے مراد ہے ، اور b1 - b2 اسپاٹ نقصانات کی قیمت کے فرق سے مراد ہے (کیونکہ اسپاٹ لمبا ہوگیا ، پوزیشن کو بند کرنے کے لئے خریدنے کی قیمت فروخت کی قیمت سے زیادہ ہے ، لہذا پیسہ ضائع ہوجاتا ہے) ، لیکن فیوچر منافع اسپاٹ نقصانات سے زیادہ ہے۔ لہذا یہ مجموعی طور پر منافع بخش ہے۔ یہ صورتحال مرحلہ میں گراف سے مطابقت رکھتی ہے۔ [8].
a1 - a2 0 سے بڑا ہے، b1 - b2 0 سے کم ہے a1 - a2 فیوچر منافع کی قیمت کا فرق ہے، اور b1 - b2 اسپاٹ منافع کی قیمت کا فرق ہے (b1 - b2 0 سے کم ہے، جس سے یہ ظاہر ہوتا ہے کہ b2 b1 سے بڑا ہے، یعنی افتتاحی پوزیشن اور خریدنے کی قیمت کم ہے، اور فروخت اور بند ہونے کی قیمت زیادہ ہے، لہذا یہ منافع بخش ہے).
a1 - a2 0 سے کم، b1 - b2 0 سے کم a1 - a2 فیوچر نقصانات کی قیمت کا فرق ہے ، اور b1 - b2 اسپاٹ منافع کی قیمت کا فرق ہے۔ چونکہ a1 - a2 > b1 - b2 ، a1 - a2 کی مطلق قیمت b1 - b2 کی مطلق قیمت سے کم ہے ، اور اسپاٹ منافع فیوچر نقصانات سے زیادہ ہے۔ یہ مجموعی طور پر منافع بخش ہے۔
ایسی کوئی صورت نہیں ہے جہاں a1 - a2 0 سے کم ہو اور b1 - b2 0 سے زیادہ ہو ، کیونکہ a1 - a2 > b1 - b2 کی وضاحت کی گئی ہے۔ اسی طرح ، اگر a1 - a2 0 کے برابر ہے ، کیونکہ a1 - a2 > b1 - b2 کی وضاحت کی گئی ہے ، b1 - b2 0 سے کم ہونا ضروری ہے۔ لہذا ، جب تک مختصر فیوچر اور لانگ اسپاٹ کے ہیجنگ کا طریقہ a1 - b1 > a2 - b2 کی شرائط کو پورا کرتا ہے ، تب تک پوزیشن کھولنے اور بند کرنے کی کارروائیوں کو منافع ہیجنگ کہا جاتا ہے۔
مثال کے طور پر، مندرجہ ذیل ماڈل ایک کیس ہے:
[20] میں:
var a1 = 10
var b1 = 5
var a2 = 11
var b2 = 9
// a1 - b1 > a2 - b2 launches: a1 - a2 > b1 - b2
var objA = {
"index" : [1, 2],
"arrPrice" : [a1, a2],
}
var objB = {
"index" : [1, 2],
"arrPrice" : [b1, b2],
}
plot([{name : "a", x : objA.index, y : objA.arrPrice}, {name : "b", x : objB.index, y : objB.arrPrice}])
باہر[20]:
اسے آزمائیں، لوگ!