کریپٹو کوانٹ: بائننس اور بیک ٹریڈر کا استعمال کرتے ہوئے BTC کی پروگرامیٹک ٹریڈنگ — 2 PlatoBlockchain ڈیٹا انٹیلی جنس کا حصہ 3۔ عمودی تلاش۔ عی

کریپٹو کوانٹ: بائننس اور بیک ٹریڈر کا استعمال کرتے ہوئے بی ٹی سی کی پروگرامیٹک ٹریڈنگ — 2 کا حصہ 3


کریپٹو کوانٹ: بائننس اور بیک ٹریڈر کا استعمال کرتے ہوئے BTC کی پروگرامیٹک ٹریڈنگ — 2 PlatoBlockchain ڈیٹا انٹیلی جنس کا حصہ 3۔ عمودی تلاش۔ عی

اس حصے میں wای انسٹال کرنا چاہتے ہیں۔ بیک ٹریڈر اور بائننس ڈیٹا کے خلاف کچھ ٹریڈنگ ماڈلز کا بیک ٹیسٹ کریں جو ہم نے پچھلے حصے میں جمع کیا تھا۔

Backtrader اور اس کے سیٹ اپ پر بے شمار مضامین اور ویڈیوز موجود ہیں۔ یہ مشہور Python لائبریری تاریخی اعداد و شمار کے ساتھ تجارتی حکمت عملیوں کو بیک ٹیسٹ کرنے کے کوانٹ کام کی سہولت فراہم کرتی ہے، جو کہ اہم سوال کا جواب دیتی ہے۔ "دی گئی خریدو فروخت کی حکمت عملیوں کو استعمال کرتے ہوئے تجارت کرنا کتنا منافع بخش ہوتا". یہ سب سے پہلے ریاضیاتی کیمیا کی طرح محسوس ہوتا ہے لیکن کسی کو یاد رکھنا ہوگا کہ تاریخی ڈیٹا، ٹھیک ہے، تاریخی ہے! ایک تجارتی حکمت عملی جس نے کل کام کیا تھا آج کام کرنے کا امکان نہیں ہے… لیکن ہم جلد ہی اس پر واپس آجائیں گے۔

Backtrader ('bt') کی تنصیب کی ہدایات ہیں۔ یہاں. نوٹ: 3.2.0 سے اوپر کے mapplotlib ورژن کے ساتھ معلوم مسائل ہیں لہذا اس سے ہوشیار رہیں۔

کوئیک سٹارٹ گائیڈ ایک قابل مطالعہ ہے، اسے تلاش کریں۔ یہاں.

RSI کے ساتھ

ہم یہاں Backtrader کے ساتھ جس چیز کی کوشش کریں گے وہ بیک ٹیسٹنگ ہے۔ RSI کے ساتھ (رشتہ دار طاقت کا اشارہ) تاریخی کرپٹو ڈیٹا پر تجارتی حکمت عملی (BTC کے لیے) سال کے شروع سے۔

RSI رفتار اشارے کی وضاحت کی گئی ہے۔ یہاں. یہ دیے گئے تجارتی اثاثے اور 'پیریڈ' کے پیرامیٹر کے لیے نسبتاً زیادہ فروخت شدہ اور زیادہ خریدی جانے والی شرائط کی پیمائش کرتا ہے جو کہ پیچھے کی طرف ٹککس (تجارتی وقفوں) کا # ہے۔

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

Backtest.py

ہمارا بیک ٹیسٹ سیٹ اپ: backtest.py مشترکہ ہے یہاں. یہ ہمارے بیک ٹیسٹ رن کے لیے بیکٹیسٹ ڈھانچہ فراہم کرے گا، جس کی اگلی وضاحت کی جائے گی۔ یہ کافی معیاری 'bt' سیٹ اپ ہے۔ آئیے اس کوڈ میں سے کچھ کا جائزہ لیں، نوٹ کریں کہ Python backtest پر بہت ساری مثالیں اور ویڈیو ٹیوٹوریلز موجود ہیں جن سے سیکھنا ہے۔.

یہاں کلاس کی تعریف میں ہم اپنی RSI حکمت عملی کے لیے پیرامیٹرز قائم کرتے ہیں۔

  • لفظی: اگر ہم بیک ٹیسٹ کے دوران لاگ ڈیٹا آؤٹ پٹ کرنا چاہتے ہیں۔
  • نقشہ سازی: موونگ ایوریج پیریڈ، غور کرنے کے لیے ٹک کا #
  • مقدار: خریدنے/بیچنے کے لیے شیئرز کا #
  • اپر: ضرورت سے زیادہ خریداری کے اشارے کی اوپری حد
  • کم: زیادہ فروخت کے لیے اشارے کی نچلی حد
  • نقصان کو روکیں: فروخت کے لیے سٹاپ نقصان کی ترتیب

