ক্রিপ্টো কোয়ান্ট: Binance এবং ব্যাকট্রেডার ব্যবহার করে BTC-এর প্রোগ্রাম্যাটিক ট্রেডিং — 2 PlatoBlockchain ডেটা ইন্টেলিজেন্সের পার্ট 3। উল্লম্ব অনুসন্ধান. আ.

ক্রিপ্টো কোয়ান্ট: বিনান্স এবং ব্যাকট্রেডার ব্যবহার করে BTC-এর প্রোগ্রাম্যাটিক ট্রেডিং — 2-এর 3 অংশ


ক্রিপ্টো কোয়ান্ট: Binance এবং ব্যাকট্রেডার ব্যবহার করে BTC-এর প্রোগ্রাম্যাটিক ট্রেডিং — 2 PlatoBlockchain ডেটা ইন্টেলিজেন্সের পার্ট 3। উল্লম্ব অনুসন্ধান. আ.

এই অংশে wই ইনস্টল করতে চান ব্যাকট্রেডার এবং Binance ডেটার বিরুদ্ধে কিছু ট্রেডিং মডেলের ব্যাকটেস্ট করুন যা আমরা পূর্ববর্তী বিভাগে সংগ্রহ করেছি।

ব্যাকট্রেডার এবং এর সেটআপের উপর অসংখ্য নিবন্ধ এবং ভিডিও রয়েছে। এই জনপ্রিয় পাইথন লাইব্রেরিটি ঐতিহাসিক ডেটার সাথে ব্যাকটেস্টিং ট্রেডিং কৌশলগুলির কোয়ান্টের কাজকে সহজতর করে, অসাধারণ প্রশ্নের উত্তর দেয় "প্রদত্ত ক্রয়/বিক্রয় কৌশলগুলি ব্যবহার করে ব্যবসা করা কতটা লাভজনক হত". এটি প্রথমে গাণিতিক রসায়নের মতো মনে হয় তবে একজনকে মনে রাখতে হবে যে ঐতিহাসিক তথ্য, ভাল, ঐতিহাসিক! একটি ট্রেডিং কৌশল যা গতকাল কাজ করেছিল আজ কাজ করার সম্ভাবনা নেই… তবে আমরা শীঘ্রই এটিতে ফিরে যাব।

ব্যাকট্রেডার ('বিটি') ইনস্টলেশন নির্দেশাবলী এখানে. দ্রষ্টব্য: 3.2.0 এর উপরে mapplotlib সংস্করণগুলির সাথে পরিচিত সমস্যা রয়েছে তাই সে সম্পর্কে সতর্ক থাকুন।

কুইকস্টার্ট গাইড একটি সার্থক পড়া, এটি খুঁজুন এখানে.

আরএসআই

আমরা এখানে ব্যাকট্রেডারের সাথে যা চেষ্টা করব তা হল ব্যাকটেস্টিং আরএসআই (আপেক্ষিক শক্তি নির্দেশক) ঐতিহাসিক ক্রিপ্টো ডেটার উপর ট্রেডিং কৌশল (BTC এর জন্য) বছরের শুরু থেকে।

RSI ভরবেগ নির্দেশক ব্যাখ্যা করা হয় এখানে. এটি একটি প্রদত্ত ট্রেডিং সম্পদের জন্য আপেক্ষিক ওভারবিক্রীত এবং অতিরিক্ত কেনা শর্ত এবং 'পিরিয়ড'-এর একটি পরামিতি পরিমাপ করে যা পিছনের দিকে # টিক্স (ট্রেডিং ব্যবধান)।

পিরিয়ড প্যারামিটার ডিফল্ট 14, তাই যদি ব্যবধান মিনিট হয় তাহলে সূত্রটিতে ডেটার 14টি ব্যবধান টিক অন্তর্ভুক্ত থাকবে। আমরা পরবর্তীতে যেমন অন্বেষণ করব, প্রতিটি প্রযুক্তিগত নির্দেশকের পরামিতি রয়েছে যা আমাদের বাজারের অবস্থার সাথে 'টিউনিং' করার উপায়; এই পরামিতিগুলি একটি কৌশলের মধ্যে যে কোনও প্রদত্ত সূচকের লাভের উপর একটি বিশাল প্রভাব ফেলে।

Backtest.py

