Хичээл 2 / 6advanced20 мин унших

Алгоритмын арилжааны үндэс

Алгоритмаар ажилладаг системчилсэн, дүрэмд суурилсан арилжааны үндэс.

Гол нэр томьёо

algorithmic trading·systematic·quantitative·execution algorithm

Algorithmic trading буюу урьдчилан тодорхойлсон дүрэм, математик загварт үндэслэн арилжаа гүйцэтгэхийн тулд компьютерийн программ ашиглах нь одоо дэлхий даяарх гадаад валютын эргэлтийн ихээхэн хэсгийг эзэлж байна. Олон улсын төлбөр тооцооны банк (BIS) гол валютын хосуудад электрон болон algorithmic trading spot FX эргэлтийн 70 гаруй хувийг бүрдүүлдэг болохыг баримтжуулсан бөгөөд энэ тоо 2000-аад оны эхнээс хойш тогтвортой өссөн. Жижиглэн арилжаачдын хувьд algorithmic trading-ийн зарчмуудыг ойлгох нь сонголт биш болжээ; ихэнх таны эсрэг тал нь миллисекундээр хэмжигдэх стратеги гүйцэтгэдэг машин байгаа зах зээлд үр дүнтэй ажиллахад энэ нь суурь мэдлэг юм.

Энэ хичээл нь өмнөх хичээлийн платформд тодорхой Expert Advisor анхаарлаас цааш algorithmic trading-ийн өргөн салбарыг судална: онолын үндэс, гол стратегийн ангилал, хөгжүүлэлтийн амьдралын мөчлөг, цаасан дээр ажилладаг стратеги болон амьд зах зээлтэй тулгарч амьдардаг стратегийн чухал ялгаа.

Үзэмжийн арилжаанаас системтэй арилжаа руу, Парадигмын шилжилт

Уламжлалт үзэмжийн арилжаа нь шийдвэр гаргахын тулд трейдерийн дүгнэлт, туршлага, мэдрэмж дээр тулгуурладаг. Трейдер графикийг хардаг, мэдээ уншдаг, зах зээлийн сентиментийг хэмждэг, хэзээ, хэрхэн арилжаа хийхээ шийддэг. Чадварлаг үзэмжийн трейдерүүд маш сайн үр дүнд хүрч чадах ч энэ арга нь угаасаа хязгаарлалттай: амархан өргөжүүлэх боломжгүй, сэтгэл хөдлөлийн хазайлтад (айдас, шунал, хэт итгэлтэй байдал) өртөмтгий, гүйцэтгэл нь трейдерийн сэтгэл зүйн байдлаас ихээхэн хамаарна.

Системтэй арилжаа нь субъектив дүгнэлтийг объектив дүрмээр солино. Арилжааны үйл явцын бүх тал - зах зээлийн сонголт, орох хугацаа, позицийн хэмжээ, гарах удирдлага хүртэл - тодорхой, турших боломжтой шалгуураар тодорхойлогддог. Энэ шилжилт хэд хэдэн бүтцийн давуу талыг санал болгодог:

  • Тогтвортой байдал: Системтэй арга нь сэтгэл хөдлөлийн хөндлөнгийн оролцоог арилгадаг. Систем нь трейдерийн сэтгэл санаа, саяхны үр дүн эсвэл гадны дарамтаас үл хамааран арилжаа бүрд ижил логикийг хэрэглэнэ.
  • Өргөжих чадвар: Кодлогдсон бол алгоритм олон арван хэрэгслийг нэгэн зэрэг хянаж, олон хугацааны хүрээнд гүйцэтгэл хийж чадна - хүний трейдер үр дүнтэй хийж чадахгүй зүйл.
  • Турших боломж: Системтэй дүрмүүдийг түүхэн өгөгдлийн эсрэг backtest хийж, капитал эрсдэлд оруулахаас өмнө тэдгээрийн үр дүнтэй байдлын статистик нотолгоог өгч болно.
  • Давтагдах чадвар: Үр дүнг бусад хүмүүс давтаж, баталгаажуулж чадах тул системтэй стратеги нь багийн орчин болон байгууллагын байршуулалтад тохиромжтой.

