GaiaExGaiaEx
API

Институционалдық FIX API (4.2 / 4.4 / 5.0 / 5.2)

Институционалдық FIX 4.2, 4.4, 5.0 және 5.2 қосылымы: Тапсырыс енгізу (:9878), Нақты уақыттағы Drop Copy (797=Y / 9406=Y), Нарықтық деректер (:9879) және QuickFIX XML схемасы.

AI АГЕНТТЕРІ ҮШІН ДАЙЫНClaude Code, OpenAI Codex және Antigravity (`agy`) құралдарын ресми GaiaEx дағдыларымен жабдықтаңыз
CLAUDE CODESKILL.md
Claude SKILL.md

HMAC-SHA256 қолтаңбасы, /fapi/v1 және /fapi/v2 схемалары және құпия деректерді қорғау шектеулері бар дайын Claude Code дағдысы.

Бастапқы күйде ↗
OPENAI CODEXAGENTS.md
Codex AGENTS.md

OpenAI Codex CLI үшін дайын репозиторийлік AGENTS.md — тик көлемі ережелері, сұраныс лимиті бюджеттері және өзін-өзі сақтау шекаралары.

Бастапқы күйде ↗
ANTIGRAVITYAGY.md
Antigravity AGY.md

Тексерілген асинхронды Python WebSocket + REST орындау үлгілері бар Google Antigravity (agy) және Gemini агентінің спецификациясы.

Бастапқы күйде ↗
UNIVERSAL LLMllms.txt
/llms.txt Index

Барлық GaiaEx құжаттама беттерінің, OpenAPI 3.0 схемасының және Postman топтамасының машина оқи алатын бірыңғай URL индексі.

Бастапқы күйде ↗

1. Архитектура және көп нұсқалы шолу

GaiaEx Native C++26 институционалдық FIX шлюзі тұрақты TCP/TLS сессиялары арқылы детерминирленген, өте төмен кідірісті Order Entry, нақты уақыттағы Drop Copy, Position & Order Inquiry және L1/L2 нарық деректерінің (Market Data) стримингін қамтамасыз етеді.

QuickFIX / OnixS XML сұлбасын жүктеп алу: /fix-dictionary.xml — QuickFIX (C++/Python/Go), QuickFIX/J, OnixS, OneZero және институционалдық OMS платформаларымен үйлесімді. Алға қарай үйлесімділік үшін клиенттік қозғалтқышыңызды ValidateUserDefinedFields=N және ValidateFieldsOutOfOrder=N арқылы конфигурациялаңыз.

Шлюз сессиясының түріПортҚолдау көрсетілетін нұсқаларМүмкіндіктерҚолжетімділік саясаты
Order Management (OE)9878FIX.4.2, FIX.4.4, FIX.5.0, FIX.5.2Order entry (35=D), Cancel (35=F), Amend (35=G), Mass Cancel (35=q), Order Status (35=H), Positions (35=AN), Rate Limits (35=XLQ), Instruments (35=x)Read + Trade API Key
Drop Copy (DC)9878FIX.4.2, FIX.4.4, FIX.5.0, FIX.5.2Барлық FIX және REST/HTTP тапсырыстары бойынша 797=Y және 9406=Y тегтерімен белгіленген нақты уақыттағы шоғырландырылған ExecutionReport (35=8) ағыныRead-Only Enforced (35=j тапсырыстарды қабылдамайды)
Market Data (MD)9879FIX.4.2, FIX.4.4, FIX.5.0, FIX.5.2Нақты уақыттағы L1/L2 Snapshot (35=W), IncrementalRefresh (35=X) және MarketDataRequestReject (35=Y)Read-Only Enforced (35=j тапсырыстарды қабылдамайды)

Нұсқаларды келісу және желілік ережелер

FIX нұсқасыBeginString (8)Logon тегі (35=A)App Header тегіСауда ExecType (150)ExecTransType (20) ережесі
FIX 4.28=FIX.4.2ЖоқЖоқ150=1 (Жартылай), 150=2 (Толық)Міндетті (20=0 Жаңа, 20=3 Күйі)
FIX 4.48=FIX.4.4ЖоқЖоқ150=F (Trade) 39=1/2 біргеТыйым салынған (35=3, 371=20, 373=2 арқылы қабылданбайды)
FIX 5.08=FIXT.1.11137=71128=7150=F (Trade) 39=1/2 біргеТыйым салынған (35=3, 371=20, 373=2 арқылы қабылданбайды)
FIX 5.2 (5.0 SP2)8=FIXT.1.11137=91128=9150=F (Trade) 39=1/2 біргеТыйым салынған (35=3, 371=20, 373=2 арқылы қабылданбайды)

2. Сессияны басқару және HMAC-SHA256 Logon (35=A)

Әрбір FIX сессиясы GaiaEx API кілті (Tag 553), API құпиясы (Tag 554) және RawData (Tag 96) ішіндегі кіші әріпті он алтылық HMAC-SHA256 қолтаңбасы арқылы аутентификацияланған Logon (35=A) кадрынан басталады.

import hmac, hashlib