۔ اگلے() بیک ٹریڈر اسٹریٹجی کلاس میں فنکشن وہی ہوتا ہے جو ڈیٹا کے ہر وقفہ 'ٹک' کے بعد ہوتا ہے۔ یہاں ڈیٹا کے مطابق خرید () یا فروخت () ہے، اس معاملے میں RSI اشارے اور ہماری حد۔

یہاں ہم وضاحت کرتے ہیں۔ رن بیک ٹیسٹ() فنکشن جسے ہمارے کوڈ کے ذریعہ بلایا جائے گا۔ مذکورہ بالا RSI حکمت عملی فنکشن میں شامل کیا گیا ہے۔ دماغ مثال.

تمام کافی معیاری بیک ٹریڈر چیزیں۔ آئیے دیکھتے ہیں کہ اسے اپنے ڈیٹا کے خلاف کیسے چلایا جائے۔

ہمارے ڈیٹا کی بیک ٹیسٹنگ

1 جنوری سے 2 جنوری 2021 تک ڈیٹا (آخری سیکشن کے مراحل کا استعمال کرتے ہوئے) حاصل کرنا یقینی بنائیں، یہ نام کی فائل میں ہوگا: BTCUSDT-20210101–20210102–1m.csv 1440 CSV لائنوں کے ساتھ، دن کے ہر ایک منٹ کے لیے ایک۔

یہاں بٹ کوائن (BTC) کے لیے اس ایک دن کے منٹ بہ منٹ تجارتی دن کا کوڈ اور آؤٹ پٹ ہے:

قریب سے جائزہ لینا:

پیرامیٹرز آسان ہیں، ہم RSI اشارے کا استعمال کرتے ہوئے ٹریڈنگ کے ایک دن کا تجزیہ کرنا چاہتے ہیں، 12 ٹک کی مدت کے ساتھ، کوئی سٹاپ نقصان نہیں اور زیادہ خریدے اور زیادہ فروخت ہونے والے محرکات کے لیے 70,30 کی طے شدہ حد۔

معیاری RSI اشارے کی حکمت عملی کے ساتھ جنوری 1 bt نتائج

آؤٹ پٹ کی آخری لائن اس بیک ٹیسٹ کے نتائج کا خلاصہ کرتی ہے:

/BTCUSDT-20210101-20210102-1m.csv, RSI (Pd 12) (SL 0.0%) (U70 L30) نیٹ $777.78 (0.78%) WL 18/7 SQN 1.76

RSI پیریڈ 12، 0 (نہیں) سٹاپ لاس، (اوپر) 70 کی اوپری حد (L) 30 کی اوور حد777.78 جیتنے والی تجارتوں اور 18 ہارنے والی تجارتوں کے ساتھ $7 کا خالص منافع (ایک دن میں)۔

آخری اعداد و شمار ہے ایس کیو این، ایک 'سسٹم کوالٹی نمبر' (SQN) جو ٹریڈرز کو تجارتی نظام کی طاقت، مطلوبہ، معیار کا تعین کرنے میں مدد کرنے کے لیے ڈیزائن کیا گیا ہے۔ ایک اچھے معیار کی حکمت عملی کو ایک ایسی حکمت عملی کے طور پر دیکھا جاتا ہے جو قابل تجارت اور کارآمد ہو۔*

درج ذیل SQN قدریں درج ذیل "معیارات" کی تجویز کرتی ہیں:

  • 1.6–1.9 اوسط سے کم
  • اوسطا– 2.0-2.4
  • 2.5–2.9 اچھا
  • 3.0–5.0 بہترین
  • 5.1–6.9 شاندار
  • 7.0 — ہولی گریل

SQN فارمولا:

اسکوائر روٹ(نمبر ٹریڈز) * اوسط(ٹریڈس پرافٹ) / StdDev(TradesProfit)

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

آپ پلاٹ کے حصوں کو زوم کر سکتے ہیں، مثال کے طور پر:

یہاں ہم RSI کی قدر 30 سے ​​نیچے گرنے پر ایک خرید سگنل (سبز اوپر تیر) دیکھتے ہیں اور پھر RSI کے 70 سے اوپر پہنچنے پر منافع بخش فروخت کا سگنل اور منافع کا نشان (نیلا دائرہ)۔ ​​RSI کی قدریں دائیں نیچے کونے میں دیکھیں۔ .

