ალგოტრეიდინგი: რა არის და როგორ შევამოწმოთ სავაჭრო ალგორითმი

სტატიის „ალგოტრეიდინგი: რა არის და როგორ შევამოწმოთ სავაჭრო ალგორითმი“ გარეკანი: ალგორითმის ბლოკების ჯაჭვი — მონაცემები, წესები, რისკი; რისკსა და ორდერს შორის შემოწმების მრგვალი ჩარჩოა მონიშვნის ნიშნით

რა არის ალგოტრეიდინგი მარტივი ენით

ამ ცნებას იურიდიული განმარტებაც აქვს და ის ყოველდღიურ განმარტებაზე ზუსტია. ევროპული დირექტივა MiFID II მას 4(1)(39) მუხლში განსაზღვრავს. იქ ალგორითმულ ვაჭრობად იწოდება გარიგებები, რომლებშიც კომპიუტერული ალგორითმი თავად განსაზღვრავს ორდერის პარამეტრებს. ორიგინალში ეს ასე ჟღერს: "a computer algorithm automatically determines individual parameters of orders such as whether to initiate the order, the timing, price or quantity of the order or how to manage the order after its submission, with limited or no human intervention". ამ განმარტებაში ზღვარი ფრთხილადაა გავლებული: თუ პროგრამა მხოლოდ უკვე გამზადებულ ორდერს მარშრუტს ურჩევს, ადასტურებს მას ან გარიგების შემდეგ ამუშავებს, იმავე მუხლის მიხედვით ეს ალგორითმული ვაჭრობა არ არის. გადამწყვეტი ნიშანი ერთია — ორდერის პარამეტრებს მანქანა განსაზღვრავს.

მარეგულირებელი FINRA შეტყობინებაში 15-09 ალგორითმულ სტრატეგიებს აღწერს, როგორც სავაჭრო აქტივობის ცალკე კლასს საკუთარი რისკებითა და კონტროლის პრაქტიკებით — კოდის ტესტირებიდან საგანგებო შეჩერების ღილაკამდე. Hendershott-ის, Jones-ისა და Menkveld-ის კვლევამ Journal of Finance-ში აჩვენა, რომ ალგორითმული ვაჭრობა აუმჯობესებს ბაზრის ლიკვიდობას და კოტირებებს უფრო ინფორმაციულს ხდის. ეს არის პასუხი კითხვაზე „რა არის ეს“ ბაზრის დონეზე.

კერძო ტრეიდერისთვის არსი უფრო მოკრძალებული და პრაქტიკულია. ალგოტრეიდინგი არის გზა, რომ გარიგებიდან ადამიანის ემოცია და რეაქციის სისწრაფე ამოიღოთ და დატოვოთ მხოლოდ ის, რისი მკაფიოდ ჩამოყალიბებაც შეძელით. თუ წესს ისე ვერ ჩაწერთ, რომ სხვა ადამიანმა თქვენი განმარტებების გარეშე შეასრულოს, ეს ჯერ ალგორითმი კი არა, იდეაა. როგორ ვაქციოთ იდეა წესებად, ქვემოთ განვიხილავთ, მანამდე კი — რისგან შედგება ალგორითმი ფიზიკურად.

რისგან შედგება სავაჭრო ალგორითმი

  1. 1

    მონაცემები

    სანთლები, მოცულობები, ტრანზაქციების ლენტი, კალენდარი

  2. 2

    წესები

    შესვლისა და გამოსვლის პირობები ორაზროვნების გარეშე

  3. 3

    რისკი

    სტოპ-ლოსი, პოზიციის ზომა, ზარალის ლიმიტი

  4. 4

    შესრულება

    ორდერის ტიპი, არხი, ხარვეზების კონტროლი

მონაცემები ამარაგებს წესებს, წესები გასცემს სიგნალს, რისკი ზღუდავს ზომას, შესრულება აგზავნის ორდერს. სქემა აჩვენებს თანმიმდევრობას და არა კონკრეტულ სტრატეგიას.

სქემა 1. ალგორითმის შემადგენლობა. ბლოკების პრიორიტეტი პასუხისმგებლობის კლების მიხედვით: ჯერ რისკი, შემდეგ წესები, შემდეგ შესრულება.

მონაცემები არის ის, რასაც ალგორითმი აკვირდება: სანთლები, მოცულობები, ორდერების წიგნი, მოვლენების კალენდარი. წესები ბირთვია: რა პირობებში უნდა იყიდოს და რა პირობებში დახუროს პოზიცია. რისკი განსაზღვრავს, რამდენს ვკარგავთ შეცდომის შემთხვევაში: სტოპ-ლოსი, პოზიციის ზომა, დღიური ლიმიტი. შესრულება განსაზღვრავს, როგორ ხვდება ორდერი ბირჟაზე: ორდერის ტიპი, არხი, კავშირის გაწყვეტაზე რეაგირება.

