NetworkX اور Python PlatoBlockchain ڈیٹا انٹیلی جنس کے ساتھ کرپٹو آربٹریج۔ عمودی تلاش۔ عی

نیٹ ورک ایکس اور ازگر کے ساتھ کرپٹو آربٹریج

ازگر میں ایک کرپٹو آربیٹریج اسکینر بنانے کے لیے Coingecko API سے کرپٹو ڈیٹا کا تجزیہ کرنا

میک کلین مارشل

شریک مصنف اسحاق ریا

کی طرف سے تصویر علینہ گروبینک on Unsplash سے

دنیا بھر کی کرنسیوں کی مارکیٹیں دن میں 24 گھنٹے بانڈ، اسٹاک، یا فیوچرز سے نمایاں طور پر زیادہ والیوم پر تجارت کرتی ہیں۔ منڈیاں. غیر ملکی زرمبادلہ کی منڈیوں میں شرکت کرنے والے خطرات کو ہیج کر رہے ہیں یا کرنسی کی قدروں میں مستقبل میں ہونے والی تبدیلیوں پر قیاس آرائیاں کر رہے ہیں۔

منافع کا ایک اور ذریعہ کرنسی کی قدروں میں قلیل مدتی عدم توازن کا فائدہ اٹھانا ہے۔ بجلی کے تیز رفتار الگورتھم کا استعمال کرتے ہوئے، اعلی تعدد والے تاجر ثالثی کے مواقع کی نشاندہی کرتے ہیں اور تیزی سے تبادلے کی ایک سیریز کو انجام دیتے ہیں جس کے نتیجے میں تھوڑا سا منافع ہوتا ہے۔ اسے دیکھو مضمون مزید گہرائی سے وضاحت اور مثالوں کے لیے کارپوریٹ فنانس انسٹی ٹیوٹ سے۔

کارپوریٹ فنانس انسٹی ٹیوٹ

کرنسی منڈیوں میں زیادہ مسابقت اور تجارتی حجم کی وجہ سے، یہ مواقع قلیل المدت اور منافع کم ہوتے ہیں۔ اگرچہ کرنسی ثالثی کے ذریعے حاصل ہونے والے منافع وقت کے ساتھ ساتھ تجارت کی ایک بڑی تعداد کے ساتھ حاصل ہو سکتے ہیں، اسی طرح کا موقع کریپٹو کرنسی مارکیٹوں میں بھی موجود ہے جو اور بھی زیادہ منافع بخش ہو سکتا ہے۔

چونکہ تجارت کے لیے بہت سے کرپٹو موجود ہیں، اس لیے ثالثی کے مواقع کی جانچ کے لیے بہت سے ممکنہ امتزاج موجود ہیں۔ گراف (نیٹ ورک) ڈیٹا کا ڈھانچہ سکوں کے درمیان مختلف شرح مبادلہ پر نظر رکھنے اور عدم توازن کی صورتوں کی فوری نشاندہی کرنے کے لیے مثالی ہے جس سے ہم فائدہ اٹھا سکتے ہیں۔ گرافس/نیٹ ورکس، اور پائتھون پیکجوں کے ساتھ کام کرنے کے بارے میں مزید معلومات کے لیے، اسے دیکھیں کتاب میں عملی پروگرامرز سیریز.

کرپٹو کرنسیوں کے لیے ایک گراف بنانے کے لیے ہم نیٹ ورک ایکس پیکج کا فائدہ اٹھائیں گے۔ یہ ایک طاقتور ٹول ہے جو ان سکوں کا تجزیہ کرنا آسان بناتا ہے جن میں ہماری دلچسپی ہے اور تجارتی مواقع تلاش کرنا۔ سب سے پہلے، ہم CoinGecko API سے کرپٹو ایکسچینج ریٹ حاصل کریں گے۔ اس کے بعد، ہم گراف کو شروع کریں گے اور ہر ایک سکے کے درمیان تعلقات (متبادل کی شرح) کی وضاحت کریں گے جس میں ہماری دلچسپی ہے۔ آخر میں، ہم ثالثی کے مواقع کی نشاندہی کرنے کے لیے ایک سکے سے دوسرے اور واپس جانے والے تمام راستوں سے گزریں گے۔

