לאחר יצירת אסטרטגיית מסחר חדשה אופטימה מאפשרת לבצע בדיקה של האסטרטגיה על נתוני מסחר היסטוריים מהחודשים האחרונים. לאחר ביצוע הבדיקה מתקבל דוח המכיל את כל נתוני העסקאות שהאסטרטגיה נכנסת אליהן בדיעבד יחד עם נתוני תשואה ורווח והפסד מאותן עסקאות.
טענה נפוצה בהקשר של בדיקה היסטורית היא שהבדיקה אינה משקפת מסחר בשוק אמיתי ואכן ישנם לא מעט הבדלים בין ביצוע בדיקה על נתוני מסחר היסטוריים לבין הפעלת אסטרטגיית מסחר עם מסחר אמיתי בשוק חי, תוכלו לקרוא על כך עוד בעמוד מסחר אחראי עם אופטימה.
מה ניתן לעשות על מנת שהבדיקה תיהיה יותר קרובה למציאות?
1. ההבדל בין מחיר ההתראה לבין מחיר הכניסה לעסקה
אופטימה שולחת את העסקה לשוק לאחר שהופעלה אחת ההתראות שנבחרו על ידי המשתמש - Alert. ההתראה היא למעשה הטריגר שמשגר את העסקה לשוק. לדוגמה נניח שבחרנו בהתראת שיא יומי חדש, במידה והשיא היומי החדש הוא 10$ אופטימה שולחת את העסקה לפי מחיר ההתראה.
כאשר אנו מבצעים בדיקה היסטורית אופטימה יוצרת את העסקאות ההיסטוריות על פי מחיר ההתראה, קיים כאן פער בין הבדיקה למציאות שכן בשוק האמיתי בו המחירים נעים במהירות יהיה מאוד קשה לקבל את העסקה בדיוק במחיר ההתראה.
בממשק הברוקראז+ אנו נדרשים לבחור איזו סוג פקודה אופטימה תשלח לשוק, במידה ובחרנו ב- Market אופטימה תשלח פקודת Market לשוק לאחר הפעלת ההתראה, במצב זה לא נוכל לשלוט כלל על המחיר בו ניכנס לעסקה.
ניתן להשתמש גם בפקודה מסוג Limit, כאשר אנו שולחים פקודת קנייה מסוג Limit לשוק לדוגמא Buy Limit 10$, הפקודה אומרת כי אנחנו מעוניינים לקנות את המניה במחיר 10$ או נמוך יותר, במידה ומחיר המניה גבוה מ-10$ הפקודה לא תתבצע.
אופטימה מאפשרת לנו שליטה על המיקום של פקודת ה-Limit באמצעות מנגנון Limit-offset, כאשר מופעלת התראה אנו יכולים לקבוע את המרחק של פקודת ה-Limit ממחיר ההתראה באמצעות מנגנון זה.
לשם מה צריך שיהיה מרחק בין מחיר ההתראה לבין מחיר הפקודה?
ניקח לדוגמה מצב בו הגדרנו Limit Offset=0, מחיר ההתראה הוא 10$ באסטרטגיית קנייה\long, בד"כ בתראות מסוג זה קורות כאשר המנייה בתנועה למעלה, ברגע הפעלת ההתראה במחיר 10$ אופטימה תשלח Buy Limit 10$ - המערכת שלוחת בדיוק את אותו מחיר של ההתראה כי קבענו Limit offset =0. במצב כזה אין אפשרות שניכנס לעסקה במחיר גבוה מ-10$ שזה מצויין אך במידה והמנייה חלפה על המחיר הזה לא ניכנס לעסקה.
על מנת ליצור מצב בו יהיה יותר סיכוי להיכנס לעסקה ניתן לקבוע Limit Offset שייצור מרווח על מנת שנוכל להיכנס לעסקה.
Limit Offset חיובי - Outside Market
שימו לב שניתן להגדיר את Limit Offset במספר חיובי או שלילי, נתחיל מהאופציה של מספר חיובי - Outside Market. במצב כזה במידה ובחרתי Limit Offset = +0.1 ברגע הפעלת ההתראה במחיר 10$ אופטימה תשלח פקודת Buy Limit 9.90$ - כלומר במצב כזה הפקודה שלי נמצאת "מחוץ לשוק" המניה במחיר 10$או קצת יותר והמערכת שלחה פקודת קנייה ב- Limit 9.90$ כלומר לקנות במחיר זה ומטה - במצב זה אני מקשה עוד יותר על המערכת להיכנס לעסקה.
Limit Offset שלילי - Inside Market
במצב כזה במידה ובחרתי Limit Offset = -0.1 ברגע הפעלת ההתראה במחיר 10$ אופטימה תשלח פקודת Buy Limit 10.10$ - כלומר במצב כזה הפקודה שלי נמצאת "בתוך לשוק" המניה במחיר 10$או קצת יותר והמערכת שלחה פקודת קנייה ב- Limit 10.10$ כלומר לקנות במחיר זה ומטה - במצב זה אני יוצר מרווח של 10 סנט לכניסה לעסקה.
כאשר אני בוחר Limit Offset שלילי ככל שהמרווח יותר גדול כך הסיכוי להיכנס לעסקה גבוה יותר אך אני עלול לקבל מחיר כניסה פחות טוב ורחוק ממחיר ההתראה! בנוסף לכך זה גם משפיע על פקודות ההגנה שלי מכיוון שפקודות ההגנה מחושבות לפי מחיר ההתראה ולא לפי מחיר הכניסה לעסקה!
ניתן להגדיר את Limit Offset באחוזים או בדולרים, יש לרכיב זה משמעות גדולה לגבי הכניסה לעסקה וגם להצלחתה לכן יש לקחת בחשבון את כל המשמעויות כאשר בוחרים את הטווח.