მსგავსი სია ზედამხედველ ორგანოსაც აქვს. ESMA-ს 2026 წლის 26 თებერვლის საზედამხედველო განმარტებაში ჩამოთვლილია აქტივობის სახეები, რომლებიც სავაჭრო პარამეტრების განსაზღვრად მიიჩნევა: სიგნალების საფუძველზე ორდერების გენერირება, შესრულების სტრატეგიის შერჩევა, ბაზრის მდგომარეობის ანალიზი, პორტფელის რებალანსირება, რისკის შეზღუდვების დაყენება, ლიკვიდობის ძიება და სავაჭრო პლატფორმებს შორის ოპტიმიზაცია. იქვე ნათქვამია ჩვენთვის მთავარი რამ: ალგორითმი უნდა ექვემდებარებოდეს შემოწმებასა და მართვას, სიტყვასიტყვით — "the algorithms must be testable and controllable". ბიუროკრატიას ჰგავს, მაგრამ პრაქტიკულ კრიტერიუმად მუშაობს: თუ თქვენი იდეის გამეორებადი ტესტით გაშვება შეუძლებელია, ჯერ ალგორითმი არ გაქვთ.

დამწყების ტიპური შეცდომაა მთელი ყურადღების „წესების“ ბლოკზე გადატანა და „რისკის“ ბლოკის თითქმის უგულებელყოფა. რეალურ ანგარიშზე სწორედ მესამე ბლოკი წყვეტს, გაუძლებს თუ არა დეპოზიტი წამგებიანი გარიგებების სერიას. პოზიციის ზომის საფუძვლები განხილულია მასალაში რისკი გარიგებაზე.

ალგოტრეიდინგი, სავაჭრო ბოტი და HFT: რა განსხვავებაა

ტერმინირა არისვინ იყენებსრას წყვეტს
ალგორითმული ვაჭრობამეთოდი: იმწუთიერი გადაწყვეტილებების ნაცვლად წესებიკერძო და ინსტიტუციური ტრეიდერებიდისციპლინა და გამეორებადობა
სავაჭრო ბოტი / მრჩეველიპროგრამა, რომელიც წესებს ასრულებსკერძო ტრეიდერები, უმეტესად Forex-სა და კრიპტოშიხელით შესასრულებელი რუტინის ავტომატიზაცია
HFTზესწრაფი სტრატეგიები ბირჟასთან ახლოს განთავსებულ ინფრასტრუქტურაზესპეციალიზებული კომპანიებიმიკროწამიანი დაყოვნება და არა იდეის ხარისხი

ალგოტრეიდინგსა და HFT-ს შორის ზღვარიც კანონშია გაწერილი. MiFID II-ის 4(1)(40) მუხლი ერთდროულად სამი ნიშნის არსებობას მოითხოვს: მინიმალური დაყოვნებისთვის სპეციალურად შექმნილი ინფრასტრუქტურა — კოლოკაცია, proximity hosting ან მაღალსიჩქარიანი პირდაპირი წვდომა; ცალკეულ ორდერზე გადაწყვეტილებაში ადამიანის სრული არყოფნა; და შეტყობინებების მაღალი შიდადღიური სიხშირე. ამ სამიდან ნებისმიერი ამოიღეთ და ეს უკვე ჩვეულებრივი ალგორითმული ვაჭრობაა. ამერიკული მარეგულირებელი დათქმაში უფრო გულწრფელია: SEC-ის 2010 წლის კონცეფციის დოკუმენტში პირდაპირ წერია, რომ ტერმინი ახალია და ჯერ მკაფიო განმარტება არ აქვს; განმარტების ნაცვლად იქ ხუთი ტიპური ნიშანია ჩამოთვლილი, მათ შორის კოლოკაცია და დღის ნულოვანი პოზიციით დასრულება.

რუსეთიდან მომუშავე კერძო ტრეიდერისთვის აქ პრაქტიკული დასკვნაც არსებობს. მოსკოვის ბირჟის სავალუტო ბაზარზე არაეფექტიანი ორდერებისთვის ოფიციალურად დამატებითი საკომისიო იკრიბება, წესებში კი ზღვარიცაა მითითებული: საკომისიო არ გამოითვლება, თუ სპოტ ინსტრუმენტებზე დღეში 30 000-ზე მეტი ორდერი არ განთავსებულა. სხვა სიტყვებით, პლატფორმა გაუქმებული ორდერების მაღალი წილისთვის ფულად სანქციას იყენებს. სახლის პირობებში შექმნილი ალგორითმი ამ ზღვარს, ჩვეულებრივ, ვერ აღწევს. სამაგიეროდ, იდეა „ათასობით ორდერს განვათავსებ და გავაუქმებ“ მას მაშინვე შეეჯახება.

მიდგომებს შორის ზღვარს კარგად აჩვენებს გარიგებაში ადამიანის მონაწილეობის შკალა. როგორ შევამოწმოთ მზა რობოტი კონკრეტულ პლატფორმაზე — ცალკე პრაქტიკული ამოცანაა; MetaTrader-ის მაგალითზე ის განხილულია სტატიაში მრჩევლის შემოწმება.

ადამიანი თავად აჭერს ღილაკს

HFT-რობოტი ბირჟის სერვერზე

  1. 1.გეგმის მიხედვით ხელით ვაჭრობა
  2. 2.სიგნალს მანქანა იძლევა, ღილაკს ადამიანი აჭერს
  3. 3.ბოტი გარიგებას თავად ასრულებს
სრულად ხელით ვაჭრობიდან მაღალსიხშირულ ვაჭრობამდე. რაც უფრო მარჯვნივაა პოზიცია, მით ნაკლები გადაწყვეტილება რჩება ადამიანს უშუალოდ იმ მომენტში და მით უფრო მაღალია ინფრასტრუქტურის მოთხოვნები.

