পাইথনে মূল্য গতিবিধি বিশ্লেষণ সহ পরিমাণগত ট্রেডিং কৌশল

লেখক:লিডিয়া, সৃষ্টিঃ ২০২৩-০১-১১ ১১ঃ৩৫ঃ৩৬, আপডেটঃ ২০২৩-০৯-২০ ১১ঃ২০ঃ০৬

img

পাইথনে মূল্য গতিবিধি বিশ্লেষণ সহ পরিমাণগত ট্রেডিং কৌশল

দামের গতির ট্রেডিং কৌশলটির ভূমিকা

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

দামের গতি বিশ্লেষণ ঐতিহ্যগত ম্যানুয়াল জল্পনা কল্পনার আদেশে ব্যাপকভাবে ব্যবহৃত হয়েছে, বিশেষ করে দিনের একতরফা প্রবণতা নির্ধারণে। পুরাতন ক্লিশে, পরিস্থিতির সুবিধা কি। পরিস্থিতির সর্বোত্তম পরিমাণকরণ হল দীর্ঘ এবং সংক্ষিপ্ত অবস্থানের পক্ষের মধ্যে শক্তি তুলনা। মূল্য গতি বিশ্লেষণ সেরা সূচকগুলির মধ্যে একটি। এটি একটি ভাল সূচক যা একটি নির্দিষ্ট সময়ের জন্য একটি নির্দিষ্ট সময়সীমার মধ্যে একটি নির্দিষ্ট সময়সীমা নির্ধারণ করতে পারে। এটি একটি ভাল সূচক যা একটি নির্দিষ্ট সময়সীমার মধ্যে একটি নির্দিষ্ট সময়সীমা নির্ধারণ করতে পারে।

এই গবেষণাপত্রটি এই কৌশলটি ব্যবহার করে ডিজিটাল মুদ্রার জন্য একটি স্বয়ংক্রিয় স্পট ট্রেডিং প্রোগ্রাম তৈরি করবে।হুবি.

দামের গতির হিসাবের সূত্র

AR = [N দিনের জন্য সমস্ত (উচ্চ-খোলা) / N দিনের জন্য সমস্ত (খোলা-নিম্ন) এর যোগফল] * 100

এর মধ্যে রয়েছে:

  • N: দৈনিক সময় চক্রের পরিসংখ্যানগত উইন্ডোটি সাধারণত ডিফল্টরূপে 30 দিন, কারণ একটি মাসের কার্যকর ট্রেডিং দিনটি প্রায় 30 দিন (ডিজিটাল মুদ্রা 24/7 লেনদেন, যা সংরক্ষণশীল হতে পারে)

  • উচ্চঃ এক দিনের মধ্যে সর্বোচ্চ মূল্য

  • ওপেনঃ এক দিনের ওপেনিং মূল্য

  • নিম্নঃ এক দিনের মধ্যে সর্বনিম্ন মূল্য

কিভাবে মূল্য গতি ব্যবহার করবেন

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

  • আমরা অনুমান করি যে এই মানটি প্রায় 100। যদি এটি 100 এর বেশি হয় তবে লং পজিশনের শক্তি বাড়তে শুরু করে। যদি এটি 100 এর কম হয় তবে শর্ট পজিশনের শক্তি জমা হতে শুরু করে।
  • যখন এআর মান বৃদ্ধি পায়, তখন এর অর্থ হল যে বাজারটি সক্রিয় এবং জনপ্রিয়, এবং দীর্ঘ অবস্থানগুলি পুরো পথেই উড়ে চলেছে, তবে যদি দামটি খুব বেশি হয় তবে এর অর্থ হল যে দামটি ওভারক্রয়েড অঞ্চলে প্রবেশ করেছে এবং আপনার অবস্থানটি বন্ধ করার সময়টি বেছে নেওয়া উচিত। এআর মানের উচ্চতার জন্য কোনও নির্দিষ্ট মানদণ্ড নেই। সাধারণভাবে, যখন এআর মান প্রায় 120 এ বৃদ্ধি পায়, তখন দামটি পিছনে নেমে যাওয়ার সম্ভাবনা রয়েছে।
  • যখন এআর মান হ্রাস পায়, তখন এটি নির্দেশ করে যে বাজার হ্রাস পাচ্ছে, এবং শর্ট পজিশনটি পূর্ণ গতিতে রয়েছে, যার জন্য লং পজিশনের প্রচেষ্টা প্রয়োজন। যদি এআর মান খুব কম হয়, তবে এটি নির্দেশ করে যে দামটি ওভারসোল্ড অঞ্চলে পড়েছে এবং আপনি দীর্ঘ যাওয়ার সুযোগের জন্য অপেক্ষা করতে পারেন। সাধারণত, যখন এআর মান 50 এর নীচে পড়ে, তখন দাম হ্রাস বন্ধ হয়ে যে কোনও সময় বৃদ্ধি পাবে।

