2010 оны эхэнд, сүлжээний өргөн хүрээ Чикаго, Нью-Йорк хооронд шууд шилэн оптик шугам дээр 300 сая доллар. Энэ үед Чикаго фьючерсийн худалдааны гол хавтгай байсан, Нью-Йорк нь акцийг ажиллуулж байсан. Регуляр шугам хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хоорондын хо хөрөнгө оруулалт хөрөнгө оруулалт Өндөр чанарын худалдааны хувьд 3-4 мс нь маш их шилдэг юм. Энэ өгөгдлийн зарим нэг удаа үзсэн хүмүүст анх удаа орд байршуулаад төлсөн. Линийн хандалтад хандахын тулд жил бүр сая доллар зардалтай боловч энэ нь үнэ цэнэтэй байсан — миллисекунд нь үнэхээр мөнгө болгон өөрчлөгдсөн. Хэрэв компаниуд 3-4 миллисекунд зүгээр л хуваалцахын тулд сая сая орд зарцуулахыг хүсэж байгаа бол ML загварыг мэдэгдэж чадахгүй (хэдийгээр ч), гэхдээ үнэхээр зах зээлийн урсгалыг урьдчилан сэргийлэх болно. Хэрэв энэ загварыг ямар ч удаа байдаг бол зах зээлд тавтай морилно уу. Тиймээс одоогийн загварууд нь финансид энэ үйл явдлын үр дүнд хэзээ ч маш сайн ажилладаг боловч, цаг агаарын урьдчилан сэргийлэх гэж үзнэ үү? Тиймээс бид зар сурталчилгааны МЛ-ийн олон нийтийн амжилт түүхүүд үздэггүй. Та хоёр аргаар үзнэ үү. Нэг нь үр дүнд байдаг боловч хуваалцсан биш юм. Зарим үед та сайн тоотай харьцуулахад харьцуулах болно, гэхдээ тэд хялбар бөгөөд ихэвчлэн цэррийн сонголттэй байдаг. Дараа нь энэ нь үнэхээр хязгаарлалт байдаг. Арилжааны өгөгдөл нь бусад газар дахь өгөгдөлээс харьцуулах нь хязгаарлалттай байдаг, ихэвчлэн гурван шалтгаан нь: Хөнгөн шугам Бүтээгдэхүүний мэдээлэл Үнэгүй өөрчилсөн зах зээлд Энэ багц нь санхүүгийн өгөгдөл нь цаг агаарын өгөгдөлээс маш янз бүрийн болгодог. Энэ систем нь физик эрх хуулиар хамгаалагдсан бөгөөд өгөгдөл нь өдөр тутмын туршилтын терабайт үйлдвэрлэдэг сандал, мэдрэгч нь ихэвчлэн байдаг бөгөөд үндсэн физик тогтвортой байх ёстой. Финансууд дахь эдгээр асуудал бүр нь мэдэгддэг тохиргоог байдаг. Би доор тэднийг дамжуулах болно. Эцэст нь тэд зөвхөн тусгаарлагдмал ажиллаж байна. Хэн ч тэднийг нэг худалдааны машинд нэгтгэх боломжтой байсан юм. Тэд хэлсэн хэдий ч, Та зөвхөн хоёр сонгож болно. Reducing noise with filters and aggregation Хөнгөн цагааны шүүлтүүр, aggregation ашиглан шугам бууруулах Зохиогчийн эрх хуулиар хамгаалагдсан. Зохиогчийн эрх хуулиар хамгаалагдсан. Зохиогчийн эрх хуулиар хамгаалагдсан. Зохиогчийн эрх хуулиар хамгаалагдсан. Зохиогчийн эрх хуулиар хамгаалагдсан. Хамгийн чухал шулуун эх үүсвэрүүд нь хоёр байдаг: The first source of noise is a The core issue is not the magnitude of the noise itself, but the weakness of the signal: meaningful price movements are usually fractions of a percent, while random swings can easily reach several percent. As a result, the share of informative changes within the overall data stream is extremely small. weak signal-to-noise ratio. According to the Efficient Market Hypothesis, prices already reflect all available information from news — which is exactly what we typically aim to predict. However, markets also include whose actions generate additional noise. uninformed participants Noise filtering Noise filtering via FFT remains a staple tool. The approach decomposes a time series into frequency components: low frequencies capture the underlying trend, while high frequencies represent noise. By discarding the high-frequency parts and reconstructing only the low-frequency component, we obtain a smoothed signal that’s much easier to model. (The high-frequency remainder can still serve for volatility estimation if needed.) was able to augment classical computing workflows to better unravel hidden pricing signals in noisy market data than standard, classical-only approaches in use by HSBC, resulting in strong improvements in the bond trading process. IBM Heron Heuristics and reframing the problem Noise from market participants is handled differently. One useful trick is to reframe the question itself. Instead of asking you can ask: “What will Apple’s stock price be one second from now?” “What will it cost to buy 1 share?” “What will it cost to buy 100k shares?” In the second case we predict the average price for a large volume, and that is much more stable and better reflects market movement. def avg_price(order_book, volume): taken, cost = 0, 0 for price, avail in order_book: take = min(avail, volume - taken) cost += take * price taken += take if taken >= volume: break return cost / taken Example: the averaged price for 100k shares y = avg_price(order_book, 100_000) IBM-ийн Heron "Apple-ийн акцизны зардал нь нэг секундын дараа юу байх болно?" When More Volume Means More Noise Гэсэн хэдий ч, өөр өөр үр дүнтэй байдаг: заримдаа Билангийн үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэтэй үнэ цэнэ Илүү Энэ нь гайхамшигтай байж болох юм: Хэрэв та зүгээр л 22 August - 22 September-ийн хугацааны хугацаанд энэ гурван индикаторын бүрэлдэхүүн хэсэгт өөрчлөлтийг тооцохыг хүсч байгаа бол та үнэхээр үнэ "аварсан" үед өгөгдлийг нэмэгдүүлэх болно. P1_1_market_hits.csv: 2,374,605 өгөгдлийн тооны P2_500k_market_hits.csv: 51,309,973 өгөгдлийн тооны P3_50m_market_hits.csv: 133,191,896 өгөгдлийн тооны Хэвлэх нь энэ юм: дундаж нь заримдаа зүйлс хуваалцах болно. Гэсэн хэдий ч, урьдчилан сэргийлсэн нь урьдчилан сэргийлсэн юм. Smarter Targets Beat Raw Prices Өөр нэг арга нь "шуурын бууруулах" болон "ML туслах" нь цаг хугацаагаар шуурын дундаж дамжуулан урьдчилан сэргийлэх зорилгоор өөрчилж байна. Жишээ нь, наивчлалтай арга нь: илүү хүчтэй нэг нь: Энэ нь нэг удаа хоёр асуудал шийддэг: "Энэ нь одоо 10 секундын дараа нь зөв үнэ урьдчилан сэргийлэх болно." "Дараа нь 10 секундын дотор агуулгыг хамарсан дундаж үнэ урьдчилан сэргийлнэ үү." If a price jump occurs within those 10 seconds, the exact moment doesn’t matter as much — averaging smooths it out. The algorithm therefore has fewer ways to fail. Secondly (and here we get a bit more mathematical), averaging the target also reduces the average penalty the model receives during training for “wrong predictions.” In the simplest case of a regression model, the loss is proportional to (y^* - y)^2, where y^* is the “true answer” and y is the model output. The larger the error, the quadratically higher the penalty. Now, suppose that over the next 10 seconds the price trend is generally upward, but at some random moment there is a brief downward spike. The model would have to predict that spike, otherwise it gets penalized. But in reality, we don’t care much about that random blip — what we want the model to capture is the overall upward movement.\ Жишээ нь: график дээр бид 1 секундын дунд нь 10 секундын дунд харьцуулах. 10 секундын зорилго нь маш их амархан урьдчилан сэргийлэх, жишээ нь хялбар регрессийн хувьд - учир нь энэ нь маш бага хязгааргүй шугам агуулдаг. Don’t Predict Price, Predict the Crowd Гэсэн хэдий ч, бидний алгоритм эдгээр үйл явдлын сигналуудыг ашигладаг: Энэ нь "марк физик" загварыг загварыг загваруулахыг хүсч байна, гэхдээ хялбар худалдаачид тэднийг итгэж, үйл ажиллагаа явуулж байгаа бол, үнэ үнэхээр хөдөлж байна. Бидний алгоритмуудд, бид ихэвчлэн энэ арга хэрэгсэл нь ерөнхий нэгээс өөрчилж байна. Үүнээс гадна, та ML загваруудад танд танд "харах" бол та өгөгдлийн талаархи зөв зүйлийг хайж байна (жишээ нь зах зээлийн үйлчлүүлэгч нь тодорхой техникийн анализ загварыг бүрэн хийхыг хүсч байгаа тохиолдолд), загварын илүү үр дүнтэй суралцах болно. Bootstrapping and augmenting limited data Bootstrapping болон хязгаарлагдмал өгөгдлийг нэмэгдүүлэх Хоёр дахь том асуулт нь өгөгдлийн хязгаар юм. Жишээ нь, Apple-ийн акцийг авч үзнэ үү. Хэрэв та секундын нэг удаа үнэээр дээж авахын тулд та 60 удаа × 60 удаа × 8 худалдааны цаг × долоо хоногт 5 хоног × ~ 50 долоо хоногт (хавтгай дэх) ≈ 7 200 000 оноо жил бүр - 10 сая долоо хоногт. "big data" стандартын дагуу, энэ нь хязгаарлалт юм. Гэсэн хэдий ч, HFT-ийн өгөгдөл байдаг бөгөөд энэ нь миллисекунд нэг зүйл байдаг. Гэхдээ энэ нь зөвхөн анхны асуудал: шулуун тонн, маш бага үр дүнтэй сигнал. Үүнээс гадна, машин суралцах нь статистик бөгөөд статистик нь жижиг дээжтэй ажиллахын тулд ширээтэй байдаг. Bootstrapping Энэхүү санаа нь хялбар юм: Хэрэв та 100 үзүүлэлттэй боловч 1000-ийг хүсэж байгаа бол. Та нарийвчлалтай дөрвөлжин бүтэц, жишээ нь 50 зүйлсийг авч, статистик тооцоолж болно. "100 сонгох 50" комбинийг маш их байдаг. Үүний үр дүнд, та анхны 100-ийг хамарнаас харьцуулахад илүү найдвартай үнэлгээ авах болно. Хэвлэх нь цаг хугацааны цуврал нь энэ нь хэзээ ч ажиллаж байгаа юм - Та хязгаарлагдмал хронологийг багасгахгүйгээр цуврал нь зүгээр л хуваалцаж чадахгүй байна. Энэ нь хязгаарлагдмал буттраппинг нь хязгаарлагдмал үнэ урьдчилан сэргийлэхийн тулд ашиглаж байна. Гэхдээ 100 худалдааны арилжааны үйл явцыг анализ гэх мэт үйл явцад энэ нь ашиглаж болно: Та эхний соронзон дээр дундаж болно, эсвэл 50 нь хязгаарлагдмал дэд цуврал бий болгох, эдгээр үр дүнд дундаж болно. Data augmentation Хоёр дахь стратегийн нь өгөгдлийн цуглуулах юм. зураг дээр, энэ нь хялбар юм: дутагдал, хаалттай - мөн та шинэ жишээ авах болно. Текстонд, түүнчлэн. Финанс нь энэ нь илүү хэцүү байдаг, гэхдээ зарим нь хийлгүүд одоо ч ажилладаг. Хялбар жишээ нь: Хэрэв загварыг зөвхөн боол зах зээлд сургаж байгаа бол, энэ нь үргэлж "купог" санал болгож болно. зах зээлд доош хүрч үед - хаалт эхлэх. Энэ нь багасгахын тулд, та өгөгдлийг өөрчилж болно: Өнгөрсөн өсөлтийн үр дүнд, Бүтээгдэхүүнийг худалдан авахын тулд Өнгөрсөн мэдээ нь дуртай. Алгоритм нь ийм үзэсгэлэнээс суралцаж, нисдэг зах зээлд борлуулахад эхэлдэг. Synthetic trade generation is a that still has many open questions field Байгалийн Байгалийн Загвар нь харьцуулахад хялбар юм: бодит арилжаа авч, тэднийг дистрибьюторуудтай (или дистрибьютын цуврал), дараа нь нэмэлт синтетик өгөгдлийг үйлдвэрлэхэд дээж авах. Гэхдээ гол асуултууд нь дистрибьютын хөл (хөнгөн хөл) - хялбар боловч том үйл явдлыг байна. Тэдний чадварыг бага байдаг, гэхдээ зах зээлд ийм үйл явдлыг агуулдаг. Хамгийн сүүлийн үеийн судалгааны ихэвчлэн генератив загварууд: диффузны загварууд, GANs, вариацийн автокодер. Жишээ нь, "Диффузны загварууд ашиглан синтетикийн санхүүгийн цаг хугацааны цуврал үүсгэх" нь орлогоны ном цуврал DDPM дамжуулан үүсгэдэг, дараа нь цаг хугацааны цуврал дамжуулан өөрчлөгдөж байна. Өөр нэг жишээ нь TransFusion юм. Энэ нь диффуз, трансформатор архитектур нь урт, өндөр нарийвчлалтай синтетик хугацааны цуврал үүсгэдэг. үндсэн үйл явц нь хоёр шаардлагын харьцуулахад байна: нэг нь зах зээлийн стилистай шинж чанарыг хадгалах (хүртээний эцсийн, хөнгөн цагааны цуглуулах, автокорреляци, гэх мэт), болон бусад, хязгаарлагдмал артефакт үхэх. Өнөөдөр, литературын бүх статистик шинж чанарыг найдвартай харьцуулах универсал загвар биш юм. Time shifts Үүнээс гадна, цаг хугацааны өөрчлөлтийн техникийг ашигладаг: хатуу өгөгдлийг ашиглах, харин ачаалалтай байдаг. Асуулт нь ачаалалтайгаар "хамгийн сүүлийн үеийн" (зөвлөгөөний ач холбогдол) "харах" нь хялбар юм. Энэ нь класик инженерийн алдаа юм: сургалтын багц нь загварыг урьдчилан сэргийлэхийн тулд өгөгдлийг агуулдаг. График дээр энэ нь маш сайн харуулж байна - гэхдээ бодит зах зээлд энэ нь хязгаарлагддаг. Тиймээс цаг хугацааны цуврал нь ямар ч ач холбогдол нь строгой дисциплинуудыг шаарддаг. Өөр нэг техникийн нь цаг хугацааны хуваалцлага юм: энэ нь хэзээ ч хэзээ ч нэг өгөгдлийг өөрчилж байна. Энд гол асуултууд нь үзэсгэлэнт хуваалцлага - энэ нь сургалтын багц нь хязгаарлагдмал нь загварыг урьдчилан сэргийлэх гэж нэрлэдэг. График дээр энэ нь ихэвчлэн итгэмжлэгдсэн харуулж байна, гэхдээ жинхэнэ зах зээлд энэ нь хурдан буцаж болно. Үнэндээ цаг хугацааны цуврал ямар ч хэрэглээ нь нарийн дисциплины шаарддаг. Ажлын үр ашигтай аналог нь цаг агаарын юм: Хэрэв энэ нь одоо доод байгаа бол, энэ нь долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт долоо хоногт ** Ангилаагүй зах зээлд өөрчлөн багц болон хуудсууд **Төрвөн асуудал — зах зээлд Wild West шиг ажилладаг. Бүх зүйл нь хурдан өөрчлөгдөж. Та хэлж чадна: "Энэ нь зөвхөн сүүлийн хэд хэдэн сарын шинэ өгөгдөл дээр сургаж болно." Гэхдээ өгөгдөл эхлэхэд хязгаарлагдмал бол энэ нь асуудал илүү их болгодог. Ensembles Нэг практик арга хэрэгсэл нь ensembles юм. Та хэд хэдэн загварууд сургалт: one on the most recent days or weeks, another on the entire history, a third on some mid-range horizon. and a fourth that focuses on special cases — for example, detecting noise patterns or technical-analysis formations, as discussed earlier. Then you aggregate their predictions (e.g., by averaging, or taking the min/max). This is a standard trick for dealing with heteroscedastic data — where the distribution is non-stationary and constantly shifting. Markets are exactly that kind of case. pred1 = model_recent.predict(x) pred2 = model_history.predict(x) pred3 = model_midterm.predict(x) final = np.mean([pred1, pred2, pred3]/ # final = np.max([pred1, pred2, pred3]) The idea is that the market may change tomorrow, but some of the old information is still useful. Averaging helps smooth out these distortions. Sliding windows Another technique is training on sliding windows. Take the last 7 days, predict the next one. Then shift the window: add new data, drop the old. The model keeps updating, allowing it to adapt to new market regimes. window = 7 for t in range(window, len(data)): model.fit(data[t-window:t]) pred = model.predict(data[t]) So why is there no universal ML for trading? So, each of the three problems can be solved on its own, but together they don’t add up to a universal solution. One reason is the lack of quality feedback for training models. In finance, you don’t have the usual ML metrics like accuracy or F1-score. The only metric is money made. Imagine two hedge funds. One shows average returns, the other twice as high. If someone consistently outperforms the rest, everyone immediately assumes it’s a scam. Why? First, because nothing like that shows up in the market — other participants don’t feel like someone is “skimming” them on every trade. Second, there’s the survivor bias. Classic example: take a thousand people, half go long on oil, half go short. The next day, half of them are right. From the remaining 500, split again, and repeat for several rounds. After ten days, you’ll have one “genius” who made the right call ten times in a row. But in reality, he was just lucky — the illusion comes from starting with a thousand players. This is the core problem of verification. There isn’t much data to train on, and there’s even less to validate results. Even if we could see trades from a fund that outperforms the market twofold, over a relatively short horizon we still wouldn’t be able to tell luck from real skill. A good example is the many “one-day wonders” — funds or companies that show great returns when the overall market is going up (say, during an S&P 500 rally). But as soon as conditions turn south, their performance collapses. Over the long run, there are indeed legendary cases like the Medallion Fund. They consistently beat the market, delivering returns above so-called risk-free bonds. But the edge isn’t by orders of magnitude — it’s a few percentage points. To do better than them means being ahead by fractions of a percent, sustained over a very long horizon. The reality is that few funds survive long enough to prove such stability. Over six months, almost anyone can “look like a genius” if they get lucky — that’s the classic survivor bias. And not surprisingly, it’s exactly this illusion that a lot of flashy marketing campaigns for “successful” funds are built on. The philosophical takeaway is a harsh one: an algorithm can’t be called successful until it’s been tested by time. Even if it’s profitable on average, in real life it can get wiped out in a single day with a million-dollar drawdown — simply because you don’t have an extra million lying around to survive that day.