სქემა 2. კერძო ტრეიდერი, ჩვეულებრივ, შკალის მარცხენა და შუა ნაწილში მუშაობს. შკალის მარჯვენა კიდე მაღალსიხშირული ვაჭრობაა — ეს ცალკე ინდუსტრიაა განსხვავებული ეკონომიკით.

რომელი ამოცანების ავტომატიზაცია შეიძლება და სად რჩება რისკი

რას გვაძლევს და რას არ გვაძლევს ალგოტრეიდინგი

გამოგადგებათ, თუ გჭირდებათ

  • დისციპლინა: ალგორითმი საკუთარ წესებს არ გადაუხვევს
  • ფორმალურ პირობაზე რეაგირების სისწრაფე
  • იდეის რამდენიმე წუთში შემოწმება ხანგრძლივ ისტორიულ პერიოდზე
  • ათეულობით ინსტრუმენტის ერთდროული კონტროლი

არ გამოგადგებათ, თუ ელით

  • მოგებას საფუძვლად არსებული შემოწმებული იდეის გარეშე
  • შედეგის გარანტიას: ბაზარი იცვლება და წესმა შეიძლება მუშაობა შეწყვიტოს
  • რისკ-მენეჯმენტისა და სავაჭრო გეგმის ჩანაცვლებას
  • სიახლეებისა და სხვისი ქმედებების პროგნოზირებას

ბარათი 1. მეთოდის საზღვრები. თუ უპირატესობა არსებობს, ალგორითმი მას ფორმალიზებულ სახეს აძლევს; არაფრისგან უპირატესობის შექმნა მას არ შეუძლია.

ამ განყოფილების აზრი მარტივი და გულწრფელია: შესრულების ავტომატიზაცია გადასაჭრელი საინჟინრო ამოცანაა, მაგრამ თვითონ უპირატესობა, რომელსაც ავტომატიზაციას უკეთებთ, კვლავ თქვენი კვლევითი სამუშაოა. სწორედ ამიტომ ალგორითმის შემოწმება მის დაწერაზე მნიშვნელოვანია და სტატიის შემდეგი ნაწილი ამას ეძღვნება. წესებისა და სტრატეგიების შემოწმების შესახებ მეტი მასალა თავმოყრილია განყოფილებაში სავაჭრო სტრატეგიები.

როგორ ვაქციოთ სავაჭრო იდეა ცალსახა წესებად

ტიპური დაუმუშავებელი იდეა ასე ჟღერს: „ვყიდულობ ფასის ახტომაზე, როცა ბაზარი ზედმეტად გაყიდულ მდგომარეობაშია“. მასში დამალულია გადაწყვეტილებები, რომლებსაც რეალურ ვაჭრობაში ინტუიცია იღებს: რას ნიშნავს ზედმეტად გაყიდული მდგომარეობა, ფასის როგორი ახტომა უნდა ჩაითვალოს დადასტურებულად და სად უნდა გახვიდეთ, თუ ახტომა არ მოხდა. ალგორითმი თითოეული მათგანის დაკონკრეტებას მოითხოვს.

ფორმალიზების თანმიმდევრობა:

  1. შესვლის პირობა რიცხვებითა და ინდიკატორებით ჩაწერეთ: რომელი ინდიკატორი, რომელი პერიოდი, რა მნიშვნელობა, რომელი ტაიმფრეიმი.
  2. გამოსვლის პირობა ცალ-ცალკე ჩაწერეთ მოგებისა და ზარალისთვის. „დავხურავ, როცა მივხვდები, რომ ფასი საჭირო მიმართულებით არ წავიდა“ — დაუშვებელი ფორმულირებაა.
  3. განსაზღვრეთ, რას აკეთებს ალგორითმი, თუ მონაცემები არ არის ან კავშირის არხი გაწყდა.
  4. პოზიციის ზომა სტოპ-ლოსზე დაფუძნებული ფორმულით განსაზღვრეთ და არა შეგრძნებით.

ეს სია იმ რეკომენდაციების შემოკლებული ვერსიაა, რომლებსაც მარეგულირებელი კომპანიებს სტრატეგიის დოკუმენტირების ეფექტიან პრაქტიკად სთავაზობს: აღწერა მარტივი ენით, რათა კონტროლისა და შემუშავების გუნდებს კოდის წაკითხვის გარეშე ერთნაირად ესმოდეთ ყველაფერი. ლოგიკა იგივეა, მხოლოდ მასშტაბი განსხვავდება. როგორ გავაერთიანოთ ასეთი წესები ერთ სრულ დოკუმენტში, განხილულია სტატიაში ტრეიდერის სავაჭრო გეგმა.

როგორ შევამოწმოთ ალგორითმი ისტორიულ მონაცემებზე ზედმეტი მორგების გარეშე

ბექთესტი არის ალგორითმის გაშვება წარსულის მონაცემებზე. მთავარი ხაფანგი ზედმეტი მორგებაა: რაც უფრო მეტი წესის ვარიანტი გამოსცადეთ ისტორიის ერთსა და იმავე მონაკვეთზე, მით უფრო სავარაუდოა, რომ მათგან საუკეთესო სწორედ ამ მონაკვეთზეა კარგი და მხოლოდ იმიტომ, რომ მას მოარგეთ.