2. שימוש בעמלות המסחר לדימוי הבדלי מחיר בשוק
בתהליך יצירת אסטרטגיית מסחר אוטומטית מגדירים בתכנת המסחר באילו פקודות מסחר להשתמש. פקודות המסחר הנפוצות הן פקודת שוק - Market, פקודת - Stop ופקודת Limit. במסחר ידני ובמסחר אוטומטי קיים הבדל בין המחיר בו הסוחר מעוניין להיכנס לעסקה לבין המחיר שיתקבל בפועל. לדוגמא בהצבת פקודת Stop המשמשץ בדרך כלל לעצירת הפסד הסוחר מגדיר למערכת היכן להציב את פקודת ה-Stop, ברגע שהמחיר מגיע לשם מופעלת בצורה אוטומטית פקודת Market. המטרה היא להינעל על המחיר שהוגדר בפקודת ה-Stop באמצעות פקודת Market אך במצבים שמחיר המניה יורד במהירות כלפי מטה קיימת סבירות לכך שבפועל העסקה תצא במחיר נמוך יותר.
בעת ביצוע בדיקה היסטורית ההבדל הזה במחיר לא קיים מפני שהמערכת בודקת מתי מחיר המניה הגיע אל מחיר ה-Stop וכאשר הוא מגיע אליו מערכת הבדיקה ההיסטורית מוציאה את העסקה בדיוק במחיר ה-Stop. במצב כזה ישנו עיוות מסוים שכן בשוק חי לא תמיד ניתן לצאת בדיוק במחיר זה.
במערכת אופטימה בממשק הבדיקה ההיסטורית ניתן לדמות את ההבדלים במחיר באמצעות הגדלת עמלות המסחר שמחושבות לכל עסקה. Commission/Trade היא עמלת המינימום לכל עסקה, Commission/Share היא העמלה המחושבת לכל מניה. באמצעות העלאת גובה העמלות אפשר לדמות כניסה ויציאה מעסקה במחירים פחות טובים ממה שהיה בפועל ובכך לגרום לבדיקה להיות יותר אמינה.

3.שימוש בפילטר -Spread
Spread הוא ההבדל בסנטים בין מחיר ה-Bid - ביקוש למניה, לבין מחיר ה-Ask היצע המניה. ככל שההבדל בין ה-Bid ל-Ask נמוך יותר כך יש סבירות גבוהה יותר שבכניסה לעסקה במניה נקבל מחיר קרוב למחיר ה- Last - מחיר עסקה האחרונה במניה. ה-Spread תלוי ומושפע מרמת סחירות המניה - Volume. במניות עם רמת סחירות מאוד גבוהה נראה Spread נמוך ולהפך, בנוסף לכך ה-Spread משתנה מאוד באותה מניה בשעות מסוימות ביום המסחר. נוכל לראות מניות עם Spread של סנט אחד ומצד שני מניות עם Spread של מעל דולר. ניתן להשתמש בפילטר Spread על מנת לקבל מניות בהן הSpreadנמוך יותר ובכך ממשק הבדיקה ההיסטורית יהיה יותר קרוב למציאות שכן העסקאות שנכנסות הן במניות עם מרווח נמוך בין ה-Bid ל-Ask.

4. שימוש בפילטר - Distance from inside Market
סינון זה מאפשר לבצע השוואה בין מחיר העסקה האחרונה - LAST לבין מחיר הביקוש הטוב ביותר. במידה ומגדירים את ערך המקסימום ל-0, המערכת תציג מניות שנסחרות במחיר הביקוש או בין מחיר הביקוש BID למחיר ההצעה ASK בזמן שבו הופעלה ההתראה. במידה ומגדירים בערך המקסימום 0.1 המערכת תציג מניות שנסחרות לכל היותר במחיר גבוה מעשירית האחוז מעל מחיר ההצעה ולא יותר מעשירית האחוז פחות ממחיר הביקוש - Bid. באמצעות סינון זה ניתן להבדיל בין עסקאות לגיטמיות לבין "עסקאות שגויות" - Bad prints. ככל שהעסקה רחוקה ממחירי השוק כך יורדת אמינותה לפי המערכת. סינון זה יכול להיות מאוד שימושי בביצוע בדיקה היסטורית. ממשק הבדיקה מחשיב את מחיר העסקה האחרונה למחיר פתיחת העסקה. זה יכול להיות שימושי ואמין במידה ובאמת היה אפשר לקבל מניות במחיר זה. ככל שהמחיר קרוב יותר למחיר השוק יש יותר סיכוי שהיה ניתן לבצע את העסקה.

לסיכום, ממשק הבדיקה ההיסטורית במערכת אופטימה יכול לסייע בבדיקה של הצלחת/כשלון אסטרטגיה ושיפור הביצועים בדיעבד תוך שינוי פרמטרים שונים הקשורים למסחר ולאסטרטגיה. הבדיקה מבוצעת על נתוני מסחר היסטוריים שנאגרים על ידי המערכת. ניתן לנסות לגרום לבדיקה להיות יותר אמינה על ידי האלמטים שהוצגו במאמר זה, אך חשוב לזכור שעדיין ישנם הבדלים מהותיים בין תוצאות הבדיקה לבין מה שנקבל בהפעלת המסחר במסחר אמיתי עם חשבון מסחר חי, על הבדלים אלו ניתן לקרוא בעמוד הבא.