দ্রষ্টব্যঃ উপরের সমস্ত সংখ্যা ডিফল্ট মান এবং সত্য সূত্র নয়। বাস্তব ট্রেডিং প্রক্রিয়ার মধ্যে, বাজারের পরিবর্তনের সাথে সাথে বর্তমান বাজারের অবস্থার সাথে মানিয়ে নিতে আমাদের এই পরিসীমাটি সামঞ্জস্য করা উচিত।

পাইথনে মূল্য গতির জন্য একটি পরিমাণগত ট্রেডিং কৌশল বাস্তবায়ন

স্বাভাবিকের মতই, আমরা খোলাFMZ.COM, আমাদের অ্যাকাউন্টে লগ ইন করুন, ড্যাশবোর্ডে ক্লিক করুন, এবং ডকার এবং রোবট স্থাপন করুন।

দয়া করে আমার আগের নিবন্ধটি দেখুন কিভাবে একটি ডকার এবং রোবট স্থাপন করবেনঃhttps://www.fmz.com/bbs-topic/9864.

যারা নিজের ক্লাউড কম্পিউটিং সার্ভার ক্রয় করতে চান তারা এই নিবন্ধটি দেখতে পারেনঃhttps://www.fmz.com/digest-topic/5711.

এরপর, আমরা বাম কলামে কৌশল লাইব্রেরিতে ক্লিক করি এবং কৌশল যোগ করুন ক্লিক করি।

মনে রাখবেন, চিত্রের মত, কৌশল সম্পাদনা পৃষ্ঠার উপরের ডানদিকে পাইথন হিসাবে প্রোগ্রামিং ভাষা নির্বাচন করুনঃ

img

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

আমরা Huobi এর বিটকয়েন স্পটকে ট্রেডিং টার্গেট হিসেবে ব্যবহার করব এবং এই কৌশল বাস্তবায়ন শুরু করব:

import types # Import the Types module library, which is designed to handle the various data types that will be used in the code.
def main(): # The main function, where the strategy logic begins.
    IDLE = 0 # It is used to mark the position status, which can be understood as 0, that is, idle status, i.e. short position status.
    LONG = 1 # Long positions
    SHORT = 2 # Short position. Note that this strategy is applied to the spot market, so there is no short opening or position. This is written here to facilitate understanding of the strategy and future expansion (such as extending to the futures market).
    state = IDLE # Variables that mark the status of a position
    while True: # Enter the loop
        r = exchange.GetRecords() # GetRecords is the official API of the FMZ Quant Platform, for detailed usage please refer to: https://www.fmz.com/api.
        if len(r) <= 1: # Judge whether the K-line is larger than one, that is, whether it is currently in the open state, or it may enter an endless loop. Here, it is also convenient for readers to expand, and the trend state of a larger K-line period is more stable.
           Log("The number of bars is not enough, wait for the next bar...") # Output logs
           continue # Python loop control statement, continuing with the next part of the loop.

        # Begin quantitative analysis of price momentum
        ar = sum(r.High - r.Open) / sum(r.Open - r.Low) * 100 # Calculation formula

        account = _C(exchange.GetAccount) # Get account information, _C is also the official API of the FMZ Quant platform, for usage, please refer to: https://www.fmz.com/api.

        if ar < 95 and (state == IDLE or state == SHORT) :  # If the AR value is less than the oversold line and the account has funds, then buy all positions.
           
           if account["Balance"] > 50:
                exchange.Buy(-1, account["Balance"] * 0.9) # Buy all positions of the market order
                state = LONG # Change the position status to LONG
                  
        elif ar > 80 and (state == IDLE or state == LONG):  # If the AR value is greater than the overbought line and the account has a position, sell the whole position.
            
           if account["Stocks"] > 0.01:
                exchange.Sell(-1, account["Stocks"] * 0.9) # Sell all positions market order
                state = SHORT # Change the position status to SHORT
                      
        LogStatus(_D(), exchange.GetAccount() , state) # Update log information

কৌশল ব্যাকটেস্টিং

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