اگر آپ کو JSON APIs کا تجربہ ہے۔ سکےگکو API استعمال کرنا نسبتاً آسان ہے۔ کوڈ کے اس ٹکڑوں کے ساتھ، میں نے پانچ مختلف سکوں (Bitcoin، Bitcoin Cash، Ethereum، Litecoin، اور EOS) کے لیے موجودہ شرح مبادلہ نکالا۔

API کال کے لیے URL کچھ اس طرح نظر آئے گا، ان سکوں پر منحصر ہے جن کے لیے آپ ڈیٹا کھینچنا چاہتے ہیں:

https://api.coingecko.com/api/v3/simple/price?ids=bitcoin-cash,ethereum,bitcoin,litecoin,eos&vs_currencies=bch,eth,btc,ltc,eos

Python کے لیے Request اور JSON پیکجز کا استعمال کر کے ہم اس ڈیٹا کو ایک لغت کے طور پر لوڈ کر سکتے ہیں جس میں ہر ایک کرپٹو کی کلیدیں ہیں جنہیں ہم نے اپنی فہرست میں شامل کیا ہے۔ ان کلیدوں میں سے ہر ایک کے ساتھ منسلک قدر ایک اور لغت ہے جس میں اس کرنسی کے جوڑے کے تبادلے کی شرح کے اندراجات ہیں۔ مثال کے طور پر، بٹ کوائن کیش کے لیے ہمیں درج ذیل نتیجہ ملتا ہے:

اس سے پتہ چلتا ہے کہ 0.25 Ethereum یا 0.16 Bitcoin 1 Bitcoin Cash کے ساتھ خریدے جا سکتے ہیں۔ ہر ایک کرپٹو کے لیے ان نتائج کے ساتھ ہم گراف کی وضاحت کرنے کے لیے تیار ہیں۔

ہر سکے گراف میں ایک 'ورٹیکس' کی نمائندگی کرتا ہے اور دو سکوں کے درمیان شرح تبادلہ ایک 'کنارہ' ہے۔ ایک خالی گراف آبجیکٹ شروع کرنے کے بعد، ہم سککوں کے ہر جوڑے کے لیے ٹیپلز کی فہرست اور دونوں سمتوں میں ان کی شرح تبادلہ کی وضاحت کرتے ہیں۔

کناروں کی فہرست کچھ اس طرح نظر آئے گی:

گراف میں کناروں کو شامل کرنے کے ساتھ، ہم ثالثی کے مواقع کو اسکین کرنے کے لیے تیار ہیں۔ itertools پیکج سے امتزاج فنکشن کا استعمال کرتے ہوئے ہم سکے کے تمام ممکنہ جوڑوں کی وضاحت کرتے ہیں۔ پھر، ہم پہلے سکے سے دوسرے تک کے تمام ممکنہ راستوں کی وضاحت کے لیے NetworkX سے all_simple_paths فنکشن استعمال کرتے ہیں۔

مثال کے طور پر، اگر ہم Litecoin اور Bitcoin Cash کو دیکھ رہے ہیں، تو ہم جن سکوں پر غور کر رہے ہیں ان کے پیش نظر بہت سے ممکنہ راستے ہیں۔ ہم صرف Litecoin کے ساتھ Bitcoin Cash خرید سکتے ہیں یا ہم Litecoin کے ساتھ Bitcoin خرید سکتے ہیں اور پھر Bitcoin کیش خریدنے کے لیے Bitcoin کا ​​استعمال کر سکتے ہیں۔

ہم ہر راستے سے گزرتے ہیں اور ہر قدم پر درج ذیل حسابات انجام دیتے ہیں۔ سب سے پہلے، ہم فرض کرتے ہیں کہ ہم ابتدائی سکوں میں سے ایک سے شروع کرتے ہیں۔ ہم اس کو ایک سکے سے دوسرے سکے میں ایکسچینج ریٹ سے اس وقت تک ضرب کرتے ہیں جب تک کہ ہم راستے کے اختتام تک نہ پہنچ جائیں۔

مثال کے طور پر، اگر ہم ایک Bitcoin Cash کے ساتھ شروع کرتے ہیں تو ہم 0.24 Ethereum خرید سکتے ہیں تاکہ ہم 1 x 0.24197529 = 0.24197529 کو ضرب دیں۔ Ethereum سے Bitcoin تک تبادلے کی شرح 0.06 ہے لہذا ہم 0.24197529 x 0.06484324 = 0.0156904618035396 کو ضرب دیتے ہیں۔ یہ قدر Bitcoin Cash اور Bitcoin کے درمیان شرح مبادلہ کے بہت قریب ہے لیکن بالکل یکساں نہیں۔

