Кіріспе
Электрондық байланыс протоколы
Қаржылық ақпарат алмасу (FIX) протоколы – 1992 жылы бағалы қағаздар операциялары мен нарықтарына қатысты ақпаратты халықаралық нақты уақыт режимінде алмасу үшін жасалған электрондық байланыс протоколы. Тек NASDAQ нарығында ғана жыл сайын триллиондаған долларлық сауда-саттықтар жасалатындықтан, қаржы қызметтерін ұсынатын мекемелер қаржы нарықтарына қол жеткізу жылдамдығын арттыру үшін тікелей нарыққа қол жеткізу (DMA) технологиясын пайдаланады. Сауда-саттық қолданбаларын басқару және жауап уақытын (latency) төмен ұстау үшін FIX протоколын түсіну қажет.
Тарих
FIX протоколының ерекшеліктері 1992 жылы Роберт "Боб" Ламуро мен Крис Морштатт тарапынан Fidelity Investments және Salomon Brothers арасында акциялық сауда деректерінің электрондық байланысын қамтамасыз ету үшін жасалған. FIX бастапқыда брокер-дилерлер мен олардың институционалдық клиенттері арасындағы ақпарат алмасуға арналған. Ол кезде бұл ақпарат телефон арқылы сөзбен берілетін. Fidelity компаниясы өз брокер-дилерлерінен алынған ақпараттың қате саудагерге жеткізілуі немесе тараптар телефонды түсірген кезде жоғалып кетуі мүмкін екенін анықтады. Олар мұндай байланысты машинамен оқылатын деректермен алмастыруды қалады, осылайша деректер саудагерлер арасында бөлісіліп, талданып, қолданылып, сақталуы мүмкін болар еді. Мысалы, брокер-дилерлер акциялардың бір бөлігін сатып алу немесе сатуға ниеттіліктерін (IOI) білдіреді. FIX бастамасы IOI сияқты жаңа хабарлама түрлерін құрды. FIX Trading Community мәлімдемесіне сәйкес, FIX әлемдік акция нарықтарында саудаға дейінгі және саудалық байланыс үшін де-факто стандартқа айналды, сонымен қатар тікелей өңдеуді қолдау үшін саудадан кейінгі кеңістікке қарай кеңейіп, валюта, облигация және туынды нарықтарына да еніп жатыр.
FIX сауда қоғамдастығы
FIX Trading Community – коммерциялық емес, индустрия басшылығымен құрылған стандарттау ұйымы. Оның миссиясы – стандарттарды, соның ішінде FIX протоколының хабар алмасу тілін кеңінен қолдану арқылы, әлемдік қаржы нарықтарындағы көп активтермен сауда жасауға қатысты бизнес және реттеу мәселелерін шешу, барлық нарық қатысушылары үшін операциялық тиімділікті арттыру, ашықтықты күшейту және шығындар мен тәуекелдерді азайту.
Пайдаланушылар
FIX қаржы нарықтарының сатып алушы (институттар) және сатушы (брокерлер/дилерлер) тараптары тарапынан кеңінен қолданылады. Оның пайдаланушыларына өзара қорлар, инвестициялық банктер, брокерлер, қор биржалары және ECN жатады. FIX саудаға дейінгі коммуникация және сауда орындау үшін стандартты электрондық протоколға айналды. Көбінесе ол фронт-офисте акциялық операциялар үшін қолданылса да, облигациялық туындылар мен валюта операцияларын жүргізу де мүмкін. SWIFT артқы кеңселік хабар алмасу стандарты болса, FIX фронт-офис хабар алмасу стандарты деуге болады. Дегенмен, қазіргі таңда FIX Protocol Ltd. мүшелігі FIX-ті блок саудасын бөлу және сауда процесінің басқа да кезеңдеріне, барлық нарықта, дерлік барлық актив кластары үшін таратуда.
Техникалық ерекшеліктер
Бастапқыда FIX стандарты біртұтас болды, оған қосымша деңгейінің семантикасы, хабарламаны кодтау және сессия деңгейі бір техникалық сипаттамаға кірді. FIX 4.2 нұсқасына дейін ол біртұтас күйінде сақталды. Содан кейін хабарлама кодтамалары мен сессия деңгейінің сипаттамалары жеке құжаттарға бөліне бастады, нәтижесінде FIX байланысты техникалық стандарттар отбасына дамыды.
Хабар кодтамалары
Хабарламаны кодтау, Ашық жүйелер өзара байланысы (OSI) моделіндегі Presentation Layer деп аталады және хабарламалардың сымдық форматы үшін жауапты.
Тег-маңыздың кодталуы (классикалық FIX)
FIX-тың бастапқы хабарлама кодтамасы tagvalue кодтамасы деп аталады. Әрбір өріс бірегей сандық тег пен мәннен тұрады. Тег өрістің мағынасын анықтайды. Сондықтан, хабарламалар өздігінен түсінікті. Tagvalue кодтамасы таңбаларға негізделген және ASCII кодтарын қолданады.
Денесі
FIX хабарламалары бірнеше өрістерден құралады; әрбір өрісте келесі өрістен SOH (0x01) делимитаторымен бөлінген тег-мәнді жұптама болады. Тег – бұл өрістің мағынасын көрсететін бүтін сан. Мәні – бұл белгілі бір тег үшін нақты мағынаны ұстайтын байттар массиві (мысалы, 48-тег SecurityID, қауіпсіздікті анықтайтын жол; 22-тег IDSource, қолданылатын идентификатор класын көрсететін бүтін сан). Мәндер жай мәтін түрінде немесе таза бинарлық кодта болуы мүмкін (осы жағдайда мән алдында ұзындық өрісі болады). FIX протоколы көптеген тегтердің мағынасын анықтайды, бірақ келісім білдірген тараптар арасында жеке пайдалану үшін тегтердің бір бөлігін резервтеуге рұхсат береді. FIX протоколы сондай-ақ белгілі бір хабарламаны құрайтын өрістер жиынтығын анықтайды; өрістер жиынтығындағы кейбіреулері міндетті, ал қалғандары қосымша болады. Хабарламадағы өрістердің реті әдетте маңызды емес, бірақ қайталанатын топтардың алдында саны көрсетіледі және шифрланған өрістер олардың ұзындығымен сүйемелденеді. Хабарлама үш бөлікке бөлінеді: бас, дене және құйрық. Өрістер дұрыс бөлімде болуы керек, және әр бөлім ішінде орналасуы маңызды болуы мүмкін, себебі өрістер бір хабарламаның келесісімен бірігуіне кедергі жасайтын шектеушілер ретінде әрекет ете алады. Кез келген FIX хабарламасының соңғы өрісі 10-тег (тексеру сомасы). Хабарламалардың екі негізгі тобы бар: әкімшілік және қолданба. Әкімшілік хабарламалар FIX сессиясының негізгі қызметтерін басқарады. Олар сессияны бастауға және аяқтауға, сондай-ақ жоғалған хабарламаларды қалпына келтіруге мүмкіндік береді. Қолданбалық хабарламалар саудамен байланысты ақпаратты, мысалы, тапсырыс сұранысын немесе тапсырыстың ағымдағы күйі және одан кейінгі орындалуы туралы ақпаратты жіберу және қабылдаумен айналысады.
Тексеру сомасы
FIX хабарламасының тексеру сомасы әрқашан хабарламадағы соңғы өріс болып табылады, тегі 10 және 3 таңбадан тұратын мәні бар. Ол хабарламадағы барлық символдардың ASCII мәнін қосу арқылы есептеледі (тек тексеру сомасы өрісінен басқа), содан кейін 256-ға бөлінеді (modulo 256). Мысалы, жоғарыдағы хабарламада барлық ASCII мәндерінің қосындысы (ASCII мәні 1 болатын SOH символдарын қоса алғанда) 4158-ге тең. 256-ға бөлу операциясы 62 мәнін береді. Тексеру сомасы үш таңбадан тұрғандықтан, нәтижесі 10=062 болады.
FIXML
FIXML — FIX хабарламалары үшін XML схемасы. Ол семантикалық тұрғыдан tagvalue түрінде кодталған хабарламалармен мағынасы бірдей, бірақ XML талдау технологиясының артықшылықтарын пайдаланады. FIXML көбінесе саудадан гөрі кеңсе жұмысы және клирингтік жүйелерде қолданылады.
Сессия хаттамалары
Сессиялық қабат хабар алмасуға, соның ішінде тексеру нүктелерін қалпына келтіру механизмдеріне жауапты.
FIX жүйесінің диаграммалық бейнеленуі
Төменде сатып алушы/клиент және сатушы/жеткізуші арасындағы FIX хабар алмасу схемасы көрсетілген.
FIX протоколының соңғы жетістіктері
FIX протоколының соңғы нұсқасы "Транспорттық тәуелсіздікті" іске асырады, бірнеше нұсқадағы қолданбалық хабарламаларды бір FIX сессиясының нұсқасына (FIXT.1.1 және одан жоғары) жеткізуге мүмкіндік береді. Транспорттық тәуелсіздік сондай-ақ, дәстүрлі TCP арқылы FIX орнына хабар кезегі және веб-қызметтер сияқты транспорттық протоколдарды пайдалануға жол ашады. FIX енді FIXatdl алгоритмдік сауда анықтама тілін қолдану арқылы алгоритмдік сауданы қолдайды. 2005 жылы FIX Trading Community FAST протоколын жариялады, ол "FIX Adapted for Streaming" деген сөздердің аббревиатурасы болып табылады. FAST – екілік протокол және көбінесе UDP қосылымдары арқылы көптүрлі нарықтық деректерді жіберу үшін қолданылады. Сонымен қатар, 2020 жылы FIX Trading Community Simple Binary Encoding (SBE) негізіндегі жаңа FIX екілік кодтамасын шығарды, ол қолданыстағы FAST кодтамасын толықтыруға бағытталған.