ניהול סיכונים לסוחרים אלגוריתמיים: שכבות ההגנה
שכבות ניהול סיכונים למסחר אוטומטי: סטופ לעסקה, מגבלת הפסד יומית, גודל פוזיציה מקסימלי, מגבלת עסקאות, מתג כיבוי, ניטור, ומה עושים כשהאוטומציה משתבשת.
במסחר אוטומטי, ניהול סיכונים הוא לא תוספת - הוא חלק מהמערכת עצמה. מחשב יכול לבצע מאות פקודות בלי לעצור לשאול אם משהו נראה לא בסדר. לכן כדאי לבנות כמה שכבות הגנה, כך שאם אחת נכשלת, השנייה עוצרת את הנזק.
למה מסחר אוטומטי צריך גישה אחרת
בסוחר ידני, הבלם האחרון הוא האדם: הוא רואה שמשהו מוזר וסוגר. במערכת אוטומטית הבלם הזה לא תמיד שם. התראה כפולה יכולה לפתוח פוזיציה כפולה. באג בלוגיקה יכול לגרום לכניסות חוזרות. חיבור שנפל יכול להשאיר פוזיציה בלי סטופ.
לכן מחשבים סיכון בשני מישורים: סיכון שוק - המחיר זז נגדכם, וסיכון תפעולי - המערכת עושה משהו שלא התכוונתם. ניהול סיכונים טוב מטפל בשניהם.
שכבה 1: סטופ לכל עסקה
הבסיס הוא שלכל עסקה יש נקודת יציאה מוגדרת מראש במקרה של טעות. כמה עקרונות:
- הסטופ צריך להישלח לברוקר כפקודה אמיתית, לא רק להתקיים בתוך הקוד. אם המערכת שלכם מתנתקת, פקודה שיושבת אצל הברוקר עדיין תגן.
- מקמו את הסטופ לפי היגיון של המבנה או התנודתיות, ואז התאימו את גודל הפוזיציה לסטופ - לא להפך. ראו שיטות לקביעת גודל פוזיציה.
- זכרו שפקודת סטופ הופכת לפקודת שוק, ובשוק מהיר עלולה להתמלא רחוק מהרמה.
שכבה 2: מגבלת הפסד יומית
גם עם סטופ בכל עסקה, סדרה של הפסדים באותו יום יכולה להצטבר. מגבלה יומית קובעת: אחרי הפסד של סכום מסוים, המערכת מפסיקה לסחור עד היום הבא.
דוגמה היפותטית: בחשבון עם סיכון של 200 דולר לעסקה, מגבלה יומית של 500 דולר עוצרת את המסחר אחרי שניים-שלושה הפסדים. אם אתם סוחרים ב-prop firm, הגדירו את המגבלה האישית שלכם נמוכה בבירור ממגבלת החברה, כדי שיהיה מרווח ביטחון להחלקה ולפוזיציה פתוחה. פרטים במאמר מגבלות הפסד יומיות.
החליטו מראש אם המגבלה נמדדת על הפסד ממומש בלבד או כוללת גם הפסד פתוח, ואם המערכת סוגרת פוזיציות קיימות כשהיא מגיעה למגבלה או רק חוסמת כניסות חדשות.
שכבה 3: גודל פוזיציה מקסימלי
זו אחת ההגנות החשובות נגד באגים. גם אם הלוגיקה שלכם מחשבת גודל פוזיציה דינמי, הגדירו תקרה קשיחה של מספר חוזים שאסור לעבור, בכל סיבה. אם התראה משובשת מבקשת 50 חוזים במקום 5, התקרה עוצרת אותה.
כדאי להגדיר תקרה גם לכל כיוון (לונג או שורט) וגם לסך החשיפה, במיוחד אם כמה אסטרטגיות רצות על אותו חשבון או על שווקים מתואמים כמו NQ ו-ES.
שכבה 4: מגבלת עסקאות ושעות מסחר
- מקסימום עסקאות ביום: אסטרטגיה שבדרך כלל מבצעת שלוש עסקאות ביום ופתאום מבצעת עשרים - משהו לא בסדר. מגבלה כזו עוצרת לולאות.
- חלונות זמן: הגבילו את המסחר לשעות שבהן האסטרטגיה נבדקה. רבים גם נמנעים מכניסות סביב פרסומי נתונים מרכזיים.
- סגירה לפני סוף הסשן: אם אתם לא מתכוונים להחזיק פוזיציה ללילה, דאגו לסגירה אוטומטית לפני סוף הסשן. חלק מה-prop firms דורשות זאת.
שכבה 5: מתג כיבוי וניטור
מתג כיבוי (kill switch) הוא דרך אחת, מהירה ופשוטה, לעצור הכול: לבטל פקודות פתוחות, לסגור פוזיציות ולחסום סיגנלים חדשים. ודאו שאתם יודעים בדיוק איפה הוא, ושהוא עובד גם מהטלפון.
ניטור כולל:
- התראות כשמתבצעת עסקה, כשמגיעים למגבלה או כשיש שגיאה.
- השוואה קבועה בין מה שהמערכת "חושבת" שפתוח לבין מה שבאמת פתוח בחשבון.
- יומן עסקאות שמאפשר לבדוק בדיעבד מה קרה ולמה.
מה עושים כשהאוטומציה משתבשת
כשמשהו נראה לא תקין, סדר הפעולות הוא:
- לעצור: הפעילו את מתג הכיבוי. אל תנסו לתקן תוך כדי שהמערכת עדיין סוחרת.
- לאמת: היכנסו ישירות לפלטפורמת הברוקר ובדקו פוזיציות ופקודות פתוחות.
- לסגור ידנית כל מה שלא אמור להיות פתוח.
- לתעד: שמרו את ההתראות, הלוגים והזמנים.
- לחקור את הסיבה לפני שמפעילים מחדש, ואז לחזור בהדרגה, עדיף דרך סימולציה.
איך בודקים שהשכבות באמת עובדות
שכבת הגנה שלא נבדקה היא הנחה, לא הגנה. הרבה סוחרים מגדירים מגבלה יומית ותקרת חוזים, ומגלים רק ביום אמיתי שהן לא מתנהגות כמו שחשבו. לכן כדאי לבדוק כל שכבה בכוונה, בחשבון סימולציה, לפני שמסתמכים עליה:
- בדיקת תקרת חוזים - שלחו התראת בדיקה שמבקשת יותר חוזים מהתקרה, וודאו שהפקודה נחסמת או מוקטנת ולא עוברת כמו שהיא.
- בדיקת מגבלה יומית - הגדירו מגבלה נמוכה מאוד בסימולציה, הגיעו אליה, ובדקו מה קורה: האם פוזיציות נסגרות, והאם התראות חדשות נחסמות עד היום הבא.
- בדיקת התראה כפולה - שלחו את אותה התראה פעמיים ברצף ובדקו אם נפתחה פוזיציה כפולה.
- בדיקת חלון זמן - שלחו התראה מחוץ לשעות המותרות וודאו שהיא לא מבוצעת.
- בדיקת מתג כיבוי - הפעילו אותו כשיש פוזיציה ופקודות פתוחות, ובדקו בפלטפורמת הברוקר שבאמת לא נשאר כלום.
רשמו את תוצאות הבדיקות, וחזרו עליהן אחרי כל שינוי משמעותי באסטרטגיה, בהתראות או בחשבון. זה לוקח שעה, ויכול לחסוך יום מסחר שלם.
שכבה שקל לשכוח: מגבלה שבועית
מגבלה יומית מגינה מפני יום רע אחד, אבל לא מפני שבוע של ימים בינוניים. חלק מהסוחרים מוסיפים גם מגבלת הפסד שבועית, שאחריה עוצרים ובודקים את האסטרטגיה לפני שממשיכים. זה רלוונטי במיוחד באוטומציה, כי בעיה שקטה, כמו שינוי בהתנהגות השוק או התראה שמוגדרת לא נכון, מתבטאת לעיתים קרובות בשחיקה איטית ולא באירוע אחד בולט.
סיכון חורבן
סיכון חורבן (risk of ruin) הוא ההסתברות שסדרת הפסדים תוריד את החשבון מתחת לרמה שממנה אי אפשר להמשיך - בחשבון prop firm, למשל, נקודת ה-drawdown המקסימלי. גם אסטרטגיה עם יתרון אמיתי יכולה לחוות רצף הפסדים ארוך במקרה.
דוגמה היפותטית: אם אתם מסכנים 25% מה-drawdown המותר בכל עסקה, ארבעה הפסדים רצופים מסיימים את החשבון - ורצף כזה הוא אירוע סביר לגמרי. אם אתם מסכנים 5%, נדרשים עשרים הפסדים רצופים. סיכון קטן לעסקה לא מבטל את הסיכון, אבל נותן לאסטרטגיה זמן להראות אם יש לה יתרון. עוד על drawdown במאמר סוגי drawdown ב-prop firms.
עיקרי הדברים
- במסחר אוטומטי יש סיכון שוק וגם סיכון תפעולי, וצריך להגן מפני שניהם.
- בנו שכבות: סטופ לעסקה, מגבלה יומית, תקרת חוזים, מגבלת עסקאות ושעות.
- מתג כיבוי וניטור הם חלק מהמערכת, לא תוספת.
- כשמשהו משתבש: לעצור, לאמת אצל הברוקר, לסגור, לתעד ורק אז לחקור.
- סיכון קטן לעסקה מקטין משמעותית את סיכון החורבן.
WeCore כוללת כללי סיכון אוטומטיים כמו מגבלת הפסד יומית, מספר חוזים מקסימלי, שעות מסחר וסגירת פוזיציות, שנאכפים על כל חשבון מחובר. אפשר להגדיר אותם מחמירים יותר מכללי ה-prop firm ולבדוק אותם במצב סימולציה. פירוט במדריך איך להגדיר מגבלות סיכון ב-WeCore.