اس مقام پر، ہم راستے کے الٹ کو چیک کرتے ہیں، یعنی Bitcoin سے Ethereum سے Bitcoin Cash کو 1 x 15.414849 x 4.132739 = 63.705547641411 کو ضرب دے کر۔ ہم راستے کی اپنی حتمی تشخیص کے لیے ان دونوں نتائج کو ایک ساتھ ضرب دیتے ہیں (0.0156904618035396 x 63.705547641411 = 0.9995694619411315)۔ میرے علم کے مطابق، اس قدر کے لیے کوئی متعین اصطلاح نہیں ہے۔ ہم اسے Arbitrage Factor کہہ سکتے ہیں۔

اگر زر مبادلہ کی شرحیں مطابقت پذیر ہوتیں تو ثالثی کا عنصر بالکل ایک ہوتا۔ ایک سے کم قدر یہ بتاتی ہے کہ ہم تبادلے کے سلسلے سے گزرے اور اس سے کم کے ساتھ ختم ہو گئے جس کے ساتھ ہم نے آغاز کیا تھا۔ لہذا، ہم اس قدر کی تلاش میں ہیں کہ ایک سے زیادہ ہو کیونکہ تبادلے کے نتیجے میں منافع ہوگا۔ اگر ہمیں اپنی پچھلی مثال میں ثالثی کا عنصر 1.005 پایا جاتا، تو اس سے یہ ظاہر ہوتا کہ ایک کرپٹو سے دوسرے کرپٹو میں تبادلے کے اس راستے پر چل کر، ہم 0.005 بٹ کوائن کیش (تقریباً $3 کی قیمت) حاصل کر سکتے تھے۔

ثالثی کے مواقع دن بھر مختلف کرپٹو کے لیے آتے اور جاتے رہتے ہیں اور یہ ممکن ہے کہ متعدد سکوں کے لیے تمام امتزاجات کو ایک سے اوپر نمایاں طور پر ثالثی فیکٹر تلاش کیے بغیر چیک کیا جائے۔ تاہم، میں نے 1.01 سے اوپر کے ثالثی عوامل دیکھے ہیں، جو اس بات کی نشاندہی کرتے ہیں کہ سادہ کرپٹو کرنسی ایکسچینجز کے ذریعے لمحوں میں 1% واپسی حاصل کی جا سکتی ہے۔

اوپر بیان کیے گئے تین فنکشنز کو سامنے لاتے ہوئے، ہم ایک کرپٹو آربیٹریج اسکینر بنانے کے قابل ہیں۔

کرنسی آربیٹریج ایک اچھی طرح سے قائم اور کم رسک ٹریڈنگ کا طریقہ ہے، لیکن روایتی کرنسیوں کی مارکیٹ بہت موثر اور مسابقتی ہے۔ cryptocurrencies میں ایک بڑا موقع موجود ہے اور Python کے چند آسان ٹولز حکمت عملی کو آسان بنانے میں مدد کر سکتے ہیں۔ نیٹ ورک ایکس کو گراف بنانے اور ثالثی کے مواقع تلاش کرنے کے لیے استعمال کیا جا سکتا ہے۔

تاہم، اب بھی چیلنجوں پر قابو پانے کے لئے ہیں. سب سے پہلے، کریپٹو کرنسیوں کی تجارت کی فیس بہت زیادہ ہو سکتی ہے۔ اس کا مطلب ہے کہ منافع بخش ہونے کے لیے کرپٹو کے درمیان کوئی بھی عدم توازن اہم ہونا چاہیے۔ ایک ہی وقت میں، حکمت عملی سب سے زیادہ موثر ہو گی اگر خودکار ہو اور وقتاً فوقتاً یا چوبیس گھنٹے چلنے کے لیے مقرر ہو۔ AWS EC2 مثالوں یا Lambda فنکشنز کے ساتھ کرپٹو ٹریڈنگ کی حکمت عملیوں کو نافذ کرنے کے بارے میں مستقبل کے مضامین دیکھیں۔

پر مزید مواد plaineenglish.io

ماخذ: https://python.plainenglish.io/crypto-arbitrage-with-networkx-and-python-638166e5a947?source=rss——-8—————–cryptocurrency

ٹائم اسٹیمپ:

سے زیادہ درمیانہ