בקצרה
- קרא קודם את מדיניות הבוטים במסמך התנאים העדכני; אם אוטומציה לא מותרת, אין מה להגדיר.
- תרגם כל חוק במבחן לשדה אחד בבוט: גודל פקודה, הפסד יומי, קצב פקודות, עצירה וחסימת עסקאות הפוכות.
- חלק את מגבלת ההפסד היומי בסיכון לעסקה, ועצור עסקה אחת לפני התוצאה כדי להשאיר מרווח לסליפג׳.
- הרץ את הבוט בדמו עד שהעצירה היומית נדלקת בפועל, וחזור על הבדיקה אחרי כל שינוי בלוגיקה, בסיכון או בהיקף.
כדי לעבור מבחני נוסטרו עם בוט, הבוט צריך לאכוף בעצמו חמישה חוקים: גודל פקודה מקסימלי, מגבלת הפסד יומי ודרודאון, מגבלת קצב פקודות, עצירה אוטומטית ומניעת עסקאות הפוכות בין החשבונות שלך. כל חוק במסמך התנאים הופך להגדרה אחת בקוד, נבדק בבקטסט ובהרצת ניסיון, ורק אז הבוט נכנס למבחן.
איך לעבור מבחני נוסטרו עם בוט: מה תשיג ומה צריך להכין
בסוף התהליך יהיה לך בוט שעוצר את עצמו לפני כל קו שהמבחן מציב, בלי שתצטרך לשבת מול המסך. כדי להגיע לשם צריך שלושה דברים ביד: מסמך תנאים עדכני מאתר חברת המימון, כלל מסחר מדיד, ובוט שאפשר להגביל בהגדרות.
כלל מדיד הוא כלל שאפשר לכתוב כשדות שהמערכת מבינה. ״נכנס כשהשוק נראה חזק״ הוא תחושה; ״נכנס כשהמחיר מעל פתיחת היום והוולום מעל הממוצע״ הוא כלל שאפשר להריץ ולבדוק. חברות מימון מעדכנות כללים מעת לעת, ולכן אצלנו קוראים את מסמך התנאים מחדש לפני כל הרשמה.
בשיטה שלנו הבוט נכנס למבחן רק אחרי שכל חוק במסמך מוגדר בו כמגבלה שעוצרת אותו לבד, ונבדק בבקטסט ובהרצת ניסיון. אדם יכול לעצור את עצמו ברגע האחרון; בוט עושה רק מה שהוגדר לו.
אילו חוקים הבוט חייב לאכוף בזמן מבחן
הבוט חייב לאכוף כל חוק שהמבחן פוסל לפיו, וכל אחד מהם מקביל לבקרה שרגולטורים כבר דורשים מחברות מסחר אלגוריתמי.
טבלת התרגום שלנו: מחוק במבחן להגדרה בבוט1
| החוק במבחן | הבקרה המקבילה אצל רגולטורים | מה מגדירים בבוטמומלץ |
|---|---|---|
| גודל פוזיציה מקסימלי | פרמטר מקסימלי לגודל פקודה | תקרת חוזים לפקודה ולפוזיציה פתוחה |
| הפסד יומי ודרודאון | ספים ומגבלות מסחר | עצירה כשההפסד היומי מגיע לסף שקבעת |
| מגבלה על כמות פקודות | פרמטר מקסימלי להודעות פקודה | מספר פקודות מקסימלי לדקה |
| עצירה אוטומטית | השבתת מערכת אחרי חריגה | כיבוי עצמי עד אישור ידני |
| עסקאות הפוכות בין חשבונות | כלי מניעת self-trade | חסימת כיוון הפוך באותו חוזה בכל החשבונות |
| כל שורה היא שדה אחד בבוט. חוק שלא הפך לשדה עדיין תלוי בך. | ||
גם הרגולטור הבריטי, ה־FCA, מצא בסקירה שכל החברות שנבדקו החזיקו בקרות לפני שליחת פקודה (pre-trade), לרוב מכוילות לפי סוג האלגוריתם והנכס. זה ההרגל שאנחנו מעבירים לבוט שלך: הבקרה יושבת לפני הפקודה, לא אחריה.3
איך מגדירים את הבוט למבחן, שלב אחר שלב
שבעה שלבים, בסדר הזה, מביאים אותך מקריאת התנאים ועד בוט שעוצר את עצמו. הסדר שלנו קבוע: קודם מדיניות הבוטים, אחר כך דרודאון, אחר כך ריבוי חשבונות, כי אם התשובה הראשונה שלילית אין טעם להמשיך.
קרא את מסמך התנאים
וסמן שלושה סעיפים: מדיניות בוטים, סוג הדרודאון, וכללי גידור וריבוי חשבונות.
קבע סיכון בדולרים לעסקה
כמספר קבוע שהבוט לא חורג ממנו.
הגדר גודל פקודה מקסימלי
לפי תקרת הפוזיציה שבמסמך.
הגדר עצירה בהפסד יומי
מתחת למגבלה שהחברה קובעת, לא עליה.
הגדר מגבלת פקודות לדקה
כדי שתקלה בלוגיקה לא תהפוך לרצף פקודות.
חסום עסקאות הפוכות
באותו חוזה בכל החשבונות שלך.
הפעל עצירה אוטומטית
שמכבה את הבוט אחרי חריגה ומחכה לאישור ידני שלך.
דרודאון הוא הירידה מהשיא הגבוה ביותר שהחשבון הגיע אליו, וזה המדד שחברות המימון בודקות. בדרודאון נגרר הקו עולה עם כל שיא חדש, ולכן הבוט מודד את המרחק אליו מהשיא ולא מיתרת הפתיחה.
כשהמגבלות כתובות כשדות, אפשר להכניס אותן לבוט בלי לכתוב שורת קוד.
כמה עסקאות מפסידות הבוט רשאי לפתוח ביום
מחלקים את מגבלת ההפסד היומי בסיכון לעסקה, ומורידים עסקה אחת כמרווח ביטחון. התוצאה היא מספר ההפסדים שאחריו הבוט נעצר לבד, עוד לפני הקו של החברה.
עסקאות מפסידות מותרות = (מגבלה יומית ÷ סיכון לעסקה) − 1
- מגבלה יומית
- ההפסד היומי שהמבחן מתיר, מתוך מסמך התנאים
- סיכון לעסקה
- הסכום בדולרים שהבוט מסכן בכל עסקה
ה־1 שמורידים הוא מרווח לסליפג׳, כלומר ביצוע במחיר גרוע מהסטופ.
הנה החישוב על מספרים היפותטיים, כדי לראות איך הוא נכנס להגדרה.
מגבלה יומית מול סיכון לעסקה
- מגבלת הפסד יומי
- 1,000$
- סיכון לעסקה
- 200$
- הפסדים עד הקו: 1000 / 200 = 5
- אחרי מרווח לסליפג׳: 5 - 1 = 4
הבוט נעצר אחרי 4 עסקאות מפסידות
לדוגמה בלבד. את המגבלה האמיתית לוקחים ממסמך התנאים של המבחן שבחרת.
מכאן ההגדרה פשוטה: מונה הפסדים יומי, וסף של ארבע. ככה הבוט מבצע את העסקה הרביעית בדיוק כמו הראשונה, ואחריה הוא פשוט מפסיק.
איך בודקים שההגדרות באמת עוצרות את הבוט
בודקים כל מגבלה עד שהיא נדלקת בפועל, בבקטסט ובהרצה בדמו, ולא מסתפקים בכך שהיא כתובה בהגדרות. הרשות האירופית ESMA מציינת ששינוי בלוגיקת ההחלטה, בביצוע, בבקרות הסיכון או בהיקף הפריסה של אלגוריתם מחייב בדיקה חוזרת, ואצלנו מריצים בקטסט מחדש אחרי כל שינוי כזה.4
- בקטסט עם כל המגבלות פעילות, לא רק עם הכלל.
- הרצה בדמו עד שהעצירה היומית נדלקת והבוט כבה.
- פקודה בגודל חריג נשלחת ונחסמת.
- בדיקה חוזרת אחרי כל שינוי בלוגיקה, בסיכון או בהיקף.4
אחרי שהבוט עלה למבחן, הבדיקה ממשיכה כל בוקר. פירטנו את השגרה במדריך איך בודקים בוט מסחר אוטומטי כל יום.
מה עושים כשהבוט שולח יותר מדי פקודות או סוחר נגד עצמו
מגבילים קצב, סופרים ביטולים ומאחדים את כל החשבונות תחת מזהה אחד, כך שהבוט נעצר לפני שהדפוס נראה כמו בעיה. בורסת CME בנתה מדיניות הודעות כדי שלכל המשתתפים תהיה הזדמנות הוגנת לסחור, ו־ICE מפעילה במנוע המסחר מנגנון שמונע self-trade בין פקודות עם אותו מזהה.5
FINRA מגדירה layering כהזנת פקודות לימיט מרובות בצד אחד של השוק כדי ליצור מראית עין של ביקוש או היצע, ואז ביטולן. בוט עם באג בלוגיקת הביטולים יכול לייצר דפוס דומה בלי כוונה, ולכן מגדירים לו ספירה.7
הגבל את קצב הפקודות
מה עושים: קבע מספר פקודות מקסימלי לדקה, וכבה את הבוט כשהוא מגיע אליו.
תקלה בלוגיקה נעצרת אחרי כמה פקודות ולא אחרי מאות.
ספור ביטולים
מה עושים: הגדר סף לביטולים ברצף בלי ביצוע, ועצור כשהסף נחצה.
פקודות שנשלחות ומבוטלות שוב ושוב יוצרות דפוס שחברות בודקות.
אחד את החשבונות תחת מזהה אחד
מה עושים: לפני כל פקודה, בדוק פוזיציה הפוכה באותו חוזה בכל החשבונות שלך.
כך הבוט לא קונה בתיק אחד ומוכר באחר.
עצור עד אישור ידני
מה עושים: אחרי כל חריגה הבוט נשאר כבוי עד שאתה מאשר הפעלה מחדש.
אתה מבין מה קרה לפני העסקה הבאה.
הצעד להיום: פתח את מסמך התנאים של המבחן שבחרת, וסמן בו מדיניות בוטים, סוג דרודאון וכללי ריבוי חשבונות. שלושת הסעיפים האלה קובעים את כל ההגדרות שתכניס לבוט. רוצה להכיר עוד את הגישה שלנו? היכנס להבית למסחר עתידי וטכנולוגי.
אם אתה רוצה לעבור על ההגדרות מול המבחן שבחרת, זה הצעד הבא.
שיחת התאמה: לבדוק אם זה מתאים לך
התוכן נועד ללימוד בלבד ואינו מהווה ייעוץ השקעות או המלצה לפעולה. מסחר בחוזים עתידיים כרוך בסיכון, כולל אובדן כספים. תוצאות עבר אינן מעידות על תוצאות עתידיות.

