24 באוגוסט 2026 · מחקר

למה הבקטסט שלי מבצע יותר עסקאות מהאסטרטגיה שלי במסחר מדומה?

למה הבקטסט שלי מבצע יותר עסקאות מהאסטרטגיה שלי במסחר מדומה?

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

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

למה יש לאסטרטגיה שלי במסחר מדומה פחות עסקאות מאשר בבקטסט?

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

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

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

מה הבקטסט צריך לעשות כשהאות משתנה לפני שהפקודה מתמלאת?

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

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

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

אילו מצבי פקודה סימולטור למסחר מדומה צריך לתעד?

השתמשו במכונת מצבים קטנה ושמרו כל מעבר יחד עם הזמן שבו התרחש. המונחים המדויקים משתנים בין זירות, אבל ההבחנות המרכזיות נשארות זהות:

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

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

איך להשוות באופן הוגן בין עסקאות בבקטסט למסחר מדומה?

השוו קודם אירועי פקודות, אחר כך פוזיציות ולבסוף P&L. אם הבקטסט מילא פקודה שהחשבון המדומה כלל לא ביצע, ההבדל המאוחר יותר ב-P&L הוא תוצאה, ולא המקום שבו צריך לאתר את התקלה.

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

דוגמה קטנה מבהירה את הרצף. האות מבקש 10 יחידות. שתי המערכות שולחות את הפקודה ב-10:00:00. הבקטסט מניח מילוי מלא ב-10:00:01. במסחר המדומה מתמלאות 4 יחידות ב-10:00:01, בקשת ביטול מתקבלת ב-10:00:02, ואז מדווח על מילוי נוסף של 2 יחידות לפני אישור הביטול ב-10:00:03. ההשוואה הנכונה היא 6 יחידות שמולאו לעומת 10, ו-4 שבוטלו. מיזוג הכול ל„עסקה” אחת מסתיר את החשיפה שהאסטרטגיה נשאה בפועל.

האם צריך סימולטור בורסה מלא כדי לעשות את זה נכון?

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

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

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

מסחר מדומהניהול פקודותבקטסטביצועמחקר אסטרטגיות
← כל הפוסטים