আমাদের ব্যাকটেস্ট সেটআপ: backtest.py ভাগ করা হয় এখানে. এটি আমাদের ব্যাকটেস্ট রানের জন্য ব্যাকটেস্ট কাঠামো প্রদান করবে, পরবর্তীতে সংজ্ঞায়িত করা হবে। এটি একটি মোটামুটি আদর্শ 'বিটি' সেটআপ। আসুন এই কোডের কিছু পর্যালোচনা করি, মনে রাখবেন যে পাইথন ব্যাকটেস্ট থেকে শেখার জন্য অনলাইনে প্রচুর উদাহরণ এবং ভিডিও টিউটোরিয়াল রয়েছে.

এখানে শ্রেণী সংজ্ঞায় আমরা আমাদের RSI কৌশলের জন্য পরামিতি স্থাপন করি।

  • ভার্বোস: যদি আমরা ব্যাকটেস্টের সময় লগ ডেটা আউটপুট করতে চাই
  • ম্যাপেরিওড: মুভিং এভারেজ পিরিয়ড, বিবেচনা করার জন্য # টিক্স
  • পরিমাণ: ক্রয়/বিক্রয় করার জন্য শেয়ারের #টি
  • উচ্চতর: অতিরিক্ত কেনার জন্য নির্দেশকের উপরের প্রান্তিক
  • নিম্ন: বেশি বিক্রির জন্য সূচকের নিম্ন প্রান্তিক
  • স্টপ লস: বিক্রির জন্য স্টপ লস সেটিং

সার্জারির পরবর্তী() ব্যাকট্রেডার স্ট্র্যাটেজি ক্লাসে ফাংশন যা ডেটার প্রতিটি ব্যবধানে 'টিক' করার পরে হয়। এখানে ডাটা অনুযায়ী buy() অথবা sell() আছে, এই ক্ষেত্রে RSI সূচক এবং আমাদের থ্রেশহোল্ড।

এখানে আমরা সংজ্ঞায়িত করি রানব্যাকটেস্ট() ফাংশন যা আমাদের কোড দ্বারা কল করা হবে। উপরোক্ত RSI কৌশল ফাংশন যোগ করা হয় মস্তিষ্ক উদাহরণ হিসেবে বলা যায়।

সব মোটামুটি মান ব্যাকট্রেডার স্টাফ. আমাদের ডেটার বিপরীতে এটি কীভাবে চালানো যায় তা দেখা যাক।

আমাদের ডেটা ব্যাকটেস্টিং

1 জানুয়ারী থেকে 2 জানুয়ারী 2021 এর জন্য ডেটা (শেষ বিভাগের পদক্ষেপগুলি ব্যবহার করে) পেতে ভুলবেন না, এটি একটি ফাইলে থাকবে: BTCUSDT-20210101–20210102–1m.csv 1440 CSV লাইন সহ, দিনের প্রতিটি মিনিটের জন্য একটি।

এখানে বিটকয়েনের (BTC) জন্য এই এক দিনের মূল্যের মিনিট-মিনিট ট্রেডিং দিনের জন্য কোড এবং আউটপুট:

ঘনিষ্ঠভাবে তাকান:

পরামিতিগুলি সহজ, আমরা 12 টি টিক, স্টপ-লস এবং অতিরিক্ত কেনা এবং বেশি বিক্রি হওয়া ট্রিগারগুলির জন্য 70,30 এর ডিফল্ট সীমা সহ RSI সূচক ব্যবহার করে ট্রেডিংয়ের একদিন বিশ্লেষণ করতে চাই।

মান RSI সূচক কৌশল সহ 1 জানুয়ারী bt ফলাফল

আউটপুটের শেষ লাইনটি এই ব্যাকটেস্টের ফলাফলগুলিকে সংক্ষিপ্ত করে:

/BTCUSDT-20210101-20210102-1m.csv, RSI (Pd 12) (SL 0.0%) (U70 L30) Net $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 সূত্র:

SquareRoot(NumberTrades) * গড়(TradesProfit) / StdDev(TradesProfit)

সাধারণত আমরা পরিসংখ্যানগতভাবে তাৎপর্যপূর্ণ হওয়ার জন্য এই মেট্রিকের জন্য কমপক্ষে 30টি ট্রেডের উপর জোর দিই কিন্তু আমরা আপাতত এটিকে উপেক্ষা করব কারণ আমরা অল্প সময়ের সাথে আমাদের ব্যাকটেস্ট পরীক্ষা করছি।

আপনি প্লটের অংশগুলি জুম করতে পারেন, উদাহরণস্বরূপ:

এখানে RSI এর মান 30 এর নিচে নেমে যাওয়ায় আমরা একটি বাই সিগন্যাল (সবুজ তীর) দেখতে পাচ্ছি এবং তারপর RSI 70-এর উপরে পৌঁছালে একটি লাভজনক বিক্রির সংকেত এবং লাভের চিহ্ন (নীল বৃত্ত)। ডান-নিম্ন কোণে RSI-এর মান দেখুন। .