ამ ხაფანგს გაზომვადი ფასი აქვს. Bailey-მ, Borwein-მა, Lopez de Prado-მ და Zhu-მ ნაშრომში "Pseudo-Mathematics and Financial Charlatanism" (Notices of the AMS, 2014 წლის მაისი) განსაზღვრეს ისტორიის მინიმალური სიგრძე ცდების რაოდენობის მიხედვით. მათი დასკვნა რიცხვებში ასეთია: თუ ორი წლის მონაცემები გაქვთ, უკვე შვიდი დამოუკიდებელი კონფიგურაციის შემდეგ ისტორიულ მონაცემებზე მოსალოდნელი შარპის კოეფიციენტი ერთის ტოლია, ხოლო ნიმუშის გარეთ — ნულის. ხუთი წლის მონაცემებზე ზღვარი 45 კონფიგურაციას შეადგენს. ამ რიცხვების ლოგიკა მარტივია: რაც მეტი კონფიგურაცია გამოსცადეთ, მით უფრო მაღალია ალბათობა, რომ საბოლოო ბექთესტი ისტორიაზე ზედმეტადაა მორგებული.

აქედან გამომდინარეობს პრაქტიკული კრიტერიუმი, რომელიც როგორც სხვის, ისე საკუთარ შედეგებს უნდა მიუსადაგოთ: ბექთესტი, რომელშიც არ წერია, რამდენი კონფიგურაცია გამოსცადეს, ზედმეტი მორგების რისკის შეფასების საშუალებას არ იძლევა. იმავე ნაშრომიდან კიდევ ერთი არასასიამოვნო შედეგი გამომდინარეობს — დაჟინებული მკვლევარი ყოველთვის შეძლებს ნებისმიერი სასურველი შარპის კოეფიციენტის მქონე ბექთესტის პოვნას.

ზედმეტ მორგებასთან ბრძოლის პრაქტიკული მეთოდები:

  • ისტორია შემუშავებისა და შემოწმების მონაკვეთებად დაყავით. პარამეტრები მხოლოდ პირველზე შეარჩიეთ, მეორე კი ერთხელ გაუშვით.
  • დაითვალეთ მცდელობები. ჩაიწერეთ, უკვე რამდენი კონფიგურაცია გაუშვით: სწორედ ეს სიდიდე აუფასურებს შედეგს.
  • გამოიყენეთ ნაკლები პარამეტრი. ყოველი რეგულირებადი სიდიდე ზედმეტი მორგებისთვის თავისუფლების კიდევ ერთი ხარისხია.
  • წესი მეზობელ ინსტრუმენტებსა და ტაიმფრეიმებზე შეამოწმეთ: მდგრადობა ერთ გრაფიკზე მიღებულ რეკორდზე მნიშვნელოვანია.
  • იდეალურ შედეგს ეჭვით შეხედეთ. ისტორიულ მონაცემებზე კაპიტალის იდეალურად სწორი მრუდი უფრო ხშირად მონაცემების შეცდომას ან მომავლის მონაცემების გამოყენებას ნიშნავს, ვიდრე რეალურ უპირატესობას.

ნიმუშის დაყოფასთან დაკავშირებით იმავე ავტორებს მნიშვნელოვანი შენიშვნა აქვთ. ნაშრომში "The Probability of Backtest Overfitting" ისინი განიხილავენ, რატომ არის ჩვეულებრივი hold-out არასანდო მოკლე ისტორიაზე, და მიუთითებენ Weiss-ისა და Kulikowski-ის წესზე: ეს მეთოდი არ უნდა გამოიყენოთ, თუ ათასზე ნაკლები დაკვირვებაა. სტრატეგიისთვის, რომელიც კვირაში ერთხელ ვაჭრობს, ეს მინიმუმ ოცი წლის ისტორიის ბექთესტს ნიშნავს. მათ რიცხვით მაგალითში ისტორიასა და რეალურ შედეგს შორის სხვაობა ასე გამოიყურება: ისტორიულ მონაცემებზე შარპის კოეფიციენტის ყველა მნიშვნელობა დადებითია, ხოლო წინასწარ გამოყოფილ სატესტო მონაცემებზე დაახლოებით 78 პროცენტი უარყოფითია.

მომიჯნავე პრობლემაა თავად ნიმუშის ხარისხი. თუ მონაცემებში მხოლოდ ის ინსტრუმენტები და ფონდები დარჩა, რომლებმაც დღემდე იარსება, ტესტი მხოლოდ გადარჩენილებს ხედავს და შედეგს აჭარბებს. მარეგულირებელი კვლევები ამას სპეციალურად ითვალისწინებს: SEC-ის სამუშაო დოკუმენტი აღწერს ბაზას, რომელიც დახურულ ფონდებსაც ინახავს, "ensuring that poorly performing or high-fee funds that exited the market are still represented in the data".

ცალკე გახსოვდეთ დროითი ჰორიზონტიც: სანდო ბექთესტიც კი მხოლოდ წარსულზე საუბრობს. საბაზრო რეჟიმი იცვლება და წესი, რომელიც ტრენდულ წელს მუშაობდა, გვერდით მოძრაობაში შეიძლება წამგებიანი აღმოჩნდეს.

როგორ გავითვალისწინოთ საკომისიო, სლიპიჯი და შესრულების მოდელი