কৌশল সম্পাদনা পৃষ্ঠায় ব্যাকটেস্ট ক্লিক করুন। ব্যাকটেস্ট পৃষ্ঠায়, পরামিতিগুলির সমন্বয় বিভিন্ন প্রয়োজন অনুযায়ী সুবিধাজনক এবং দ্রুত সম্পন্ন করা যেতে পারে। বিশেষ করে জটিল লজিক এবং অনেক পরামিতি সহ কৌশলটির জন্য, সোর্স কোড পৃষ্ঠায় ফিরে যাওয়ার এবং এটি একের পর এক সংশোধন করার প্রয়োজন নেই।

ব্যাকটেস্টের সময়টি সর্বশেষ মাস। হুবি স্পট এক্সচেঞ্জ এবং বিটিসি ট্রেডিং টার্গেট যোগ করতে ক্লিক করুন।

img

ব্যাকটেস্টিং এর ফলাফল:

img

আমরা দেখতে পাচ্ছি যে এই মাসের ব্যাকটেস্টে কৌশলটি ভাল কাজ করেছে।

দামের গতির কৌশলটির সুবিধা এবং অসুবিধা

  • সুবিধা অন্যান্য ঐতিহ্যবাহী প্রযুক্তিগত সূচকের তুলনায় মূল্য গতির সুবিধা হল যে এটি একটি একক উদ্বোধনী মূল্য বা বন্ধের মূল্য ব্যবহার করে না, তবে সর্বোচ্চ এবং সর্বনিম্ন মূল্যগুলি প্রবর্তন করে। এগুলি গতিশীলভাবে তুলনা করা হয়, যা বাজারের তথ্যকে আরও ব্যাপক, প্রতিক্রিয়াশীল এবং ম্যাক্রো করে তোলে দিনের মধ্যে দামের ওঠানামা মাধ্যমে।

  • অসুবিধা দামের গতির মানটি স্বতন্ত্রভাবে ব্যবহার করুন মূল্যটি খুব বেশি বা কম কিনা তা বিচার করতে, দীর্ঘ / সংক্ষিপ্ত বিচার করতে, এটি বড় প্রবণতার তরঙ্গের প্রাথমিক পর্যায়ে বেরিয়ে আসার সম্ভাবনা রয়েছে, বা বড় ডাউন বাজারের তরঙ্গের প্রাথমিক পর্যায়ে নীচে মাছ ধরা। সাধারণভাবে, কৌশলটি এখনও একটি শক কার্যকারিতা কৌশল।

কৌশলটির থ্রেশহোল্ড সেটিংটিও ট্রেডিং অবজেক্টের বৈশিষ্ট্য অনুসারে নির্ধারণ করা দরকার। ডিজিটাল মুদ্রা বাজারের দামের ওঠানামা তুলনামূলকভাবে বড়, এবং বিটকয়েনের মতো মূলধারার মুদ্রাগুলিতে বিশেষত ট্রেডিংয়ের পরিমাণ বিশাল, এবং উত্থান এবং পতনের কোনও সীমা নেই, তাই থ্রেশহোল্ডের মান traditionalতিহ্যবাহী স্টক মার্কেটের তুলনায় বেশি। ৮০ ওভারসোল্ড লাইনটি সাধারণত স্পর্শ করা কঠিন, এবং কয়েকটি কেনার সংকেত রয়েছে; যদিও ১৭০ এর ওভারসোল্ড লাইনটি প্রায়শই থ্রেশহোল্ডের নীচে থাকে, বিক্রয় সংকেতটি প্রায়শই ট্রিগার হয়। এটি কৌশলটিকে বেশিরভাগ সময় শর্ট পজিশনে থাকতে এবং তহবিলের ব্যবহার খুব কম হয়ে উঠতে বাধ্য করবে। উদাহরণস্বরূপ, এই বছরের জানুয়ারী থেকে, বিটকয়েনের দাম ৩৫০০ থেকে প্রায় ১৩০০০ পর্যন্ত বেড়েছে একটি ষাঁড়বাজারের তরঙ্গের বাজারে। থ্রেশহোল্ডের মানটি খুব তাড়াতাড়ি ১৭০ লাইন অতিক্রম করেছে

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

যদি আপনার কোন প্রশ্ন থাকে, আপনি এ একটি বার্তা ছেড়ে দিতে পারেনhttps://www.fmz.com/bbsএটি প্ল্যাটফর্মের কৌশল বা প্রযুক্তি সম্পর্কে হোক না কেন, FMZ Quant প্ল্যাটফর্মের পেশাদাররা আপনার প্রশ্নের উত্তর দিতে প্রস্তুত।


সম্পর্কিত

আরো