777.78 جیتنے والی تجارتوں اور 18 ہارنے والی تجارتوں کے ساتھ $7 کا منافع (ایک دن میں) کافی اچھا ہے، خاص طور پر نسبتاً کم کارروائی والے تجارتی دن کے لیے (+1.42%)۔ تصور کریں کہ ہم ایک تیزی والے دن اعلی حجم کے ساتھ کیا حاصل کر سکتے ہیں!

ماڈل پیرامیٹرز

آپ کو مختلف دنوں کے لیے رن get_data ملتا ہے اور ان کا الگ الگ تجزیہ کرتے ہیں۔ غور کریں کہ کس طرح مختلف RSI پیرامیٹرز کا ایک دن سے دوسرے دن تک منافع پر اثر پڑتا ہے۔

مثال کے طور پر، BTC ٹریڈنگ کے اسی دن لیکن RSI کی مدت 20 کے بجائے 12 کے ساتھ، 2/3 کی جیت اور ایک خالص منافع -$21.51 (بشمول تجارتی فیس)۔ آخری بیک ٹیسٹ سے یہ ایک بڑا فرق ہے!

آپ RSI کی مختلف حدود (پہلے سے طے شدہ 70/30 کے علاوہ) اور سٹاپ لوس پیرامیٹرز کے ساتھ بھی تجربہ کر سکتے ہیں۔ سٹاپ لاس ایک خودکار سیل آرڈر ہوتا ہے جب قیمت خریدی آرڈر کی نسبت کسی سطح سے نیچے جاتی ہے۔ جیسا کہ نام سے ظاہر ہوتا ہے، یہ اتار چڑھاؤ میں پوزیشن میں آنے کے بعد "نقصان کو روکنے" کا کام کر سکتا ہے۔

نقصان کو روکیں

جس طرح سے ہم نے یہاں سٹاپ لاس سیٹ اپ کیا ہے وہ یہ ہے:

  • 0 : کوئی اسٹاپ لاس سیٹ اپ نہیں، سیل آرڈر کو متحرک کرنے کے لیے اشارے کا انتظار کریں۔
  • 0.00x : خریداری کی قیمت سے کم قیمت پر سٹاپ لاس، 0.001 0.1% کے نیچے ہے۔
  • 0.0-x : قیمت بڑھنے کے ساتھ ہی ٹریلنگ سٹاپ لاس تجارت کی پیروی کرے گا، 0.01 قیمت خرید سے 1% کم ہے

یہ سٹاپ لاس ہر تجارت کے لیے ایک اہم پیرامیٹر ہے اور کارکردگی کے لحاظ سے اس کی اہم درآمد ہو سکتی ہے، حیرت کی بات نہیں۔ روکنے کے نقصان کی حکمت عملی کے بارے میں مزید کے لئے دیکھیں یہاں.

یہاں ہمارے backtest.py میں ہے جہاں ہم اسے بیک ٹریڈر کا استعمال کرتے ہوئے ترتیب دیتے ہیں:

یہاں وہی رن ہے جیسا کہ ہم نے ابھی تجزیہ کیا ہے لیکن 0.1% ٹریلنگ اسٹاپ لاس کے ساتھ

383.67 جیت اور 12 نقصانات کے ساتھ $12 کا خالص منافع، ہمارے پہلے ہونے والے نقصان سے بہت بہتر ہے۔ آپ پلاٹ میں دیکھ سکتے ہیں کہ ٹریلنگ سٹاپ لاس نے بہت ساری تجارتوں کو خسارے میں جانے سے بچایا کیونکہ اشارے فروخت (زیادہ خرید) سگنل کا انتظار کر رہا ہے۔

ایک ہی اشارے کے اندر، اس سیٹ اپ میں، ہمارے پاس بہت سے مختلف ممکنہ ترتیبیں ہیں:

  • 10 اور 30 ​​وقفوں کے درمیان مدت کی حد (20 مختلف حالتیں)
  • ایک سٹاپ لاس سیٹنگ (آئیے 5 مختلف عملی شکلوں کا تصور کریں)
  • زیادہ خریدی/زیادہ فروخت کی حد

یہ 20x5x5 ہوگا، یا ہر دن کے لیے 500 مختلف تغیرات. ان کو ایک ایک کرکے ہاتھ سے جانچنا مضحکہ خیز ہوگا اور پھر بھی ہم یہ جاننا چاہتے ہیں کہ کون سے پیرامیٹرز سب سے زیادہ منافع بخش اور اعلی ترین تجارتی معیار کے تھے اور کون سے نہیں۔

کوانٹ کیمیا!

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

Source: https://medium.com/@gk_/crypto-quant-programmatic-trading-of-btc-using-binance-and-backtrader-part-2-of-3-d8af44c93e2b?source=rss——-8—————–cryptocurrency

ٹائم اسٹیمپ:

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