ხარჯების სამი სახეობა, რომლებიც სანდო ტესტმა აუცილებლად უნდა გაითვალისწინოს:

  1. ბროკერისა და ბირჟის საკომისიო თითოეულ გარიგებაზე, მათ შორის დახურვაზეც.
  2. სლიპიჯი — განსხვავება სიგნალის ფასსა და შესრულების ფასს შორის. სწრაფი მოძრაობებისას საბაზრო ორდერებისთვის ის სისტემატურად თქვენ საწინააღმდეგოდ მოქმედებს.
  3. სპრედი: ალგორითმი, რომელიც „ისტორიულ მონაცემებზე სპრედის შიგნით ვაჭრობს“, რეალურად სპრედის ნახევარს იხდის როგორც შესვლისას, ისე გამოსვლისას.

სიდიდეების რეალური მასშტაბი ოფიციალური ტარიფებიდან უნდა აიღოთ და არა ვარაუდით. მოსკოვის ბირჟის აქციების ბაზარზე მოქმედებს მეიკერ-ტეიკერის მოდელი: პასიური ორდერი ძირითად რეჟიმში ნულოვანი განაკვეთით ივაჭრება, აქტიური კი მოცულობის 0,03 პროცენტი ღირს. იმავე ტარიფებში ორივე მხარისთვის ცალკე 0,0025-პროცენტიანი დანამატიც არსებობს, მაგრამ არა ჩვეულებრივი საბაზრო ორდერისთვის ძირითად რეჟიმში: ის აისბერგ-ორდერებზე, დახურვის აუქციონის ორდერებსა და გახსნის აუქციონის საბაზრო ორდერებზე იკრიბება. Binance-ის სპოტ-ბაზარზე ჩვეულებრივი მომხმარებლის საბაზისო განაკვეთი 0,1 პროცენტია და ის მიღებულ აქტივში ჩამოიჭრება. Interactive Brokers-ში ამერიკულ აქციებზე ფიქსირებული ტარიფი თითო აქციაზე ითვლება: 0,005 დოლარი აქციაზე, თუმცა არანაკლებ ერთი დოლარისა თითო ორდერზე და არაუმეტეს გარიგების თანხის ერთი პროცენტისა. სწორედ ამ რეჟიმებს შორის განსხვავება წყვეტს, დარჩება თუ არა თქვენი დადებითი შედეგი რეალურ ანგარიშზე.

შემდეგ იწყება შესრულების მოდელი და აქ ხაფანგი უფრო შეუმჩნეველია. TradingView-ის ჩაშენებულმა სტრატეგიების ტესტერმა არ იცის, როგორ მოძრაობდა ფასი სანთლის შიგნით, ამიტომ გზას შემდეგი წესით აგებს: თუ გახსნის ფასი მაქსიმუმთან უფრო ახლოსაა, ემულატორი მიიჩნევს, რომ ფასი მოძრაობდა თანმიმდევრობით გახსნა — მაქსიმუმი — მინიმუმი — დახურვა. დოკუმენტაციაში ეს პირდაპირ წერია; იქვე ნათქვამია, რომ გადადებული ორდერებისთვის ემულატორი ბარის შიგნით ფასის წყვეტებს არ ვარაუდობს. Bar Magnifier რეჟიმი ტესტერს აიძულებს, დაბალ ტაიმფრეიმზე გადავიდეს და აღარ გამოიცნოს. კიდევ ორი ნაგულისხმევი პარამეტრი თქვენს სასარგებლოდ მუშაობს და ამიტომ რეალობას ამახინჯებს: Slippage ნულის ტოლია და Verify price for limit orders-იც ნულია, ანუ ლიმიტური ორდერები რეალურ ცხოვრებაზე უფრო ხელსაყრელად სრულდება. დოკუმენტაციაში ცალკე წერია: Renko-ს მსგავს არასტანდარტულ გრაფიკებზე სტრატეგია სინთეზური ფასებით ვაჭრობს და შედეგი "typically produces unrealistic results".

არსებობს მომავლის მონაცემების პირდაპირი გამოყენებაც. უფროსი ტაიმფრეიმიდან მონაცემების მოთხოვნა ჩართული lookahead რეჟიმით ისტორიულ ბარებზე აბრუნებს იმას, რაც იმ მომენტში ჯერ ცნობილი არ იყო; Pine Script-ის დოკუმენტაცია ამას "dangerously misleading"-ს უწოდებს. რეალურ დროში ასეთი მონაცემთა წყარო არ არსებობს, ამიტომ ლამაზი ისტორიული შედეგის გამეორება უბრალოდ შეუძლებელია.

წესი მარტივია: თუ ხარჯების სრულად გათვალისწინებისა და შესრულების რეალისტური მოდელის შემდეგ უპირატესობა გაქრა, ის არც არსებობდა.

შემოწმების გამეორებადი პროტოკოლი Midas BackTester-ში

BackTester არის ბოტ-სტრატეგია, რომელიც შემოწმების ინსტრუმენტის როლს ასრულებს: თქვენ აღწერთ პირობებს, ის კი აჩვენებს, როგორ იმუშავებდა ეს პირობები ისტორიულ მონაცემებზე. ჩვენი ამოცანისთვის ეს ნიშნავს, რომ „დაფიქსირებული წესების გაშვების“ ეტაპი სტანდარტულად და გამეორებადად სრულდება, ხოლო შედეგების შედარება წესების სხვადასხვა ნაკრებს შორის შეიძლება.

  1. 1

    წესების დაფიქსირება

    წერილობით, თავისუფალი ინტერპრეტაციების გარეშე

  2. 2

    ბექთესტის გაშვება

    შემუშავება — ისტორიის ერთ მონაკვეთზე

  3. 3

    ერთი შემოწმება ნიმუშის გარეთ

    მონაკვეთი, რომელიც პარამეტრების შერჩევაში არ მონაწილეობდა

  4. 4

    ხარჯების ჩართვა

    საკომისიო, სპრედი, სლიპიჯი

  5. 5

    ფორვარდ-ტესტი მცირე მოცულობით

    რეალური ბაზარი, მინიმალური ზომა