def sign_fix_logon(api_secret: str, sending_time: str, seq_num: int, sender_comp_id: str, target_comp_id: str) -> str:
    # Canonical prehash string: SendingTime(52) | MsgType(35) | MsgSeqNum(34) | SenderCompID(49) | TargetCompID(56)
    payload = f"{sending_time}|A|{seq_num}|{sender_comp_id}|{target_comp_id}"
    return hmac.new(api_secret.encode("utf-8"), payload.encode("utf-8"), hashlib.sha256).hexdigest()
ТегӨріс атауыМінд.Сипаттамасы
98EncryptMethodY0 = Жоқ / TLS көліктік шифрлауы
108HeartBtIntYСекундтағы Heartbeat аралығы (ұсынылады: 30)
141ResetSeqNumFlagNY = Реттік нөмірлерді 1 мәніне ысыру; N = Күн ішіндегі реттік күйді жалғастыру
553UsernameYGaiaEx API кілті
554PasswordYGaiaEx API құпиясы
96RawDataY52|A|34|49|56 бойынша 64 таңбалы он алтылық HMAC-SHA256 қолтаңбасы
797 / 9406CopyMsgIndicator / DropCopyFlagNТек оқуға арналған Drop Copy сессиясын тіркеу үшін 797=Y, 9406=Y немесе 50=DROPCOPY орнатыңыз
1409SessionStatusOut35=A / 35=5 ішінде қайтарылады: 0=Белсенді, 4=Шығу аяқталды, 5=Қате аутентификация, 6=Реттік нөмір тым төмен, 101=100M реттік лимиті

Үзілістерді қалпына келтіру (35=2 & 35=4) және Cancel-on-Disconnect (CoD)

  • Кіріс үзілісін анықтау: Егер кіріс хабарламасында MsgSeqNum (34) > ExpectedSeqNum болса, шлюз дереу ResendRequest (35=2, 7=ExpectedSeqNum, 16=0) жібереді. Егер PossDupFlag (43=Y) болмай MsgSeqNum (34) < ExpectedSeqNum келсе, шлюз Logout (35=5, 1409=6) шығарып, сокетті жабады.
  • Шығыс қайталау: Клиент ResendRequest (35=2) жіберген кезде, шлюз барлық қолданбалы хабарламаларды (соның ішінде Drop Copy 35=8 есептерін) 43=Y және 122=OrigSendingTime арқылы қайта ойнатады және әкімшілік кадрларды SequenceReset-GapFill (35=4, 123=Y) ішіне біріктіреді.
  • Ажыратылғанда автоматты түрде тоқтату (CoD): Order Management сессиясы ажыратылған кезде, сол сессияда орналастырылған барлық ашық күтудегі тапсырыстар (OrdStatus 39=0) автоматты түрде тоқтатылады (150=4, 39=4, 103=3020) және кез келген белсенді Drop Copy сессиясына нақты уақытта таратылады.

3. Тапсырыс беру, өзгерту, тоқтату және сұрау (35=D, G, F, q, H, AN, XLQ)

NewOrderSingle (35=D)

ТегӨріс атауыМінд.Қолдау көрсетілетін мәндер және ескертпелер
11ClOrdIDYКлиент тағайындаған бірегей тапсырыс идентификаторы (31 таңбаға дейін)
1AccountNӨздігінен сақталатын қойма мекенжайы (0x...) немесе қосалқы шот идентификаторы
50SenderSubIDNТрейдер немесе стратегия идентификаторы; 35=8 ішіндегі TargetSubID (57) арқылы қайтарылады
55SymbolYUSDC Perps (BTCUSDC, ETHUSDC, SOLUSDC), USDT Perps (BTCUSDT, ETHUSDT), RWA Perps (xyz:GOLD / GOLDUSDC, xyz:NVDA, xyz:TSLA)
54SideY1 = Сатып алу, 2 = Сату
38OrderQtyYБазалық активтегі тапсырыс көлемі (4 таңбалы бөлшек дәлдікті қолдайды, мысалы, 0.0050)
40OrdTypeY1 = Нарықтық, 2 = Лимиттік, 4 = Stop Limit (99=StopPx талап етеді), p = Post-Only (немесе 18=6)
44PriceCЛимиттік баға (40=2, 40=4, 40=p үшін талап етіледі)
59TimeInForceN1 = GTC (әдепкі), 3 = IOC, 4 = FOK, 5 = GTX
544CashMarginN1 = Cash (әдепкі), 2 = Margin Open, 3 = Margin Close

Өзгерту (35=G), Тоқтату (35=F), Жаппай тоқтату (35=q), Күй (35=H), Позициялар (35=AN) және Лимиттер (35=XLQ)

