פיתוח מערכת מסחר במרג'ין: מרג'ין מבודד, ליקווידציות

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

שירותי פיתוח בלוקצ'יין

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1375
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1349
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    794
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1087
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1032
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1129

פיתוח מסחר במרג'ין: היכן המערכת נשברת

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

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

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

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

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

אפקט מדיד: מה משתנה לאחר הרכבה מחדש של הקונטור

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

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

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

בנפרד על ריבית המימון: חלון חישוב מוחלק במקום חתך מיידי מסיר את המפל — קפיצה חדה בריבית אינה מפילה עוד קבוצת חשבונות בבת אחת. פרופיל סיכון כזה יציב ותואם למסקנות של Cambridge Centre for Alternative Finance בדבר התנהגות קונטורי בורסה בשווקים תנודתיים.

מצבי מרג'ין: מבודד, קרוס, פורטפוליו

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

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

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

מתי משלבים בין המצבים

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

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

שלבי הטמעת קונטור סיכון המרג'ין

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

  1. אודיט של מודל הסיכון. מתעדים את הפרמטרים הנוכחיים: כיצד מחושב המרג'ין, לפי איזה מחיר, היכן גבולות הרמות, מה קורה בעת גאפ. מתעדים פערים בין התיעוד להתנהגות בפועל של המנוע — הם אלו שלרוב מובילים למפל.
  2. תכנון הסכימה. מגדירים את מצב המרג'ין המבודד, מספר הרמות לפי נפח הפוזיציה, צעד מרג'ין התחזוקה, כללי חלוקת קרן הביטוח ורגע ההפעלה של צמצום הפוזיציות האוטומטי.
  3. אינטגרציה עם הבורסה. מחברים זרמי מחירים, מחיר אינדקס ומחיר סימון, התאמת פקודות ויתרות. בנפרד מתכננים התנהגות בעת ניתוק חיבור: התחברות מחדש, השלמת מצב, אידמפוטנטיות של פקודות חוזרות.
  4. הגדרת ליקווידציות. בונים לוגיקת סגירה חלקית, סדר הפקודות של המחסל, הגבלת החלקה ועדיפות פקודות משתמש על פני פקודות כפויות.
  5. בדיקת עומס. מריצים שחזור של זעזועי תנודתיות היסטוריים ותרחישים סינתטיים עם ליקווידציה המונית. בוחנים זמן חישוב המרג'ין, עומק תור הפקודות והתנהגות הקונטור בקצה.
  6. מסירה ותמיכה. מוסרים סכימות, תצורת רמות וספי התראות, נוהל השהיית מסחר וחזרה לסט הפרמטרים הקודם.

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

מדיניות גישה, מגבלות ותקנות ליקווידציה

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

מה הלקוח מקבל לידיו:

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

מקרה בוחן: מפל הליקווידציות נעצר, השימור עלה

לפני: מפל של 10–15 דקות קיצר תיקים

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

מה שינו במנוע הסיכון

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

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

אחרי: המפל נכבה ברמה הראשונה-שנייה

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

במה נבדל מרג'ין מבודד מקרוס-מרג'ין במסחר

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

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

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

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

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

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

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

שאלות על עומס, ליקווידציות וריבית מימון

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

כיצד המערכת מתנהגת תחת עומס?

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

מה קורה בעת ליקווידציה שנויה במחלוקת?

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

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

כיצד מחושבת ריבית המימון?

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

מה נכלל במסירת קוד המקור?

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

נדון במשימה ונחזור עם אומדן ותוכנית

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

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

בסיום האומדן תקבלו:

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

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