ხუთი ნაბიჯი დაფიქსირებული წესებიდან მცირე მოცულობით რეალურ ვაჭრობამდე. თითოეული ნაბიჯი წინა ეტაპის შეცდომების ნაწილს გამორიცხავს.

სქემა 3. პროტოკოლი ნებისმიერი პლატფორმისთვის ერთნაირია; BackTester ნაბიჯებს 2-4 გამეორებადად და კოდის გარეშე ასრულებს.

როგორ გადავიდეთ ბექთესტიდან forward-ტესტზე

  1. ეტაპი 1

    დემო-ანგარიში

    დემო-ფულით შესრულება, ლოგიკის შემოწმება

  2. ეტაპი 2

    მინიმალური რეალური მოცულობა

    რეალური საკომისიოები და სლიპიჯი

  3. ეტაპი 3

    სამუშაო მოცულობა

    თანხვედრილი სტატისტიკის შემთხვევაში თანდათანობითი ზრდა

  4. ეტაპი 4

    რეგულარული კონტროლი

    რეალური შედეგების ტესტთან შედარება

რეალური შემოწმების ეტაპების თანმიმდევრობა. სქემაზე მოცემული ვადები ორიენტირია: ეტაპის გახანგრძლივება შეიძლება, შემცირება — არა.

სქემა 4. ეტაპებს შორის გადასვლას რეალური შესრულებისა და სატესტო შესრულების მსგავსება განსაზღვრავს. აცდენა მოდელის შეცდომაზე მიუთითებს და შემუშავების ეტაპზე დაბრუნების საფუძველია.

ამ გზაზე დემო-რეჟიმი პასუხობს კითხვას „მუშაობს თუ არა კოდი“, მინიმალური რეალური მოცულობა კი — კითხვას „მუშაობს თუ არა ეკონომიკა ხარჯების გათვალისწინებით“. მეორე კითხვის გამოტოვება არ ღირს: სახლის პირობებში შექმნილი ალგორითმების უმეტესობა სწორედ აქ წყვეტს არსებობას. ამის შემდეგაც ალგორითმი ხელშეუხებელი არ ხდება — რეალური გარიგებების სტატისტიკა რეგულარულად დარდება ტესტს და მნიშვნელოვანი აცდენა შემუშავების ეტაპზე გაბრუნებთ.

ფორვარდ-ტესტის ხანგრძლივობის ერთიანი ოფიციალური ნორმა არ არსებობს: არცერთი მარეგულირებელი და არცერთი პლატფორმა კალენდარულ დღეებში მინიმალურ ვადას არ ასახელებს. სამაგიეროდ, მონაცემების დაყოფის საყოველთაოდ მიღებული პროპორცია არსებობს. MetaTrader 5-ის ტესტერს შეუძლია, ისტორია თავად დაყოს ოპტიმიზაციისა და ფორვარდის მონაკვეთებად 1/2, 1/3 და 1/4 პროპორციებით: მონაკვეთის ბოლო მეოთხედი ან მესამედი პარამეტრების შერჩევაში არ მონაწილეობს და შემოწმებას ემსახურება. პრაქტიკული ორიენტირი მარტივია და კალენდარს არ ეხება: ფორვარდმა იმდენი გარიგება უნდა დააგროვოს, რომ მათ სტატისტიკას საერთოდ ჰქონდეს მნიშვნელობა.

პროფესიონალებთან გაშვება კიდევ უფრო მკაცრადაა მოწყობილი და ამ ლოგიკის გადმოღება ღირს. MiFID II-ის RTS 6 რეგლამენტი კომპანიას ავალდებულებს, ალგორითმის გაშვებამდე დააწესოს ლიმიტები: ინსტრუმენტების რაოდენობაზე, ფასზე, ორდერების ღირებულებასა და რაოდენობაზე, პოზიციის ზომასა და სავაჭრო პლატფორმების რაოდენობაზე. იმავე რეგლამენტის ცალკე მუხლი მოითხოვს kill functionality-ს — საგანგებო ზომის სახით ყველა შეუსრულებელი ორდერის დაუყოვნებლივ გაუქმების შესაძლებლობას. კანონი ამას კერძო ტრეიდერს არ ავალდებულებს, მაგრამ დღიური ლიმიტისა და ყველაფრის გამორთვის წინასწარ მოფიქრებული მეთოდის ღირებულება მისთვისაც ზუსტად იგივეა.

რისკები და შეზღუდვები

