פיתוח ניתוח אשכולות נפחים (Volume Profile) עבור בורסות קריפטו

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

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

שאלות נפוצות

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

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1376
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1350
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    798
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1093
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1035
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1132

Volume Profile: למה ניתוח קלאסטרים של נפחים נשבר

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

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

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

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

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

מה נותן ניתוח קלאסטרים של נפחים בבורסת קריפטו

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

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

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

מצבי חישוב של Volume Profile: השוואת גישות

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

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

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

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

איך נבנה חישוב הקלאסטרים: שלבי ההטמעה

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

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

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

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

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

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

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

מרשמים, סכמות ונוהלים: ערכת תיעוד

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

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

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

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

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

מה הייתה הסיבה

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

מה שינינו ומה יצא

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

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

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

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

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

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

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

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

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

שאלות טכניות נפוצות על הטמעה וליווי

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

מה עושים אם היסטוריית העסקאות לא שלמה?

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

איך עוברת ההשוואה מול ספק הנתונים?

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

איזה עומס נופל על הליבה?

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

מי אחראי לחישוב לאחר המסירה?

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

נדון במשימה: נתאים מצב חישוב ותוכנית עבודה

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

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

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