Гэхдээ системтэй арилжаа нь бас хязгаарлалттай. Алгоритмууд нь програмчлаагүй үнэхээр шинэ нөхцөл байдалд дасан зохицож чаддаггүй. 2015 оны Швейцарийн франкийн хямрал эсвэл 2020 оны 3 сарын COVID-19 хөрвөх чадварын шок зэрэг "хар хун" үйл явдлууд нь хэвийн зах зээлийн нөхцөлд зориулагдсан системүүдийг сүйтгэж болно.

Algorithmic стратегийн үндсэн ангилалууд

Forex дахь algorithmic trading стратегиуд нь ерөнхийдөө хэд хэдэн сайн тогтсон ангилалд хуваагддаг бөгөөд тус бүр нь өвөрмөц шинж чанар, эрсдэлийн профайл, хамгийн сайн ажилладаг зах зээлийн нөхцөлтэй.

Trend Following

Trend-following алгоритмууд нь чиглэлтэй үнийн хөдөлгөөнийг тодорхойлж, тэдгээрийн үргэлжлэлээс ашиг олохоор позицоо байрлуулдаг. Түгээмэл хэрэгжүүлэлтүүд нь moving average crossover, channel breakout (Donchian channel гэх мэт) эсвэл Rate of Change эсвэл MACD зэрэг momentum индикаторуудыг ашигладаг. Journal of Finance болон бусад академик сэтгүүлүүдэд нийтлэгдсэн судалгаа нь валют зэрэг активын ангилалуудад тогтвортой "time-series momentum" нөлөө байгааг баримтжуулсан бөгөөд trend-following аргуудад онолын дэмжлэг өгдөг.

Trend following-ийн гол сорилт бол ranging зах зээлд хуурамч дохионы давтамж юм. Trend-following системүүдийн ялалтын хувь ихэвчлэн 40%-иас доогуур байдаг бөгөөд ашигт байдал нь бүхэлдээ ялалтын арилжааны хэмжээ ялагдалтай арилжааны хэмжээнээс эрс их байхаас хамаардаг.

Mean Reversion

Mean-reversion стратегиуд нь үнэ тэнцвэрийн утгын эргэн тойронд хэлбэлзэж, ихээхэн хазайлтын дараа тэр утга руу буцаж ирдэг статистик ажиглалт дээр ажилладаг. Forex-д энэ нь хамаарал бүхий валютын хосуудын хоорондох харьцангуй үнэ цэнийг ашиглах pairs trading, хэт стандарт хазайлтуудад Bollinger Band-д суурилсан оролт, эсвэл хэт зарагдсан нөхцөлд худалдаж авч, хэт худалдаж авсан нөхцөлд зарах RSI-д суурилсан стратеги хэлбэрээр илэрч болно.

Mean-reversion стратегиуд нь ихэвчлэн өндөр ялалтын хувьтай (ихэвчлэн 55-65%) боловч алдагдалтай харьцуулахад жижиг дундаж ялалттай байдаг. Тэдгээрийн гол эрсдэл бол горимын өөрчлөлт юм - ranging зах зээл хүчтэй trend рүү шилжихэд mean-reversion системүүд гарч буй хөдөлгөөний эсрэг дахин дахин арилжаа хийснээр өвдөлттэй алдагдал хуримтлуулж болно.

Statistical Arbitrage

Statistical arbitrage (stat arb) нь холбоотой санхүүгийн хэрэгслүүдийн хоорондох үнийн үр ашиггүй байдлыг ашигладаг. Forex-д энэ нь spot rate болон futures үнийн хоорондох зөрүү арилжаалах, гурван валютын хосоор triangular arbitrage хийх эсвэл түүхэн тэнцвэрээс хазайсан үнийн spread-тэй хосуудыг тодорхойлох cointegration-д суурилсан стратегиудыг агуулж болно.

Жижиглэнгийн forex-д жинхэнэ arbitrage боломжууд нь байгууллагын оролцогчдын хурдны давуу талаас болоод маш ховор. Гэхдээ тодорхой биш магадлалтай ашгийг агуулдаг statistical arbitrage нь сайн тоноглогдсон жижиглэнгийн трейдерүүдэд, ялангуяа удаан хугацааны хүрээнд хүртээмжтэй хэвээр байна.

Market Making