რა უნდა იცოდეთ ნებისმიერი ალგორითმის გაშვებამდე:

  • საბაზრო რისკი რჩება: ისტორიაზე შემოწმებული ალგორითმი შეიძლება მოხვდეს რეჟიმში, რომელშიც მისი წესი არ მუშაობს.
  • ტექნიკური რისკი: კავშირის გაწყვეტა, მონაცემების დაყოვნება, შეცდომა კოდში. FINRA ეფექტიან პრაქტიკებს მიაკუთვნებს საგანგებო შეჩერების ღილაკს, რომელიც ალგორითმს ნაბიჯების მინიმალური რაოდენობით თიშავს — კერძო ტრეიდერმაც იგივე უნდა მოსთხოვოს საკუთარ თავს.
  • სხვისი კოდის რისკი: ნაყიდი ან ჩამოტვირთული ბოტი არის სხვისი წესები მათი შემოწმების ისტორიის გარეშე. რობოტების მზა ნაკრებები და მესამე პირების მიერ თქვენი ანგარიშის მართვა რისკის ცალკე კატეგორიაა, რომლის შესახებაც FINRA-ს ინვესტორებისთვის სპეციალური გაფრთხილება აქვს.
  • ზედმეტი თავდაჯერების რისკი: ერთი წარმატებული გაშვება უპირატესობას არ ამტკიცებს, წარუმატებელი გაშვებების სერიაც საბოლოო განაჩენი არ არის. ამ საქმეში დასკვნებს პროტოკოლი აკეთებს.
  • კაპიტალის დაკარგვის რისკი: ბირჟაზე ვაჭრობამ შეიძლება დაბანდებული სახსრების დაკარგვა გამოიწვიოს და ავტომატიზაცია ამას არ აუქმებს.

რამდენად ძვირი შეიძლება დაჯდეს შეუმოწმებელი გაშვება, აჩვენებს SEC-ის გამოძიება Knight Capital-ის საქმეზე. 2012 წლის 1 აგვისტოს, ერთი სერვერის გამო, რომელზეც განახლება არ მოხვდა, კომპანიამ 45 წუთში მილიონობით ორდერი გაგზავნა და 154 ფასიან ქაღალდზე 4 მილიონი შესრულება მიიღო. ზარალმა 460 მილიონ დოლარს გადააჭარბა. მარეგულირებლის დოკუმენტში დასახელებული ყველა მიზეზი ორგანიზაციულია: კოდში დარჩა წლების განმავლობაში გამოუყენებელი მოდული; ახალმა კოდმა ხელახლა გამოიყენა ალამი, რომელიც ამ მოდულს რთავდა; აქციების რაოდენობის დამთვლელი ფუნქციის გადატანის შემდეგ კი კოდი თავიდან არ შემოწმებულა. SEC დასკვნას პირდაპირ აყალიბებს: განახლების ორმაგი შემოწმების მარტივი წერილობითი პროცედურა გამოტოვებული სერვერის აღმოჩენისა და 1 აგვისტოს მოვლენების თავიდან აცილების საშუალებას მისცემდათ. ამასთან, რვიდან შვიდმა სერვერმა სწორად იმუშავა.

მეორე კლასიკური შემთხვევა პარამეტრებს ეხება და არა კოდს. CFTC-ისა და SEC-ის 2010 წლის 6 მაისის მოვლენების ერთობლივ ანგარიშში აღწერილია გაყიდვის ალგორითმი, რომელიც დაყენებული იყო წინა წუთის სავაჭრო მოცულობის 9 პროცენტის წილის შესანარჩუნებლად, "but without regard to price or time". ამ პარამეტრის გამო პროგრამამ დავალება 20 წუთში შეასრულა, მაშინ როცა მანამდე იგივე მონაწილე მსგავს გაყიდვას საათებზე ანაწილებდა, რადგან ფასსა და დროს ითვალისწინებდა. კასკადი CME-ზე ვაჭრობის ხუთწამიანმა შეჩერებამ გააჩერა. სახლის პირობებში შექმნილი ალგორითმისთვის გაკვეთილი იგივეა: წესი, რომელსაც ფასისა და დროის შეზღუდვა არ აქვს, სტრესულ ბაზარზე ისე არ იქცევა, როგორც ტესტში.

ცალკე უნდა ითქვას დაპირებებზე. SEC ავტომატური ვაჭრობის ცნობარში წერს: განსაკუთრებული სიფრთხილე გამოიჩინეთ, თუ კომპანია აცხადებს, რომ ბაზარზე ყოველთვის გამოიმუშავებს ან კლიენტებისთვის უჩვეულოდ მაღალ მოგებას იღებს. FINRA-ს 2024 წლის გაფრთხილებაში სიტყვასიტყვითაა მოყვანილი თაღლითების ტიპური ლოზუნგები, მაგალითად "Our proprietary AI trading system can't lose!", და ის მოგიწოდებთ, ზემოგების დაპირებებს რეგისტრირებული კომპანიებისგანაც კი არ ენდოთ. რუსეთის ბანკი თაღლითების შესახებ განყოფილებაში იმავე ნიშნებად ასახელებს უჩვეულოდ მაღალი შემოსავლიანობის დაპირებას, მეგობრის მოყვანისკენ მოწოდებასა და გადაწყვეტილების მიღებისას აჩქარებას; უკანონო საქმიანობის ნიშნების მქონე კომპანიების რეგულარულად განახლებად სიაში კი „სავაჭრო რობოტებიც“ გვხვდება.

მასალა არ წარმოადგენს საინვესტიციო რეკომენდაციას.

წყაროები

ხშირად დასმული კითხვები

რა არის ალგოტრეიდინგი მარტივი ენით?

