Докато използват алгоритмична търговия, търговците доверяват трудно спечелените пари на търговския софтуер, който използват. Правилното парче компютърен софтуер е много важно за осигуряване на ефективно и точно изпълнение на търговските поръчки. Повреден софтуер или такъв без необходимите функции може да доведе до огромни загуби.
Бърз грунд за алгоритмична търговия
Алгоритъмът се дефинира като специфичен набор от стъпка по стъпка инструкции за изпълнение на определена задача. Независимо дали е проста, но пристрастяваща компютърна игра като Pac-Man или електронна таблица, която предлага огромен брой функции, всяка програма следва определен набор от инструкции, базирани на основен алгоритъм.
Алгоритмичната търговия е процесът на използване на компютърна програма, която следва определен набор от инструкции за пускане на търговска поръчка. Целта на алгоритмичната програма за търговия е динамично да идентифицира печелившите възможности и да разположи търговията, за да генерира печалба със скорост и честота, които не могат да бъдат съпоставени от човешки търговец. Като се имат предвид предимствата на по-висока точност и бързина на изпълнение на мълнии, търговските дейности, базирани на компютърни алгоритми, придобиха огромна популярност.
Кой използва алгоритмичен софтуер за търговия?
Алгоритмичната търговия е доминирана от големи търговски фирми, като хедж фондове, инвестиционни банки и търговски фирми. Като се има предвид обилната наличност на ресурси поради големия им размер, такива фирми обикновено изграждат собствен софтуер за търговия, включително големи търговски системи със специализирани центрове за данни и помощен персонал.
На индивидуално ниво опитни собствени търговци и кванти използват алгоритмична търговия. Собствените търговци, които са по-слабо технологични, могат да закупят готов софтуер за търговия за своите алгоритмични търговски нужди. Софтуерът се предлага или от техните брокери или се закупува от доставчици на трети страни. Квантите имат добри познания както за търговията, така и за компютърното програмиране и сами разработват софтуер за търговия.
Алгоритмичен софтуер за търговия: Изграждане или купуване?
Има два начина за достъп до алгоритмичен софтуер за търговия: изграждане или покупка.
Закупуването на готов софтуер предлага бърз и навременен достъп, докато създаването на собствен позволява пълна гъвкавост, за да го персонализирате според вашите нужди. Софтуерът за автоматизирана търговия често е скъп за закупуване и може да е пълен с вратички, които, ако бъдат игнорирани, могат да доведат до загуби. Високата цена на софтуера може също да се възползва от реалистичния потенциал за печалба от вашето алгоритмично начинание за търговия. От друга страна, изграждането на алгоритмичен софтуер за търговия самостоятелно отнема време, усилия и задълбочени познания и все още може да не е надеждно.
Основните характеристики на алгоритмичния софтуер за търговия
Рискът, свързан с автоматичната търговия, е голям, което може да доведе до големи загуби. Независимо дали решавате да купувате или строите, важно е да сте запознати с основните необходими функции.
Наличие на пазарни и фирмени данни. Всички алгоритми за търговия са проектирани така, че да действат върху пазарните данни и ценовите котировки в реално време. Няколко програми също са персонализирани за отчитане на основни данни на компанията като EPS и P / E съотношения. Всеки алгоритмичен софтуер за търговия трябва да има информация в реално време за пазарни данни, както и фирмен информационен канал. Тя трябва да е налична като вградена в системата или да има възможност за лесно интегриране от алтернативни източници.
Свързване с различни пазари. Търговците, които искат да работят на много пазари, трябва да отбележат, че всяка борса може да предостави своите емисии на данни в различен формат, като TCP / IP, Multicast или FIX. Вашият софтуер трябва да може да приема емисии от различни формати. Друг вариант е да се свържете с доставчици на данни от трети страни като Bloomberg и Reuters, които обобщават пазарните данни от различни борси и ги предоставят в единен формат за крайни клиенти. Алгоритмичният софтуер за търговия трябва да може да обработва тези обобщени емисии според нуждите.
Латентност. Това е най-важният фактор за търговията с алгоритми. Закъснението е забавянето във времето, въведено при движението на точки от данни от едно приложение към друго. Обмислете следната последователност от събития. Необходими са 0, 2 секунди, докато офертата на цената дойде от борсата до центъра за данни на вашия доставчик на софтуер (DC), 0, 3 секунди от центъра за данни, за да стигне до вашия търговски екран, 0, 1 секунди, за да може вашият софтуер за търговия да обработи получената оферта, 0, 3 секунди за тя да анализира и постави сделка, 0, 2 секунди, за да може вашата търговска поръчка да достигне до вашия брокер, 0, 3 секунди за вашия брокер да насочи вашата поръчка към борсата.
Общо изминало време = 0, 2 + 0, 3 + 0, 1 + 0, 3 + 0, 2 + 0, 3 = Общо 1, 4 секунди.
В днешния динамичен свят за търговия, първоначалната ценова цена би се променила многократно в рамките на този период от 1, 4 секунди. Това забавяне може да доведе до или да разруши вашето алгоритмично начинание за търговия. Човек трябва да задържи тази закъснение до най-ниското възможно ниво, за да гарантира, че получавате най-актуалната и точна информация без промеждутък от време.
Закъснението е намалено до микросекунди и трябва да се направи всеки опит да се задържи възможно най-ниско в системата за търговия. Няколко мерки включват наличието на директна връзка с обмена, за да получите по-бързи данни чрез елиминиране на доставчика между тях; чрез подобряване на вашия алгоритъм за търговия, така че да отнеме по-малко от 0, 1 + 0, 3 = 0, 4 секунди за анализ и вземане на решения; или чрез елиминиране на брокера и директно изпращане на сделки до борсата, за да спестите 0, 2 секунди.
Конфигурируемост и персонализиране. Повечето алгоритмичен софтуер за търговия предлага стандартни вградени търговски алгоритми, като тези, базирани на кръстосване на 50-дневната подвижна средна стойност (MA) с 200-дневния MA. Един търговец може да иска да експериментира, като премине на 20-дневен МА със 100-дневния МА. Освен ако софтуерът не предлага такова персонализиране на параметрите, търговецът може да бъде ограничен от вградената фиксирана функционалност. Независимо дали купувате или изграждате, софтуерът за търговия трябва да има висока степен на персонализиране и конфигуриране.
Функционалност за писане на персонализирани програми. Matlab, Python, C ++, JAVA и Perl са често срещаните езици за програмиране, използвани за писане на софтуер за търговия. Повечето търговски софтуер, продаван от доставчици на трети страни, предлага възможността да пишете свои собствени програми в него. Това позволява на търговец да експериментира и да изпробва всяка търговска концепция, която разработва. Софтуерът, който предлага кодиране на език за програмиране по ваш избор, очевидно е предпочитан.
Функция за обратно тестване на исторически данни. Симулирането на бектестинг включва тестване на стратегия за търговия на исторически данни. Той оценява практичността и рентабилността на стратегията върху минали данни, удостоверявайки я за успех (или провал или необходими промени). Тази задължителна характеристика също трябва да бъде придружена от наличие на исторически данни, по които може да се извърши backtesting.
Интеграция с интерфейс за търговия. Алгоритмичният софтуер за търговия поставя автоматично сделки въз основа на възникването на желаните критерии. Софтуерът трябва да има необходимата свързаност към брокера (ите) за осъществяване на търговията или директно свързване към борсата за изпращане на търговски поръчки.
Plug-n-Play интеграция. Един търговец може едновременно да използва терминал Bloomberg за анализ на цените, терминал на посредник за пускане на сделки и програма Matlab за анализ на тенденциите. В зависимост от индивидуалните нужди, алгоритмичният софтуер за търговия трябва да има лесна plug-n-play интеграция и налични API за такива често използвани инструменти за търговия. Това гарантира мащабируемост, както и интеграция.
Програмно независимо програмиране. Няколко езика за програмиране се нуждаят от специални платформи. Например, някои версии на C ++ могат да работят само в избрани операционни системи, докато Perl може да работи във всички операционни системи. Докато изграждате или купувате софтуер за търговия, предпочитание трябва да се дава на софтуер за търговия, който е независим от платформата и поддържа езици, независими от платформата. Никога не знаете как ще се развие вашата търговия след няколко месеца надолу.
Материалът под качулката. Общата поговорка гласи: „Дори маймуна може да кликне върху бутон, за да извърши търговия.“ Зависимостта от компютрите не трябва да бъде сляпа. Търговецът е този, който трябва да разбере какво става под капака. Докато купувате софтуер за търговия, човек трябва да поиска и да отдели време, за да премине подробна документация, която показва основната логика на определен алгоритмичен софтуер за търговия. Избягвайте всеки софтуер за търговия, който е пълна черна кутия и който твърди, че е тайна машина за печелене на пари.
Докато изграждате софтуер, бъдете реалистични за това, което прилагате и бъдете ясни за сценариите, при които той може да се провали. Тествайте го внимателно, преди да го използвате с реални пари.
Откъде да започнем?
Всички готови алгоритмичен софтуер за търговия обикновено предлагат безплатни пробни версии с ограничена функционалност или ограничени пробни периоди с пълна функционалност. Разгледайте ги напълно по време на тези изпитания, преди да купите нещо. Не забравяйте да разгледате подробно наличната документация.
Долния ред
Алгоритмичният софтуер за търговия е скъп за закупуване и е трудно да се изгради самостоятелно. Закупуването на готов софтуер предлага бърз и навременен достъп, а изграждането на собствен позволява пълна гъвкавост, за да го персонализирате според вашите нужди. Преди да се впуснете в алгоритмичната търговия с реални пари, трябва да разберете напълно функционалността на софтуера за търговия. Ако не го направите, това може да доведе до големи загуби.