Market-making алгоритмууд нь bid болон ask үнийг тасралтгүй санал болгож хөрвөх чадварыг хангаж, тэдгээрийн хоорондох spread-аас ашиг олдог. Цэвэр market making нь ерөнхийдөө шууд зах зээлд нэвтрэх эрх болон маш бага latency дэд бүтэцтэй банкууд, мэргэжлийн пүүсүүдийн салбар боловч энэ стратегийн ангиллыг ойлгох нь чухал, учир нь market maker нь бараг бүх жижиглэнгийн forex арилжаанд таны эсрэг тал байдаг.

Algorithmic стратеги хөгжүүлэлтийн амьдралын мөчлөг

Бат бөх algorithmic trading стратеги бүтээх нь шинжлэх ухааны судалгааны аргачлалыг тусгасан сахилга бат хөгжүүлэлтийн амьдралын мөчлөгийг дагадаг.

1-р үе шат: Таамаглал бий болгох

Алгоритм бүр зах зээлийн зан үйлийн тухай таамаглалаас эхэлдэг. Энэ таамаглал нь эдийн засгийн онол, зах зээлийн бүтэц, эсвэл сайн баримтжуулсан статистик үзэгдэлд суурилсан байх ёстой, өгөгдлийн уурхайлалт биш. Сайн үндэслэлтэй таамаглалын жишээнүүд:

  • "Төв банкны хүүгийн зөрүү нь валютын хосуудад тогтвортой trend үүсгэдэг" (carry trade)
  • "Үнэ мэдээний үйл явдалд хэт хариу үйлдэл үзүүлж, дараа нь mean-revert хийдэг" (news reversal)
  • "Байгууллагын захиалгын урсгал нь өдрийн тогтмол хэв маягийг бий болгодог" (time-of-day effects)

2-р үе шат: Өгөгдөл цуглуулах ба бэлтгэх

Чанартай өгөгдөл нь аливаа algorithmic стратегийн суурь юм. Forex-ийн хувьд энэ нь ихэвчлэн түүхэн tick өгөгдөл эсвэл OHLCV (Open, High, Low, Close, Volume) bar өгөгдөл авахыг хэлнэ. Гол анхаарах зүйлс:

  • Өгөгдлийн эх үүсвэрийн найдвартай байдал: Нэр хүндтэй нийлүүлэгчдийн өгөгдлийг ашигла. Үнэгүй өгөгдлийн эх үүсвэрүүд ихэвчлэн цоорхой, алдаа, survivorship bias агуулдаг.
  • Spread болон commission загварчлал: Таны өгөгдөл арилжаалдаг хэрэгслүүдийнхээ бодит spread мэдээллийг агуулсан байх ёстой, учир нь spread зардал нь ашигтай ба ашиггүй стратегийн ялгаа байж болно.
  • Цагийн бүсийн нийцтэй байдал: Бүх өгөгдөл нийцтэй цагийн бүс ашигладаг бөгөөд зуны цагийн өөрчлөлтийг тооцоолсон эсэхийг шалга.
  • Өгөгдөл цэвэрлэх: Шинжилгээг гажуудуулж болох outlier, дутуу утга, алдаатай tick-үүдийг тодорхойл, зохицуул.

3-р үе шат: Стратеги хэрэгжүүлэлт

Таамаглалаа гүйцэтгэх боломжтой код болгон хөрвүүл. MQL5, Python (pandas, numpy, backtrader зэрэг сангуудтай) эсвэл хувийн платформ ашиглаж байгаа эсэхээс үл хамааран хэрэгжүүлэлт цэвэр, сайн баримтжуулсан, модуль хэлбэртэй байх ёстой. Гол бүрэлдэхүүн хэсгүүд:

  • Дохио үүсгэх модуль: Зах зээлийн нөхцөлийг үнэлж buy, sell эсвэл neutral дохио гаргадаг.
  • Эрсдэлийн удирдлагын модуль: Позицийн хэмжээг тооцоолж, stop loss тогтоож, portfolio түвшний эрсдэлийн хязгаарыг хэрэгжүүлдэг.
  • Гүйцэтгэлийн модуль: Дохиог бодит захиалга болгон хөрвүүлж, захиалгын төрөл, slippage загварчлал, fill таамаглалыг зохицуулдаг.
  • Бүртгэл, хяналтын модуль: Арилжааны дараах шинжилгээнд зориулж шийдвэр бүр, арилжаа, чухал үйл явдлыг цагийн тэмдэгтэй бүртгэдэг.