ეს არის ვაჭრობა წინასწარ გაწერილი წესებით, რომლებსაც პროგრამა ასრულებს. თქვენ აღწერთ შესვლის, გამოსვლისა და რისკის პირობებს, შემდეგ კი ალგორითმი მათ თითოეულ გარიგებაში თქვენი მონაწილეობის გარეშე იყენებს. ალგოტრეიდინგში ადამიანი პასუხისმგებელია წესების ჩამოყალიბებასა და მათ შემოწმებაზე, მანქანა კი — შესრულებაზე.

რით განსხვავდება ალგოტრეიდერი ჩვეულებრივი ტრეიდერისგან?

ჩვეულებრივი ტრეიდერი გადაწყვეტილებას უშუალოდ იმ მომენტში იღებს: დაინახა სიგნალი — შეაფასა — დააჭირა ღილაკს. ალგოტრეიდერი ამ გადაწყვეტილებას შემუშავების ეტაპზე გადააქვს: ჯერ წერს წესს, შემდეგ ამოწმებს მას ისტორიულ მონაცემებზე და მხოლოდ ამის შემდეგ ანდობს ანგარიშს. ალგოტრეიდერის პროფესია აერთიანებს ტრეიდინგს, პროგრამირებასა და სტატისტიკას.

რა არის ინვესტირება ალგოტრეიდინგში და რა რისკები ახლავს მას?

ეს არის ფულის სხვისი ალგორითმის მართვისთვის გადაცემა ან მზა რობოტის შეძენა. მთავარი რისკი ისაა, რომ არც წესები იცით და არც მათი შემოწმების ისტორია, ხოლო ამ სფეროში შემოსავლიანობის დაპირებებს არავინ უზრუნველყოფს. ფულის გადაცემამდე შეამოწმეთ, ვინ და როგორ გამოსცადა ალგორითმი, და მოერიდეთ არალიცენზირებულ ავტომატური ვაჭრობის სერვისებს: FINRA-ს მათ შესახებ ცალკე გაფრთხილება აქვს.

რას ნიშნავს „ტინკოფის ალგოტრეიდინგი“?

სლენგში ასე უწოდებენ ვაჭრობას T-Invest API-ის — ბროკერ Т-Банк-ის ოფიციალური პროგრამული ინტერფეისის — საშუალებით. ის კოდიდან მონაცემებსა და ორდერებზე წვდომას, ტესტირებისთვის სენდბოქსსა და პოპულარული ენებისთვის SDK-ს გაძლევთ. API-ის საშუალებით ალგორითმული ვაჭრობა იგივე ალგოტრეიდინგია, უბრალოდ ორდერებს თქვენი რობოტი აგზავნის და არა ადამიანი ტერმინალიდან.

შესაძლებელია ალგორითმის შემოწმება პროგრამირების გარეშე?

დიახ. შემოწმების ნაწილია წესების ქაღალდზე ჩამოყალიბება და ამას კოდი საერთოდ არ სჭირდება. ისტორიულ მონაცემებზე გასაშვებად არსებობს ვიზუალური კონსტრუქტორების მქონე პლატფორმები, მაგალითად BackTester Midas-ში, სადაც შესვლისა და გამოსვლის პირობები პარამეტრებით განისაზღვრება. კოდი მაშინ ხდება საჭირო, როცა კონსტრუქტორი წესების ლოგიკას ვეღარ უმკლავდება.

რას ისწავლით ამ მასალიდან
  • მარტივი ენით გაიგებთ, რა არის ალგოტრეიდინგი და რისგან შედგება სავაჭრო ალგორითმი
  • ისწავლით ალგორითმული ვაჭრობის გარჩევას სავაჭრო ბოტისა და HFT-ისგან
  • მიიღებთ ალგორითმის შემოწმების გამეორებად პროტოკოლს: წესები, ხარჯები, ბექთესტი, ფორვარდ-ტესტი
დამწყები

იყო თუ არა მასალა სასარგებლო?

ამ ენობრივი ვერსიის შეფასება ჯერ მიუწვდომელია.

კომენტარები

საწყისი მასალის კომენტარები არ ითარგმნება.

დარგის ექსპერტი
მაქსი
ბაზრის ანალიტიკოსი

აანალიზებს ბაზრის სტრუქტურას: დონეებს, მოცულობებს, ფასის მოძრაობის სცენარებსა და სავაჭრო სეტაპებს — კრიპტოვალუტებზე, აქციებზე, სავალუტო წყვილებსა და ფიუჩერსებზე. ცოდნის ბაზაში უძღვება ტექნიკურ ანალიზსა და რეალური გრაფიკების განხილვას: რა ხდებოდა ბაზარზე და როგორ იკითხებოდა ეს ინდიკატორის მეშვეობით.

TradingView-ის გრაფიკი Midas-ის ინდიკატორის Buy და Sell ნიშნულებით
Midas-ის მულტიინდიკატორი TradingView-სთვისერთ-ერთი ყველაზე მოწინავე ინდიკატორი ვაჭრობისთვის
  • Buy/Sell ნიშნულები, რომლებიც შემდეგ აღარ იცვლება
  • ინტერაქტიული ტექნიკური ანალიზი
  • 7 სტრატეგია ასარჩევად
Midas-ის მულტიინდიკატორი TradingView-სთვისBuy/Sell ნიშნული, სტოპი და 3 სამიზნე პირდაპირ გრაფიკზე
  • Buy/Sell ნიშნული ფიქსირდება სანთლის დახურვისას
  • სტოპი და 3 სამიზნე ავტომატურად იქმნება
  • გარიგების გეგმა შესვლამდე ჩანს