في أواخر عام 2010، تم توسيع شبكات حوالي 300 مليون دولار في خط مباشر من الألياف البصرية بين شيكاغو وواشنطن.في ذلك الوقت كان شيكاغو مركزًا رئيسيًا لتداول العقود الآجلة، في حين أن نيويورك تتعامل مع الأسهم. الاستثمار الاستثمار بالنسبة للتداول في مرتبة عالية، كانت هذه 3-4 ms مزوداً كبيراً.كل من رأى البيانات قليلاً يمكن أن يقدم أوامر أولاً وأخذ السيولة. إذا كانت الشركات مستعدة لإنفاق مئات الملايين فقط لخسارة 3-4 ميلي ثانية ، فكر في الجانب من نموذج ML الذي لا يتردد (حتى إذا كان على الفور) ، ولكن في الواقع يوصي حركة السوق.إذا كان هذا النموذج موجوداً ، فإن السوق ستلاحظ على الفور.لذلك لماذا النموذج الحالي يفشل في هذه المهمة في التمويل ، على الرغم من أنهم يعملون بشكل جيد في مجالات أخرى ، دعونا نأخذ في ذلك. لذلك لماذا لا نرى قصص النجاح العامة لـ ML في التمويل؟ يمكنك النظر إليها بطرقين. الأول هو أن النتائج موجودة ولكن لا يتم مشاركتها. في بعض الأحيان، سوف ترى رسالة مع أرقام جيدة، ولكنها نادرة وعادة ما تم اختيارها. والثاني هو أن هناك مخاوف حقيقية. البيانات المالية سهلة للعمل مع أكثر من البيانات في المجالات الأخرى، وخاصة لأسباب ثلاثة: الكثير من الصوت عدم كفاءة البيانات الأسواق المتغيرة باستمرار هذه الجمعية تجعل البيانات المالية مختلفة جدا عن البيانات الطقسية ، حيث يكون الضوء أقل لأن النظام يتبع قوانين الفيزياء ، والبيانات كثيرة بفضل الشحنات والآلات التي تنتج تريابايت من الاحتياجات كل يوم ، والفيزياء الأساسية تبقى مستدامة ، حتى البيانات القديمة لا تزال مفيدة. بالنسبة لكل من هذه المشاكل في التمويل، هناك حلول معروفة. أذهب من خلالها أدناه. المشكلة هي أنهم يعملون فقط بشكل منفصل. لا أحد قد تمكن من وضعهم جميعًا في آلة تجارية واحدة. كما يقولون ، يمكنك اختيار اثنين فقط. Reducing noise with filters and 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 هيرون "ماذا سيكون سعر أسهم أبل في ثانية واحدة من الآن؟" When More Volume Means More Noise ومع ذلك، هناك أيضًا عكس ذلك: في بعض الأحيان يمكن أن تزيد حجم البيانات بشكل حقيقي. مقارنة الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثنائية الخيارات الثن المزيد قد يبدو من المستغرب: إذا قمت بقياس عدد التغييرات لكل من هذه الثلاثة المؤشرات خلال الفترة من 22 أغسطس إلى 22 سبتمبر، فإنك في الواقع تحصل على زيادة في البيانات عند "متوسط" السعر. 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 ثانية. Don’t Predict Price, Predict the Crowd في بعض الأحيان من الأفضل أن نوقن ليس السعر نفسه، ولكن ردود فعل الجماهير.بالتالي، قد لا يكون لديك أبعاد تقنية مثل "العين والأنف" قوة علمية - ولكن إذا أردت أن تثق بنفسك وتعمل، فإن السعر في الحقيقة يتحرك.لقد استخدمت ألغازنا هذه الإشارات السلوكية: فإنه لا يحاول تشكيل "فيزياء السوق" ولكن تعلم ردود الفعل من المشاركين. وبعبارة أخرى، إذا قمت بتحديد ما نبحث عنه في البيانات (على سبيل المثال، في الحالات التي يحاول فيها المشاركون في السوق إكمال نموذج تحليل تقني محدد) في نموذج ML، فإن نموذجك يتعلم بشكل أكثر فعالية. Bootstrapping and augmenting limited data Bootstrapping وإكساب البيانات المحددة إن التحدي الرئيسي الثاني هو عدم وجود البيانات، على سبيل المثال، اتخذت أسهم أبل.إذا قمت بتشخيص الأسعار مرة واحدة في الثانية، فإنك تنتهي بأي شيء مثل 60 مرة × 60 مرة × 8 ساعات التداول × 5 أيام في الأسبوع × ~ 50 أسابيع (بما في ذلك أيام العطلات) ≈ 7200 000 نقطة في السنة - أقل من 10 مليون نقطة. بالطبع ، هناك بيانات HFT حيث يحدث شيء كل ملي ثانية ، ولكن هذا يعود فقط إلى المشكلة الأولى: طن من الصوت والرسائل الحقيقية قليلة جدا. في عمقها، تعلم الآلة هو الإحصائيات، والبيانات لديها أدوات للعمل مع العينات الصغيرة. Bootstrapping الفكرة بسيطة: أعتقد أن لديك 100 مراقبة ولكن كنت ترغب في 1000. كنت تتناول مرتين على الأقل مجموعات ثنائية - على سبيل المثال، 50 عنصر كل واحد - وتحديث الإحصاءات. عدد المجموعات المحتملة "100 اختيار 50" كبيرة. التفكير هو أن في سلسلة الوقت هذا لا يعمل سوى - لا يمكنك فقط قطع سلسلة إلى أجزاء دون فقدان الوقت.هذا هو السبب في أن bootstrapping الكلاسيكي لا تستخدم في كثير من الأحيان لتوضيح الأسعار. ولكن في المهام مثل تحليل 100 التداول، ويمكن تطبيقها: يمكنك متوسط أكثر من المئة الأصلية، أو بناء عدد من أجزاء ثنائية من 50 و متوسط هذه النتائج. Data augmentation الاستراتيجية الثانية هي توسيع مجموعة البيانات بشكل مصنوع. في الصور، هذا أمر بسيط: تحول، تحول - وكنت تحصل على مثال جديد. في النص أيضا. مع التمويل هو أكثر صعوبة، ولكن بعض التمارين لا تزال تعمل. مثال بسيط: إذا تم تدريب نموذج فقط على سوق السمك، فإنه سوف يوصي دائمًا "مشتري". بمجرد أن يتحول السوق إلى أدنى - تبدأ الخسائر. لتخفيف هذا، يمكنك تحويل البيانات: تحول النمو إلى انخفاض، تحويل البضائع إلى بيع، تحول الأخبار الجيدة إلى أخبار سيئة. يتعلم الكمبيوتر من هذه السيناريوهات ويبدأ بيعها في سوق منخفضة. Synthetic trade generation is a that still has many open questions field المجال المجال النهج بسيط نسبياً: أخذ تجارة حقيقية، وملءها إلى توزيع (أو مجموعة من توزيعات)، ثم عينة من هذا توزيع لإنتاج بيانات مصنوعة إضافية. وتشير الأبحاث الحديثة بشكل متزايد إلى النماذج التنبؤية: النماذج التنبؤية، GANs، التكيفات الذاتية. على سبيل المثال، يصف الكتاب "نماذج التنبؤ النماذج التنبؤية النماذج التنبؤية النماذج التنبؤية" طريقة حيث يتم تحويل النماذج النماذج التنبؤية إلى مساحة النماذج، التي يتم إنتاجها من خلال DDPM، ثم تحويلها إلى النماذج النماذج النماذج. مثال آخر هو TransFusion ، والذي يجمع بين إمكانيات التنبؤ والتركيب لإنتاج سلسلة وقتية مصنوعة طويلة ومتطورة عالية الدقة. والهدف الرئيسي هو التوازن بين الطلبات اثنين: من ناحية، الحفاظ على حقائق السوق المعقدة (القمامات الدهشة، ومجموع التقلبات، والاتفاقيات الذاتية، وما إلى ذلك)، ومن ناحية أخرى، تجنب العناوين المشتتة. Time shifts هناك أيضًا تقنية لتغيير الوقت: باستخدام نفس البيانات، ولكن مع التوقف. المشكلة هي أنه من السهل أن تذهب إلى المستقبل بطريقة غير مشروعة (الخوف من الذهاب إلى المستقبل). هذا خطأ مهما كان: ينتهي إعداد التدريب بإدخال البيانات التي ينبغي أن تتوقعها النماذج. على الخرائط، يبدو جيدًا - ولكن في الأسواق الحقيقية، فإنه يقطع. تقنية أخرى هي التغييرات الزمنية: الاستفادة من نفس البيانات مع تكرار.التحدي الرئيسي هنا هو المخاطر من إدخال التناقضات المرتبطة بالبحث - خطأ مهندس كلاسيكي حيث تحتوي مجموعة التدريب على البيانات نفسها التي يجب أن تتوقعها النماذج.في الخرائط هذا غالباً ما يبدو مؤثراً، ولكن في الأسواق الحية يتراجع بسرعة.تطلب أي استخدام من سلسلة الزمن المرتبطة، وبالتالي، تدريبات صارمة. من المفيد أن تكون التماثيل هي الطقس: إذا كانت الحديدة الآن، فمن المرجح أنه سيستمر في الحديدة. ولكن توقع الحديدة عندما يرتدي الجميع بالفعل الحديدة يضيف قليلا من القيمة. تجارة تعمل بطريقة مماثلة: عندما كان هناك تحول كبير من الأسعار، فإن التحرك التالي أيضا من المرجح أن يكون كبير. ** التكيف مع التغيرات في الأسواق مع المجموعات والمحطات المتحركة ** المشكلة الثالثة هي أن الأسواق تتصرف مثل الغرب الأبيض. كل شيء يتغير بسرعة. قد تقول: "نحن نعمل فقط على البيانات الجديدة من الأشهر القليلة الماضية." 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.