4-р үе шат: Backtesting ба баталгаажуулалт

Backtesting нь стратеги түүхэн өгөгдөл дээр хэрхэн ажилласныг загварчилдаг. Зайлшгүй шаардлагатай хэдий ч backtesting нь олон бэрхшээлээр дүүрэн:

  • Look-ahead bias: Арилжааны шийдвэр гаргах үед боломжтой байхгүй байсан мэдээллийг ашиглах. Жишээ нь, bar-ийн эхэнд шийдвэр гаргахын тулд bar-ийн хаалтын үнийг ашиглах.
  • Survivorship bias: Зөвхөн өнөөдөр байгаа хэрэгслүүд дээр турших, жагсаалтаас хасагдсан эсвэл нэгдсэн хэрэгслүүдийг үл тоомсорлох.
  • Гүйлгээний зардал дутуу тооцоолох: Бодит spread, commission, slippage, зах зээлийн нөлөөллийг тооцоолохгүй байх.
  • Over-optimization: Өмнөх хичээлд авч үзсэнчлэн түүхэн өгөгдөлд параметрүүдийг хэт нарийн тохируулах нь амьд нөхцөлд бүтэлгүйтдэг системүүдийг бий болгодог.

Эдгээр хазайлтыг бууруулахын тулд walk-forward шинжилгээ ашигла, олон цаг хугацаа, хэрэгслүүд дээр турш, өгөгдлийнхөө нэг хэсгийг үргэлж out-of-sample баталгаажуулалтын багц болгон хадгал.

5-р үе шат: Paper Trading ба амьд байршуулалт

Жинхэнэ капитал оруулахаас өмнө алгоритмаа статистикийн хувьд ач холбогдолтой хугацаанд загварчилсан амьд орчинд (paper trading эсвэл демо данс) ажиллуул. Paper trading-ийн үр дүнг backtest хүлээлттэй харьцуул. Ихээхэн зөрүү нь гүйцэтгэлийн таамаглал, өгөгдлийн чанар эсвэл зах зээлийн горимын өөрчлөлттэй холбоотой асуудлыг илэрхийлж болно.

Амьд байршуулахдаа брокер зөвшөөрдөг хамгийн бага позицийн хэмжээнээс эхэл. Алгоритм хэд хэдэн долоо хоног эсвэл сарын туршид тогтвортой гүйцэтгэл харуулсны дараа л аажмаар нэмэгдүүл.

Execution Algorithm-ууд, Algo Trading-ийн нөгөө тал

Бүх algorithmic trading нь alpha (ашиг) олоход чиглэдэггүй. Algorithmic trading-ийн ихээхэн хэсэг нь оновчтой гүйцэтгэлд төвлөрдөг - том захиалгуудын зах зээлийн нөлөөлөл болон гүйлгээний зардлыг багасгах. Үндсэндээ байгууллагын трейдерүүдийн ашигладаг боловч execution algorithm-уудыг ойлгох нь зах зээлийн бүтцийн талаар ойлголт өгдөг.

TWAP (Time-Weighted Average Price): Том захиалгыг тэнцүү хэсгүүдэд хуваан тогтмол хугацааны интервалаар гүйцэтгэж, тодорхой хугацаанд дундаж үнэд хүрэхийг зорьдог.

VWAP (Volume-Weighted Average Price): Түүхэн volume pattern-ийн дагуу захиалгын гүйцэтгэлийг хуваарилж, өндөр volume үед илүү олон захиалга, бага volume үед цөөн захиалга байрлуулдаг.

Implementation Shortfall: Шийдвэрийн үнэ (арилжааны шийдвэр гарсан үе) болон бодит гүйцэтгэлийн үнийн хоорондох зөрүүг багасгаж, эсрэг үнийн хөдөлгөөний эрсдэл болон түрэмгий гүйцэтгэлийн зах зээлийн нөлөөллийг тэнцвэржүүлдэг.

Iceberg Orders: Нийт захиалгын хэмжээний зөвхөн бага хэсгийг зах зээлд харуулж, биелсэн тоо хэмжээг автоматаар сэргээж, позицийн бүрэн хэмжээг дохиолохоос зайлсхийдэг.

