Съвременната икономика е немислима без борсите и фондовия пазар. Търговията в тези сайтове се нарича
търговия . Търговците активно използват възможностите на компютърните технологии, за да улеснят осъществяването на своя бизнес. Търговията с използване на математически модели и компютърни технологии се нарича алгоритмична търговия. Тази статия говори за този вид търговия на финансовите пазари, нейните разновидности, използваните методи, предимствата и недостатъците, използвания софтуер.
- Какво е алгоритмична търговия (алгоритмична търговия)
- Каква е същността на алгоритмичната търговия?
- Какви видове алгоритмична търговия съществуват?
- Кога и как се появява алгоритмичната търговия като явление
- Как алгоритмичната търговия се различава от алгоритмичната търговия?
- Какъв софтуер е подходящ за алгоритмична търговия?
- Какво трябва да запомните, преди да започнете алгоритмична търговия?
- TSLab е една от най-популярните програми за стартиране на алгоритмични ботове.
- Инсталация
- Обучение по алгоритмична търговия в TSLab
- Настройка на доставчика
- Създаване на скрипт
- Stocksharp
- WealthLab
- Какви стратегии се използват за алгоритмична търговия?
- Как да предотвратим загуби при извършване на алгоритмична търговия, управление на риска
- Алго търговия: предимства и недостатъци
Какво е алгоритмична търговия (алгоритмична търговия)
Терминът “алгоритмична търговия” или “алгоритмична търговия” има две значения. В първия случай тази дума означава метод за изпълнение на голяма поръчка на пазара, според който тя се отваря постепенно по определени правила и автоматично се разделя на няколко подпоръчки, които имат собствена цена и обем. Всяка поръчка се изпраща на пазара за изпълнение. Целта на технологията е да улесни трейдърите да правят големи сделки, които трябва да се извършват по възможно най-малко забележим начин. Например, трябва да закупите 200 000 акции и всяка позиция включва 4 акции наведнъж.
Второто значение на тази дума е система, която отваря поръчки по зададен алгоритъм без участието на търговец. Алгоритмите са зададени с цел директна печалба от автоматичния пазарен анализ. Тези системи се наричат още „
робот за търговия “. Алгоритмичната търговия и алгоритмичната търговия се използват на борси, включително борси за криптовалута и Forex.
Каква е същността на алгоритмичната търговия?
Алго търговията включва събиране на данни за конкретен актив въз основа на историята на неговото развитие, избор на алгоритми за транзакции и подходящи роботи за търговия. За определяне на цената се прилага теорията на вероятността, определят се недостатъците на пазара и вероятността от тяхното повторение в бъдеще. Има три вида селекция. При мануален подход специалистът прилага математически формули и физически модели. Генетичният подход включва разработването на правила от компютърни системи и изкуствен интелект. Automatic се произвежда от специална компютърна програма, която обработва масиви от правила и ги тества.
Какви видове алгоритмична търговия съществуват?
Алгоритмичната търговия се реализира в няколко основни направления:
- Технически анализ . Използване на пазарната неефективност и идентифициране на текущи тенденции чрез класически математически и физически анализ.
- Правене на пазара . Този метод поддържа ликвидността на пазара. Маркет мейкърите се възнаграждават от борсата чрез задоволяване на търсенето, включително срещу печалба. Стратегията се основава на счетоводството и бързия поток от информация от пазарите.
- Предно бягане . Анализ на обема на поръчките по инструменти и избор на най-големите от тях. Тази стратегия се основава на факта, че голяма поръчка ще има висока цена и ще привлече много насрещни поръчки. Алгоритмите анализират данни от лента и книга за поръчки и се опитват да коригират движения по време на големи транзакции по-бързо от другите участници.
- Търговия с двойки и кошници . Два или повече инструмента са свързани с висока, но не корелация едно към едно. Отклонението на един от инструментите от зададения курс означава, че е по-вероятно той да се върне в своята група. Определянето на корелацията помага да се направи печеливша сделка.
- Арбитраж . Методът се основава на сравняване на активи със сходна ценова динамика. Това сходство понякога се нарушава поради различни фактори. Същността на арбитража е продажбата на по-скъп актив и покупката на по-евтин. В резултат на това активите ще се изравнят в цената, а по-евтиният актив ще поскъпне. Алгоритмичните системи за търговия откриват промени в цените на пазара и правят печеливши арбитражни сделки.
- Търговия с волатилност . Сложен вид търговия, която се състои в закупуване на различни опции. Търговецът очаква волатилността на акциите да се увеличи при продажба и да намалее при покупка. Този вид търговия изисква значителен капацитет на оборудване и квалифицирани специалисти.
Работещи стратегии в алгоритмичната търговия, цялата истина за търговията с роботи: https://youtu.be/eg3s0c_X_ao
Кога и как се появява алгоритмичната търговия като явление
Алгоритмичната търговия е разработена в началото на 70-те години със създаването на NASDAQ, първата борса, която използва компютърна търговия. В онези дни алгоритмичната търговия беше достъпна само за големи инвеститори, обикновените хора нямаха достъп до такава технология. Тогава компютрите не бяха съвършени и през 1987 г. имаше хардуерна грешка, която доведе до срива на американския пазар. През 1998 г. SEC – Комисията по ценните книжа на САЩ официално разреши използването на електронни платформи за търговия. Тази година трябва да се счита за датата на появата на алгоритмичната търговия в съвременната й форма.В началото на 2000-те транзакциите с помощта на компютри се извършваха за няколко секунди. Но делът на роботите на пазара е по-малко от 90%. До 2009 г. поръчките на борсите бяха изпълнени за милисекунди, а
роботите за търговия извършиха 60% от транзакциите. След 2012 г. ситуацията се промени. Непредсказуемостта на пазара доведе до провали в съществуващия тогава софтуер. Процентът на сделките, изпълнявани автоматично, е намален до 50% от общия брой. За да се избегнат грешки, започна разработването и внедряването на изкуствен интелект.
Как алгоритмичната търговия се различава от алгоритмичната търговия?
Въпреки привидното сходство на понятията, трябва да се прави разлика между понятията „алгоритмична търговия“ и „алгоритмична търговия“. В първия случай се подразбира методът за изпълнение на голяма поръчка чрез разделянето й на части и след това подаването й по определени правила, а във втория случай се говори за автоматизирана система, която създава поръчки без търговец по определен алгоритъм. Алгоритмите в алгоритмичната търговия се използват за опростяване на изпълнението на големи транзакции от търговец. В алгоритмичната търговия те се използват за анализ на пазара и отваряне на позиции за увеличаване на приходите.
Какъв софтуер е подходящ за алгоритмична търговия?
Тъй като алгоритмичната търговия включва използването на компютърни технологии, трябва да изберете правилния софтуер. Търговският робот е основният инструмент за практикуване на автоматизирана търговия. Можете или да го разработите сами, като използвате
езици за програмиране , или да използвате платформата, за да го създадете.
Какво трябва да запомните, преди да започнете алгоритмична търговия?
Първо, струва си да се спомене, че алго търговецът трябва да може да програмира, защото повечето платформи могат да бъдат овладени чрез овладяване на това умение. Езикът за програмиране, използван за алгоритмична търговия, трябва да е съвместим с всички платформи и алгоритми, които се разработват. Най-подходящият език за програмиране е C# (C-sharp). Използва се в платформи като TSLab, StockSharp, WealthLab. Без да знаете езика за програмиране, последните 2 програми ще трябва да се усвоят няколко месеца.
TSLab е една от най-популярните програми за стартиране на алгоритмични ботове.
Платформа за създаване, тестване и стартиране на
роботи и системи за търговия. Включва удобен визуален редактор под формата на кубчета, който ще ви позволи да разработите робот, без да знаете език за програмиране. Можете да сглобите желания алгоритъм за търговия от кубчетата. Историята на търговските инструменти, събрана от програмата, ще ви позволи да намерите и коригирате грешки в скриптове, докато инструментите за технически анализ ще ви помогнат да създадете уникално решение.
Инсталация
За да инсталирате платформата, трябва да изтеглите инсталатора от официалния уебсайт. Страницата за изтегляне посочва, че програмата работи само на 64-битови версии на Windows. След изтегляне отворете инсталационния файл. Преди инсталиране ще ви подкани да инсталирате най-новата версия на .NET Framework и Visual C++ Redistributable Studio.
Ако необходимите версии на тези програми не са налични, трябва да ги инсталирате. Платформата няма да работи без тях. Ако са налични най-новите версии на тези програми, ще се отвори началният прозорец на инсталатора. Нека щракнете върху “Напред”.
Ние сме съгласни с условията на лицензионното споразумение и избираме пътя, където ще бъде инсталирана програмата.
След това трябва да дадете разрешение за инсталирането и да изчакате да завърши.
Когато инсталацията приключи, ще се отвори съответният прозорец. Можете да стартирате програмата след инсталиране.
Обучение по алгоритмична търговия в TSLab
Настройка на доставчика
За да настроите и тествате робот за търговия, трябва да имате история на котировките. За да получите историята на котировките, трябва да настроите доставчик на данни. В менюто “Данни” изберете елемента “Доставчици”.
Ще се отвори празен раздел за доставчици. Трябва да щракнете върху бутона “Добавяне”. В диалоговия прозорец, който се отваря, изберете „Исторически данни“. На този етап трябва да изберете типа данни за котировките. В този случай е избран текстов файл с котировки с ценова стъпка 0,01. Изтеглете необходимия файл от хранилището.
Изтеглете файла 1.rand.quote.step=0.01_1m.txt.zip. След като го изтеглите, намерете файла в папката за изтегляне и го извлечете от архива. Връщаме се в TSLab и избираме елемента “Доставчици” в менюто “Данни”.
Ще се отвори съответният прозорец. Трябва да кликнете върху бутона “Добави”.
Ще се отвори прозорецът за добавяне на доставчик. В него изберете елемента “Исторически данни” и след това щракнете върху “Напред”.
В следващия прозорец посочете името и типа данни на доставчика. Задайте името на TextData и типа на данните на Text Files. Натискаме “Напред”.
Изберете пътя към доставчика. Пътят по подразбиране е C:ProgramDataTSLabTSLab 2.1ProvidersText. Можете да посочите различен път, като щракнете върху … в лентата на пътя. Задаваме пътя на нашия файл, след което задаваме параметрите: 1. Броят на десетичните знаци е 2. 2. Стъпката на цената се определя автоматично, ако е по-малка от 1. Файл със стъпка 0.01 и посочване на 1 влизане в настройките ще избере стъпка от 0,1
Натиснете бутона “Напред”. В прозореца Доставчици доставчикът на данни TextData ще стане видим.
Създаване на скрипт
Платформата TSLab ви позволява да разработвате алгоритми за търговия, да тествате и създавате роботи за търговия – агенти. Но преди да създадете алгоритъм за търговия, трябва да напишете скрипт за него. За да направите това, изберете “Лаборатория” в менюто. Изберете „Скриптове“ от падащия списък.
Ще се отвори диалогов прозорец, в който кликваме върху „Създаване на нов“. Във втория прозорец въведете името на скрипта и щракнете върху “OK”.
Щракнете два пъти с левия бутон на мишката върху създадения скрипт за редактиране. Ще видим визуален редактор на скриптове.
Синият правоъгълен блок е „търгуваният инструмент“. Сив правоъгълник “Том 1” – броят операции с опции или фючърсни договори за определен период от време. Блокът “Затваряне” отразява цената на затваряне на бара. Блокът “Панел на графиката” създава съответния панел.
Кликнете с десния бутон. Изберете „Свойства“ от падащото меню. Изберете раздела Скрипт.
Деактивирайте „Използване дата от”. Изберете раздела “Източници”, а в него – инструмента. Кликнете върху това поле. Ще се отвори прозорецът “Избор на ценни книжа”, в който ще трябва да изберете доставчик на данни TextData и да посочите инструмента – котировки на текстовия файл 1.rand.quote.step=0.01_1m. Натиснете “OK”, за да потвърдите.
След като изберете инструмента, в горната част на прозореца ще се появи раздел с изображение на диаграмата и надпис “Зареждане”. След обработка на данните, името на избрания инструмент ще се появи в този раздел – 1.rand.quote.step=0.01_1m
Кликнете върху “Запазване и изпълнение” след зареждане на данните.
Този скрипт е предназначен да показва инструмента на графиката. Накрая ще се отвори раздел с графика. Алгоритмите за търговия и търговските агенти са настроени по подобен начин. Както можете да видите, алгоритмичната търговия с помощта на TSLab е достъпна за почти всеки и не изисква предварително обучение. Основното предимство на TSLab е, че всеки потребител може да започне да компилира роботи за търговия след 2-3 дни изучаване на платформата. Това се улеснява от визуалния редактор. С помощта на редактора ще научите необходимото мислене, необходимо в алгоритмичната търговия. TSLab поддържа езика C#, по-нататъшното програмиране на тази платформа може да продължи с помощта на TSLab API. По-нататъшното потапяне в алгоритмичната търговия обаче е по-добре да продължи с по-сложни програми.
Stocksharp
Stocksharp е библиотека от роботи за търговия, написана на C#. Търговските роботи са компилирани в програмната среда на Visual Studio. Следователно, преди да напишете робот с помощта на този ресурс, ще трябва да прекарате поне шест месеца в изучаване на език за програмиране. Не всеки успява да завърши проучването докрай. Използването на тази платформа обаче е напълно оправдано на практика.
WealthLab
WealthLab е друга платформа за тестване и разработване на роботи и системи за търговия от Fidelity. Има две версии на програмата: Pro за граждани на САЩ с акаунт Fidelity и Developer за всички останали. WealthLab ви позволява да използвате инструменти за технически анализ при разработването на роботи, да получавате сигнали за влизане и затваряне на сделка и да ги прехвърляте към терминала. Ако търговецът не знае как да програмира, той може да използва асистент (съветник). Платформата е базирана на езиците за програмиране C# и Pascal. Платформата рисува диаграми под формата на сегменти, японски свещници, линейни диаграми и др.
Основната функция на програмата е оптимизиране и тестване на стратегии въз основа на исторически данни. WealthLab може да се научи не толкова бързо, колкото TSLab, но само за 2 месеца. Вграденият език за програмиране дава големи възможности за създаване на печеливши стратегии за търговия. Търговецът може да свърже платформата със софтуерния пакет Quik, което ще позволи да се правят поръчки офлайн.
Какви стратегии се използват за алгоритмична търговия?
За да може търговията с помощта на алгоритми да доведе до осезаеми резултати, трябва да се придържате към стратегия, предназначена за конкретна ситуация.
- Спекулативна стратегия . Тя е насочена към постигане на най-изгодна цена за сключване на сделка с последваща печалба. Използва се предимно от частни търговци.
- извличане на данни . Намиране на нови модели за нови алгоритми. Повечето от данните се събират за тази стратегия преди тестването. Информацията се търси чрез ръчни настройки.
- TWAP е среднопретеглената във времето цена. Отваряне на поръчки на равни интервали от време при най-добра цена купува и предлага.
- VWAP – среднопретеглена по обем цена. Отваряне на позиция на равни части с еднакъв обем за определено време и цени не по-високи от средната стойност.
- Стратегия за изпълнение . Стратегия, използвана за придобиване на актив на среднопретеглена цена в голям обем. Използва се главно от брокери и хедж фондове.
Как да предотвратим загуби при извършване на алгоритмична търговия, управление на риска
Голяма грешка е да се вярва, че един алгоритмичен търговец трябва само да създаде робот за търговия. Всички рискове трябва да бъдат предотвратени и елиминирани. Прекъсванията в електричеството, интернет връзката и грешките в изчисленията и програмирането могат да доведат до значителни загуби и напълно да ви лишат от доходи.Инфраструктурен сървър, където се извършва алгоритмична търговия, може внезапно да се повреди или операционната система да се рестартира на него. За да премахнете проблемите със сървъра, можете да наемете сървър или да създадете свой собствен. Ако това не е налично, трябва да вземете сървър от стабилен доставчик с добра връзка. Системата трябва да има минимален запас от мощност от 40-50%. Проблемите с връзката винаги възникват неочаквано. Можете да конфигурирате връзката така, че борсата да затваря позиции след загуба на връзката. Повредата на пакетите с данни се проследява чрез алгоритми за проследяване на WatchDog. Търговските стратегии, използвани в търговията, са несъвършени и тяхната комбинация може да доведе до напълно различни последствия. В приложенията може да има грешки в API. Цената, обемът, стойността на лотовете може да се показват неправилно. Освен това сделките могат да се провеждат през почивните дни или празниците, търговската стратегия или ограниченията на сметката са нарушени.
За да се елиминират тези грешки, е необходимо да се наблюдават и анализират поръчките и лимитите на стратегиите за търговия, за да се елиминират грешните параметри.
В случай на извънредна ситуация е необходимо незабавно да информирате всички заинтересовани страни за това чрез SMS, електронна поща, месинджъри и други комуникационни канали. Задължително е да записвате всяка грешка в дневниците, за да предотвратите повторението й в бъдеще. Как да създадете пасивен доход с алгоритмична търговия: https://youtu.be/UeUANvatDdo
Алго търговия: предимства и недостатъци
Търговските роботи не са подложени на “човешки” фактори, които биха могли да повлияят на тяхната работа: умора, емоционални сривове и други. Това е основното предимство на алгоритмичната търговия. Алгоритмите следват добре дефинирана програма и никога не се отклоняват от нея. Алго търговията има редица недостатъци. Те включват по-специално недостъпността на информация за този вид търговия в публичното пространство. Алгоритмичният търговец трябва да владее програмирането, което е доста трудно за повечето финансови специалисти. Ако пазарът се промени, ще трябва напълно да промените алгоритъма. При писането на робот за търговия може да бъде направена грешка, която ще доведе целия алгоритъм по грешен път и това ще доведе до загуба на средства.
Алгоритмичната търговия е доста сложен вид борсова търговия, която изисква познания не само по търговия, но и по математика и програмиране. Необходимо е не само да можете да създадете желания алгоритъм, но и да предотвратите проблеми с връзката, грешки в алгоритмите и програмния код. Трябва да помислите добре, преди да решите да търгувате по този начин. Въпреки това, след като го усвои и го приложи правилно на практика, търговецът ще получи значително увеличение на доходите и ще улесни работата си.