777.78টি বিজয়ী ট্রেড এবং 18টি হেরে যাওয়া ট্রেডের সাথে $7 এর লাভ (এক দিনে) বেশ ভাল, বিশেষ করে তুলনামূলকভাবে অগভীর কর্মের (+1.42%) ট্রেডিং দিনের জন্য। উচ্চ ভলিউম সহ একটি বুলিশ দিনে আমরা কী অর্জন করতে পারি তা কল্পনা করুন!

মডেল পরামিতি

আপনি বিভিন্ন দিনের জন্য রান get_data পাবেন এবং আলাদাভাবে বিশ্লেষণ করুন। লক্ষ্য করুন কিভাবে বিভিন্ন RSI পরামিতি একদিন থেকে পরের দিন পর্যন্ত লাভের উপর প্রভাব ফেলে।

ক্ষেত্রে, বিটিসি ট্রেডিংয়ের একই দিনে কিন্তু 20-এর পরিবর্তে 12-এর RSI পিরিয়ড সহ, 2/3-এর জয়-পরাজয় এবং একটি নিট মুনাফা -$21.51 (ট্রেডিং ফি সহ)। গত ব্যাকটেস্ট থেকে এটাই বড় পার্থক্য!

এছাড়াও আপনি বিভিন্ন RSI সীমা (ডিফল্ট 70/30 ব্যতীত) এবং স্টপ-লস প্যারামিটার নিয়ে পরীক্ষা করতে পারেন। স্টপ-লস হল একটি স্বয়ংক্রিয় বিক্রির আদেশ যখন একবার মূল্য নির্বাহিত ক্রয় আদেশের সাপেক্ষে কিছু স্তরের নিচে চলে যায়। নামটি বোঝায়, এটি অস্থিরতার অবস্থানে যাওয়ার পরে "ক্ষতি বন্ধ করতে" পরিবেশন করতে পারে।

স্টপ লস

আমরা এখানে যেভাবে স্টপ-লস সেটআপ করেছি তা নিম্নরূপ:

  • 0 : কোনো স্টপ-লস সেটআপ নেই, একটি বিক্রয় আদেশ ট্রিগার করার জন্য নির্দেশকের জন্য অপেক্ষা করুন
  • 0.00x : ক্রয় মূল্যের নিচে % মূল্যে স্টপ-লস, 0.001 হল 0.1% এর নিচে
  • -0.0x : ট্রেইলিং স্টপ-লস ট্রেডকে অনুসরণ করবে যখন দাম বাড়বে, 0.01 হল ক্রয় মূল্যের 1% নীচে একটি ট্রেলিং স্টপ-লস

এই স্টপ-লস প্রতিটি ট্রেডের জন্য একটি গুরুত্বপূর্ণ প্যারামিটার এবং কার্যক্ষমতার উপর আশ্চর্যজনকভাবে একটি উল্লেখযোগ্য আমদানি হতে পারে। স্টপ-লস কৌশল সম্পর্কে আরও জানতে দেখুন এখানে.

এখানে আমাদের backtest.py-এ যেখানে আমরা ব্যাকট্রেডার ব্যবহার করে এটি সেট করেছি:

এখানেও একই রান যা আমরা এইমাত্র বিশ্লেষণ করেছি কিন্তু 0.1% ট্রেলিং স্টপ-লস সহ

383.67টি জয় এবং 12টি লোকসান সহ $12 এর নিট লাভ, আমাদের আগের ক্ষতির চেয়ে অনেক ভাল৷ আপনি প্লটে দেখতে পাচ্ছেন যে ট্রেলিং স্টপ-লস অনেকগুলি ট্রেডকে লোকসানের হাত থেকে রক্ষা করেছে কারণ সূচকটি বিক্রয় (অতি কেনা) সংকেতের জন্য অপেক্ষা করছে।

একটি একক সূচকের মধ্যে, এই সেটআপে, আমাদের কাছে অনেকগুলি সম্ভাব্য স্থানান্তর রয়েছে:

  • 10 থেকে 30 ব্যবধানের মধ্যে একটি সময়সীমা (20 রূপান্তর)
  • একটি স্টপ-লস সেটিং (আসুন 5টি ভিন্ন ব্যবহারিক রূপ কল্পনা করা যাক)
  • অতিরিক্ত কেনা/অতি বিক্রির জন্য একটি থ্রেশহোল্ড (আসুন এখনকার জন্য 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

সময় স্ট্যাম্প:

থেকে আরো মধ্যম