Algorithmic стратегийн гүйцэтгэлийн хэмжүүрүүд

Algorithmic стратегийг үнэлэхэд энгийн ашиг, алдагдлаас цааш хэмжүүрүүд шаардлагатай. Байгууллагын болон quantitative трейдерүүд түгээмэл ашигладаг:

  • Sharpe Ratio: Илүүдэл өгөөжийг (эрсдэлгүй хувиас дээш өгөөж) өгөөжийн стандарт хазайлтад хувааж эрсдэлд тохируулсан өгөөжийг хэмждэг. 1.0-аас дээш Sharpe ratio хүлээн зөвшөөрөгдөхүйц; 2.0-аас дээш нь маш сайн гэж тооцогддог.
  • Sortino Ratio: Зөвхөн уналтын volatility-д шийтгэл өгдөг Sharpe ratio-ийн хувилбар бөгөөд тэгш бус өгөөжийн хуваарилалттай стратегид илүү хамааралтай хэмжүүр өгдөг.
  • Хамгийн их Drawdown: Оргилоос хамгийн доод цэг хүртэлх хамгийн их өөрийн хөрөнгийн уналт. Мэргэжлийн сангийн менежерүүд ихэвчлэн хамгийн их drawdown 15-20%-иас доогуур байхыг зорьдог.
  • Calmar Ratio: Жилийн өгөөжийг хамгийн их drawdown-д хуваасан. Хамгийн муу нөхцөлийн эрсдэлтэй харьцуулсан өгөөжийн шууд хэмжүүрийг өгдөг.
  • Ялалтын хувь ба өгөөжийн харьцаа: Ялсан арилжааны хувь хэмжээ болон дундаж ялалтын дундаж алдагдалд харьцуулсан харьцаа. Эдгээр хэмжүүрүүд нь зөвхөн хослуулан ач холбогдолтой - 4:1 өгөөжийн харьцаатай 30% ялалтын хувь нь 0.8:1 өгөөжийн харьцаатай 60% ялалтын хувиас дээр.
  • Сэргэлтийн хүчин зүйл: Цэвэр ашгийг хамгийн их drawdown-д хуваасан бөгөөд стратеги алдагдлаас хэр үр дүнтэй сэргэдгийг харуулдаг.

Algorithmic Trading дахь түгээмэл алдаа

Backtesting-ийг таамаглалтай андуурах. Backtest нь стратеги өнгөрсөн үед тодорхой нөхцөлд хэрхэн ажилласныг хэлдэг. Энэ нь ирээдүйн үр дүнг баталгаажуулдаггүй. Зах зээлүүд нь тогтворгүй - тэдгээрийн статистик шинж чанарууд цаг хугацааны явцад өөрчлөгддөг.

Дэд бүтцийн шаардлагыг дутуу үнэлэх. Найдвартай algorithmic trading нь тогтвортой интернет холболт, хангалттай тооцоолох хүч, хамгийн тохиромжтой нь брокерийн серверүүдийн ойролцоо байрласан VPS (Virtual Private Server) шаарддаг. Хэрэглэгчийн зэрэглэлийн интернет холболттой гэрийн компьютер дээр алгоритм ажиллуулах нь шаардлагагүй эрсдэл нэвтрүүлдэг.

Хамаарал болон portfolio нөлөөллийг үл тоомсорлох. Бүгд ижил зах зээлийн нөхцөлд алдагдалтай байх хандлагатай (жишээ нь бүгд trend-following) олон алгоритм ажиллуулах нь хуурамч диверсификаци өгдөг. Жинхэнэ portfolio диверсификаци нь бие биетэйгээ бага эсвэл сөрөг хамаарал бүхий стратегиудыг шаарддаг.

Зах зээлийн горимын өөрчлөлтийг тооцоолохгүй байх. Forex зах зээл нь trending, ranging, volatile горимуудын хооронд ээлждэг. Нэг горимд зориулагдсан алгоритм бусдад муу ажиллах магадлалтай. Систем дотроо горим илрүүлэх механизм бүтээх эсвэл өөр өөр нөхцөлд оновчилсон стратегийн portfolio ажиллуулахыг бодож үз.