MsgTypeХабарлама атауыНегізгі сұрау тегтеріШлюз жауабы
35=GOrderCancelReplaceRequest11=ClOrdID, 41=OrigClOrdID, 55=Symbol, 54=Side, 38=OrderQty, 44=Price150=5, 39=5 (Ауыстырылды) немесе 35=9 (434=2) бар 35=8
35=FOrderCancelRequest11=ClOrdID, 41=OrigClOrdID, 55=Symbol, 54=SideЕкі қадамды 35=8: 150=6, 39=6 (Тоқтатылуда) → 150=4, 39=4 (Тоқтатылды), немесе 35=9 (434=1)
35=qOrderMassCancelRequest11=ClOrdID, 530=7 (Барлық тапсырыстарды тоқтату)35=r (1369=MassActionReportID, 531=7) + әр тоқтатылған тапсырыс үшін бір 35=8 (150=4, 39=4)
35=HOrderStatusRequest11=ClOrdID (немесе 37=OrderID), 790=OrdStatusReqID150=I (Тапсырыс күйі) немесе 150=8, 103=5 (Белгісіз тапсырыс) бар 35=8
35=ANRequestForPositions710=PosReqID, 724=0 (Позициялар), 1=Account, 55=Symbol721=PosMaintRptID, 728=0, 704=LongQty, 705=ShortQty, 730=SettlePrice бар PositionReport (35=AP)
35=XLQLimitQuery25003=ReqID25005=ORDERS (500/с) және 25005=CONNECTIONS (20/шот) бар LimitResponse (35=XLR)

4. Нақты уақыттағы Drop Copy және салыстыру (797=Y / 9406=Y)

Drop Copy прайм-брокерлерді, тәуекел жүйелерін және бэк-офистік салыстыру жүйелерін FIX Order Entry сессиялары мен REST/HTTP API тапсырыстары бойынша барлық ExecutionReport (35=8) оқиғаларының нақты уақыттағы, тек оқуға арналған ағынымен қамтамасыз етеді.

  • Әмбебап жазылу жалаушалары: 9878 портына қосылып, 797=Y (CopyMsgIndicator), 9406=Y (DropCopyFlag) немесе 50=DROPCOPY (SenderSubID) бар Logon (35=A) жіберіңіз.
  • Екі тегті шығыс таңбалау: Әрбір Drop Copy 35=8 кадрында 57=DROPCOPY, 797=Y және 9406=Y, сондай-ақ толық комиссия/жеңілдік мәліметтері (381=GrossTradeAmt, 1057=AggressorIndicator, 136=1|137=MiscFeeAmt|138=MiscFeeCurr|139=4, 20000=TradeFeeRebateAmt) болады.
  • Тек оқуға қатаң қорғау: Drop Copy сессиясында 35=D, 35=F, 35=G немесе 35=q жіберудің кез келген әрекеті BusinessMessageReject (35=j, 380=4) арқылы дереу қабылданбайды.
  • Реттік үзілістерді қалпына келтіру: Шығыс Drop Copy есептері сессия ретінің сақтау орнында сақталады және оларды PossDupFlag (43=Y) бар ResendRequest (35=2) арқылы қайта ойнатуға болады.

5. Нарық деректері (35=V, W, X, Y) және анықтамалық деректер (35=x, y, h)

Арнайы Market Data ағыны үшін 9879 портына қосылыңыз немесе SecurityListRequest (35=x) арқылы құрал спецификацияларын сұраңыз.

  • MarketDataRequest (35=V): 262=MDReqID, 263=1 (Снэпшот + Жаңартулар) немесе 0 (Снэпшот), 264=1 (Кітаптың жоғарғы жағы) немесе 20 (Толық тереңдік) және 55=Symbol жіберіңіз. Алдымен MarketDataSnapshotFullRefresh (35=W), содан кейін MarketDataIncrementalRefresh (35=X) қайтарылады. Белгісіз таңбалар MarketDataRequestReject (35=Y, 281=0) қайтарады.
  • SecurityListRequest (35=x): 320=SecurityReqID және 559=0 (55 ішіндегі жалғыз таңба) немесе 559=4 (барлық құралдар) жіберіңіз. Баға қадамы (969=MinPriceIncrement), ең аз/ең көп тапсырыс көлемі (8000/8001) және ондық дәлдігі (8002/8003) бар SecurityList (35=y) қайтарылады.
  • TradingSessionStatus (35=h): 340=2 (24x7x365 ашық) немесе 340=1 (Тоқтатылған) қайтарады.

QuickFIX клиентінің конфигурация үлгісі (gaiaex_fix.cfg)

[DEFAULT]
ConnectionType=initiator
ReconnectInterval=5
FileStorePath=./store
FileLogPath=./log
StartTime=00:00:00
EndTime=00:00:00
UseDataDictionary=Y
DataDictionary=./fix-dictionary.xml
ValidateUserDefinedFields=N
ValidateFieldsOutOfOrder=N
HeartBtInt=30

[SESSION]
BeginString=FIX.4.4
SenderCompID=INST_CLIENT_OE
TargetCompID=GAIAEX_PROD
SocketConnectHost=10.10.0.51
SocketConnectPort=9878
ResetOnLogon=N

[SESSION]
BeginString=FIX.4.4
SenderCompID=INST_CLIENT_DC
TargetCompID=GAIAEX_PROD
SenderSubID=DROPCOPY
SocketConnectHost=10.10.0.51
SocketConnectPort=9878
ResetOnLogon=N