Стратегийг хэт нарийн болгох. CFA Institute болон академик уран зохиолын судалгаа нь цөөн параметртэй энгийн стратегиуд олон хөдөлгөөнт хэсэгтэй нарийн төвөгтэй системүүдээс илүү бат бөх, overfitting-д бага өртөмтгий байдгийг тогтвортой харуулдаг. Нарийн төвөгтэй байдал өөрөө эмзэг байдал нэмэгдүүлдэг, үнэ цэнэ биш.

Зохицуулалтын хүрээ

MiFID II-ийн дагуу ESMA болон FCA зэрэг үндэсний зохицуулагчдын хэрэгжүүлснээр algorithmic trading-д оролцдог пүүсүүд зохих систем, эрсдэлийн хяналтыг хадгалж, алгоритмуудыг байршуулахаас өмнө турших, зах зээлийн эмх замбараагүй нөхцөлд нөлөөлөхгүй байхыг хангах ёстой. Эдгээр шаардлага нь үндсэндээ хөрөнгө оруулалтын пүүсүүдэд чиглэгддэг боловч жижиглэнгийн трейдерүүд брокерууд өөрсдийн хязгаарлалт тавьж болохыг мэдэж байх хэрэгтэй - хамгийн бага барих хугацаа, захиалгын хамгийн их хувь, зарим өндөр давтамжийн стратегийн хязгаарлалт зэрэг.

Гол санаанууд

  • Algorithmic trading нь үзэмжийн дүгнэлтийг системтэй, дүрэмд суурилсан шийдвэр гаргалтаар солих бөгөөд шинэ зах зээлийн нөхцөлд дасан зохицох чадварын үнээр тогтвортой байдал, өргөжих чадвар, турших боломжийг санал болгодог.
  • Гол стратегийн ангилал - trend following, mean reversion, statistical arbitrage, market making - тус бүр өвөрмөц эрсдэлийн профайлтай бөгөөд хамгийн сайн ажилладаг зах зээлийн нөхцөлтэй; ямар ч нэг ангилал бүх орчинд давамгайлдаггүй.
  • Хөгжүүлэлтийн амьдралын мөчлөг нь шинжлэх ухааны аргачлалыг тусгадаг: таамаглал бий болгох, чанартай өгөгдөл цуглуулах, хатуу хэрэгжүүлж backtest хийх, out-of-sample баталгаажуулах, paper trading хийх, зөвхөн дараа нь хамгийн бага хэмжээгээр жинхэнэ капиталтай байршуулах.
  • Backtesting зайлшгүй шаардлагатай боловч аюултай хэрэв look-ahead bias, survivorship bias, гүйлгээний зардлын дутуу тооцоолол, over-optimization-ийн талаар мэдлэггүй хийвэл.
  • Alpha decay нь ямар ч стратеги мөнхийн биш гэсэн үг. Тогтвортой ашигт байдалд тасралтгүй судалгаа, дасан зохицол, шинэ аргуудын хөгжүүлэлт шаардлагатай.
  • Гүйлгээний зардал нь algorithmic стратегийн чимээгүй алуурчин. Хөгжүүлэлтийн үе шатанд spread, slippage, commission, зах зээлийн нөлөөллийн бодит загварчлал чухал.
  • Энгийн байдал нь нарийн төвөгтэй байдлаас илүү гүйцэтгэл үзүүлэх хандлагатай algorithmic trading-д. Цөөн параметртэй, тодорхой онолын үндэстэй бат бөх стратегиуд backtest-ээс амьд арилжаа руу шилжихэд илүү амжилттай байх магадлалтай.

Энэ хичээл нь зөвхөн боловсролын зорилгоор бэлтгэгдсэн. Энэ нь санхүүгийн зөвлөгөө биш юм. Forex арилжаа нь ихээхэн алдагдлын эрсдэлтэй бөгөөд бүх хөрөнгө оруулагчдад тохиромжгүй. Algorithmic trading нь программ хангамжийн алдаа, өгөгдлийн чанарын асуудал, хэвийн бус зах зээлийн нөхцөлд хурдан алдагдлын боломж зэрэг нэмэлт эрсдэлтэй.

Энэ хичээлийг уншихын тулд бүртгүүлнэ үү

Уншиж эхлэхийн тулд үнэгүй бүртгэл үүсгэнэ үү. Сар бүр 5 үнэгүй хичээл, эсвэл Pro-руу шинэчлэж хязгааргүй хандалт аваарай.