ריבלנסינג LP: איפה בדיוק נשברת הפוזיציה
הבריכה Uniswap v3 מרוויחה רק בתוך מסדרון מחירים מוגדר: כל עוד המחיר נשאר בגבולות, העמלות נצברות, וההון עובד בצפיפות גבוהה. ברגע שהמחיר פורץ את הגבול העליון או התחתון של הטווח, הפוזיציה מפסיקה להיות פעילה — הנזילות נשארת בבריכה, אך הופכת לנכס אחד, ואיסוף העמלות נעצר.
מכאן נכנס למשחק מה שכמעט לא מחשבים בכניסה: הפסדים לא-קבועים נרשמים לא ברגע הסגירה, אלא דווקא כשהמחיר יוצא מהטווח. הפוזיציה כבר לא מקבלת עמלות, אבל ממשיכה לשאת בסיכון מחירי.
זמן ההמתנה של הנזילות אינו הפסקה, אלא חיסור ישיר מהתשואה: כל שעה מחוץ למסדרון היא אובדן עמלות שאותן לקחו פוזיציות שכנות באותה בריכה.
מסדרון מחירים צר מחזק את שני הצדדים. צפיפות ההון בו גבוהה יותר, וההכנסה ליחידת השקעה גדולה יותר — ולכן הוא אטרקטיבי. אבל רוחב הטווח ותדירות הפריצה שלו קשורים ביחס הפוך: ככל המסדרון צר יותר, כך תנועת מחיר קטנה יותר מספיקה כדי שהפוזיציה תפסיק לאסוף עמלות.
שליטה ידנית נתקלת במגבלת המהירות. עד שהבעלים מבחין ביציאה מהטווח, בודק את הגרף וחותם על טרנזקציה, המחיר כבר זז כמה צעדים, והגבול החדש מוצב לפי נקודה מיושנת. המחזור חוזר על עצמו: יציאה, המתנה, הצבה מחדש לפי הרמה הקודמת, יציאה נוספת — התשואה נאכלת על ידי זמן ההמתנה והעברת הפוזיציה.
אנחנו מפרקים איך סוגרים את זה: חישוב מחדש של הגבולות לפי תנודתיות, הגבלת תדירות ההצבה מחדש ובקרת הפסדים בעת ההעברה.
האפקט של המערכת: עמלות, זמן המתנה, סוגי כשלים
פוזיציה ב-Uniswap v3 מרוויחה עמלות רק כל עוד המחיר נמצא בתוך הטווח שהוגדר — כל שאר הזמן היא לא מניבה דבר.
לכן את האפקט של מערכת הריבלנסינג אנחנו מודדים לא לפי «תשואה ברגע נתון», אלא לפי מדדים תפעוליים: כמה זמן הפוזיציה שהתה בטווח, כמה מהר חזרה לעבודה, כמה עמלות אספה ואילו סוגי כשלים נעלמו.
להלן צ'קליסט שמראה שהמערכת באמת עובדת ולא רק מריצה טרנזקציות.
- שיעור הזמן בטווח העבודה. לפני ההטמעה הפוזיציה נשארה בתוך הגבולות בערך במחצית מהזמן הקלנדרי: המחיר יצא מהגבול, וההחלטה על בנייה מחדש התקבלה ידנית. אחרי ההטמעה המדד נשמר בסביבות 75–85% — וזה החלק העיקרי של השיפור.
- זמן המתנה. פירוק ידני של פוזיציה שנפלה ארך בין חצי שעה לכמה שעות, וכל אותו זמן איסוף העמלות עמד על אפס. מחזור אוטומטי של בנייה מחדש של הגבולות מחזיר את הפוזיציה לעבודה תוך דקות.
- איסוף עמלות. צבירה מתרחשת רק בתוך הטווח, ולכן כל דקת המתנה היא חוסר ישיר. המדד מחושב כשיעור מהמקסימום התיאורטי בהנחה של שהייה רציפה בטווח.
- הזזת הטווח. רוחב הגבולות מותאם לתנודתיות הנוכחית: בשוק רגוע הטווח מצטמצם ומספק נזילות צפופה יותר, בתנועות חדות הוא מתרחב — הפוזיציה נפלטת לעתים רחוקות יותר ודורשת בנייה מחדש לעתים רחוקות יותר.
- סוגי כשלים שנעלמו. נעלמו הזזת מחיר שהוחמצה, פוזיציה "תקועה" בלי גז, בנייה מחדש של גבולות לפי ציטוט מיושן וטרנזקציות כפולות בהרצה מקבילה. נותרו רק כשלים צפויים ברמת הרשת.
- תשואת הפוזיציה. משווים אותה לשני בסיסים: החזקה פסיבית של אותם נכסים ופוזיציה שננטשה מחוץ לטווח. ההפרש מראה את התרומה של האוטומציה עצמה, ולא של תנועת השוק.
אפשרויות ריבלנסינג LP: השוואת מצבי עבודה
נזילות מרוכזת מספקת תשואת עמלות מוגברת רק כל עוד המחיר נשאר בתוך הטווח שהוגדר. ברגע שהוא פורץ את הגבול, הפוזיציה הופכת לנכס חד-כיווני ומפסיקה להרוויח — לכן מצב הליווי של הפוזיציה משפיע על התוצאה יותר מאשר גודל ההון.
במה נבדלים המצבים
הבחירה כאן היא פשרה בין מהירות התגובה לתנועת המחיר לבין עלויות התחזוקה. להלן שלוש גישות שביניהן בוחרים בדרך כלל לפי פרופיל הסיכון.
| אפשרות | מתי מתאימה | מגבלות |
|---|---|---|
| הזזת טווח ידנית | שוק רגוע, פוזיציה גדולה, יש מפעיל שמוכן לעקוב אחרי המחיר | השהיית תגובה וגורם אנושי; כל בנייה מחדש — עמלות רשת וסיכון להיכנס לכיוון הלא נכון |
| טריגרים אוטומטיים לפי סף | שוק פעיל, נדרשת עבודה ללא סופי שבוע ותורנויות לילה | סף ההפעלה נבחר לפי התנודתיות: סף צר מביא לבניות מחדש תכופות ולעלייה בעלויות, סף רחב — לזמן המתנה ארוך מחוץ לטווח |
| היברידי: הזזה לפי לוח זמנים בתוספת יציאת חירום | פוזיציות שבהן זמן המתנה מחוץ לטווח יקר במיוחד | דרוש מקור מחיר יציב והפרדת הרשאות בין המפעיל לאוטומציה |
סף ההפעלה ותדירות הבניות מחדש מותאמים לצמד ספציפי ולטווח ההחזקה: אנחנו מחשבים אותם לפי תנודתיות היסטורית ורק אחר כך מכניסים אותם לקונפיגורציה. תארו את המשימה שלכם — נחזור עם הערכה ותוכנית למצב שנבחר.
שלבי ההטמעה: מביקורת פוזיציות ועד מסירת המערכת
ריבלנסינג של פוזיציית נזילות בטווח מרוכז ב-Uniswap v3 אינו כפתור אחד, אלא קו מתאר שצריך להגדיר, לבדוק ולמסור. סדר העבודות קבוע: תדלג על ביקורת הבריכה — והספים יוצבו לפי נוחות הקוד, ולא לפי פרופיל התנודתיות, והמערכת תתחיל לבנות את עצמה מחדש על כל רעש.
-
ביקורת בריכות. רמת העמלה, התפלגות הנפח לפי רמות מחיר, העומק בגבולות, ההיסטוריה של יציאת המחיר מהטווח. מחשבים אם הבנייה מחדש מכסה את הסליפג' ואת עמלות הרשת.
-
תרשים קו המתאר. מאיפה אנחנו לוקחים את המחיר ומצב הפוזיציה, היכן נשמרים המפתחות, מי חותם על הפעולות, מה לעשות במקרה של אי-התאמה בין המקורות. בפלט — תרשים ורשימת תרחישי כשל.
-
הגדרת ספים. רוחב הטווח, טריגרים ליציאה ולחזרה, הצעד המינימלי ומגבלה על תדירות הבניות מחדש. בנפרד — הגנה מפני "מסור", כשהמחיר מתנדנד סביב גבול הטווח.
-
הרצת בדיקה. קודם על נתונים היסטוריים, ואחר כך על נפח מוגבל. משווים את החישוב למציאות: כמה אכלו הסליפג' והעמלות, והאם האותות תאמו את הצפוי.
-
השקה. הפעלה הדרגתית עם מגבלות על נפח ותדירות, התראות על סטיות. בימים הראשונים מהנדס מפרק כל הפעלה ומתקן את ההגדרות.
-
מסירת המערכת. הרשאות גישה, תיעוד הקונפיגורציה, נוהל פעולה במקרה של תקרית, וגבולות שמעבר להם נדרשת העזרה שלנו. בהמשך אנחנו מלווים: מתאימים את הספים לשינויים בשוק.
מדיניות גישה, תרשימים ותיעוד: מה נשאר אצלכם
הפרויקט נמסר לא כהדגמה של תרחיש עובד, אלא כמערכת של ארטיפקטים שלפיהם הצוות שלכם יוכל ללוות את המערכת בלעדינו. להלן מה שעובר ללקוח יחד עם הקוד: קונפיגורציות, תרשימים ונוהלים שמתארים לא רק את העבודה השגרתית, אלא גם את ההתנהגות בעת תקלה.
- הפרדת הרשאות גישה — מטריצת תפקידים: מי משנה את פרמטרי הטווח, מי רק רואה סטטיסטיקה, מי חותם על טרנזקציות. ההרשאות ניתנות לפי עקרון המינימום הנדרש, וכל פעולה נרשמת ביומן.
- תפקידים ומפתחות — תרשים אחסון מפתחות החתימה: מפתח נפרד לכל סביבה, אחסון חומרה או שירות סודות, נוהל רוטציה וביטול במקרה של חשיפה.
- תרשימי אינטגרציות — דיאגרמות של הקשרים עם צומת הרשת, מקור הציטוטים, הבריכה ושירות ההתראות: אילו נתונים זורמים לכל כיוון ומה קורה כשלא ניתן להגיע למקור.
- קונפיגורציות של האסטרטגיה — נתח הפוזיציה הרצוי, רוחב הטווח, סף הסטייה לריבלנסינג, מגבלות על עמלה וסליפג', מרווחי בדיקה.
- נוהל תגובה — סדר הפעולות במקרה של אי-התאמת ציטוטים, טרנזקציה תקועה, תנועת מחיר חדה וכשל של הצומת, עם ספי הפעלה ואחראים.
- תיעוד — תיאור הארכיטקטורה, נקודות הכניסה, משתני הסביבה, הוראות להרצה מקומית ולהרצת האסטרטגיה על נתונים היסטוריים.
- תוכנית שחזור — איך להחזיר את הקונפיגורציה לזו הקודמת, להוציא את הנזילות ידנית ולבדוק את שלמות גיבויי המצב.
מקרה בוחן: איך צמצמנו את הזמן מחוץ לטווח ואת אובדן העמלות
בריכה מנוהלת על צמד עם תנודתיות בינונית נוהלה במשך זמן מה ביד: הטווח הוצב לפי אינטואיציה, והפוזיציה נבדקה בין שאר המשימות. מחוץ למסדרון העבודה הפוזיציה מפסיקה לאסוף עמלות והופכת כולה לנכס אחד — אם המחיר מתהפך, זה מבצר הפסד שאין במה לקזז.
מדידות לפני השינויים נתנו תמונה לא נעימה: שיעור הזמן בטווח — 58%, חציון התגובה ליציאה מהגבול — כ-40 דקות, עמלות שאבדו — 31% מהפוטנציאל.
מה שינינו
כתבנו שירות שעוקב אחרי המחיר והתפלגות הנזילות ב-Uniswap v3 ומחשב מראש את המסדרון הבא. הבנייה מחדש מתבצעת בטרנזקציה אחת: להסיר את היתרה, במידת הצורך להחליף ליחס הרצוי, להציב טווח חדש — ההון לא נתקע מחוץ לשוק בין השלבים.
עומק המסדרון מחושב לפי התנודתיות הנוכחית, ולא לפי רמה עגולה "יפה", ולכן בשוק רגוע הפוזיציה חיה זמן רב יותר ומשלמת פחות על הבנייה.
בנפרד סגרנו את הרעידה. הריבלנסינג מופעל רק כאשר המחיר יצא מהגבול במרחק מאושר והערכת התנודתיות גבוהה מהסף — אחרת רעש מזיז את הפוזיציה כל שעה, והוצאות הבנייה והסליפג' אוכלות את העמלות שנאספו.
את הספים בחרו על נתונים היסטוריים: הרצנו כמה מצבי שוק והשארנו ערכים שבהם מספר הבניות מחדש מינימלי, וזמן השהייה בטווח לא נשחק.
מדדים אחרי
שיעור הזמן בטווח עלה מ-58% ל-94%. חציון התגובה ליציאה מהגבול הצטמצם מ-40 דקות לכ-2 דקות — החזרת הפוזיציה נכנסת כעת לתנועת מחיר אחת, ולא לסוף היום. העמלות שאבדו ירדו מ-31% ל-7% מהפוטנציאל, ומספר הבניות מחדש — בשליש פחות מאשר בריבלנסינג לפי כל חצייה של הגבול.
חלק מההפסדים לא נעלם לחלוטין: במגמה חד-כיוונית חדה שום לוגיקה לא תחזיק את הפוזיציה במסדרון, שם עובדת רק הגבלת הדראודאון והוצאת חלק מההון.
מה לעשות אם הפוזיציה כבר יצאה מהטווח?
היציאה מהטווח מתרחשת לא ברגע הנגיעה בגבול, אלא כאשר המחיר הנוכחי הפסיק להיכנס למרווח שהוגדר בפתיחה. הנזילות מפסיקה לאסוף עמלות ונשארת כולה בנכס אחד — בנקודה הפחות משתלמת של התנועה.
לכן הצעד הראשון אינו הפעלה מחדש, אלא תיעוד המצב: כמה רחוק המחיר יצא מהגבול, כמה זמן הוא מחוץ למסדרון ומה הייתה התנודתיות בחלון הזה.
אם המחיר חזר פנימה מעצמו, הפוזיציה שוב מרוויחה, ובנייה מחדש של הטווח רק תקבע הפסדים על סליפג' ועמלות רשת. הפעלה מחדש מוצדקת ביציאה יציבה: היפוך בתוך מרווח חישוב אחד קורה במידה ניכרת פחות מהמשך התנועה באותו כיוון.
סדר הפעולות ביציאה מאושרת הוא כזה: להסיר את הנזילות, להביא את הצמד ליחס הרצוי, לחשב רוחב חדש לפי התנודתיות בפועל ולפתוח את הפוזיציה מחדש עם צעד טיקים שמתאים לרמת העמלה של הבריכה ב-Uniswap v3.
את הרוחב אנחנו לוקחים מהתנודתיות הממומשת בחלון, ולא לפי העין: מסדרון צר נותן יותר עמלות, אבל יוצא מהטווח כל כמה שעות, וכל הפעלה מחדש אוכלת את מה שנצבר.
הלאה — הערכת כדאיות: ההכנסה הצפויה מעמלות בטווח החדש לזמן השהייה הצפוי בו מול עלות ההפעלה מחדש, כלומר עמלות הרשת והסליפג' בעת ההחלפה. אם הבנייה מחדש מחזירה את עצמה בתוך מחזור אחד עם מרווח גדול מהתנודתיות בזמן הזה — מפעילים מחדש.
אם לא, הטווח מתרחב או שהלוגיקה עצמה של ההצבה משתנה, אחרת ריבלנסינג LP אוטומטי יסובב את הפוזיציה בהפסד.
ספקות טכניים נפוצים לפני ההתחלה
ריבלנסינג אוטומטי הוא זרם של החלטות: מתי להזיז את הטווח, איך להגיב ליציאת המחיר מהגבול, מה לעשות כשיש אי-התאמה בנתונים בין המקורות. טעויות כאן עולות לא ב"אי-נוחות", אלא באובדן נזילות ובבניות מחדש מיותרות, ולכן יש טעם לסגור ספקות מהסוג ההנדסי לפני ההשקה. להלן השאלות שהלקוחות שואלים בתדירות הגבוהה ביותר.
איך מוגבל ההפסד המקסימלי אם האסטרטגיה תטעה?
בשלב התכנון מוגדרים גבולות קשיחים: הדראודאון המרבי על הפוזיציה, מגבלת הפסד לריבלנסינג אחד ומגבלה יומית על מספר הבניות מחדש. כשמגיעים לאחד הספים, האסטרטגיה לא "מותחת" את הטווח ידנית, אלא עוצרת, מוציאה את הנזילות למצב ניטרלי ומתעדת את סיבת העצירה ביומן.
בנפרד מחושב אם הבנייה מחדש מכסה את עלותה: אם האפקט הצפוי קטן מהעלות של הפעולה, היא לא מתבצעת — זו הגנה מסדרה של הזזות קטנות שאוכלות את הפוזיציה.
האם הקבלן מקבל גישה לכספים?
לא. אנחנו משתמשים בסכמה לא-משמורתית: המפתחות הפרטיים נשארים אצלכם, השירות רק יוצר את הטרנזקציה ומעביר אותה לחתימה — בלי אישור מצדכם הפעולה לא תצא לרשת.
אם נדרש מצב אוטומטי לחלוטין, פורסים ארנק-מפעיל עם הרשאות מצומצמות: הוא יכול לשנות את גבולות הטווח, אבל לא יכול להוציא כספים לכתובת זרה. ההרשאות מקובעות בחוזה, ולא בהסכמות.
מה יקרה אם מקור מחיר חיצוני יספק נתונים שגויים?
אות נחשב תקף רק אם הוא מאושר על ידי כמה מקורות בלתי תלויים ולא התיישן בזמן. במקרה של אי-התאמה מעל הסף שהוגדר או עיכוב בנתונים, פקודות לא נשלחות בכלל — האסטרטגיה עוברת למצב תצפית ומחכה להתייצבות. התנהגות כזו חשובה ממהירות: הזזת טווח שהוחמצה עולה פחות מבנייה מחדש לפי אות כוזב.
האם אפשר לבטל את השלכות התקלה של האוטומציה?
כל פעולה אידמפוטנטית ועוברת קודם בקו מתאר בדיקה עם תנאי שוק אמיתיים. יש עצירה ידנית, יומן של כל ההחלטות עם נימוקים ואפשרות להחזיר את הפוזיציה לגבולות המקוריים. הלוגים נשמרים כך שאפשר לשחזר מהם את התמונה המלאה: איזה אות הגיע, איזה סף הופעל, ומה בדיוק נשלח לרשת.
תארו את התרחיש שלכם — נחזור עם הערכה ותוכנית: אילו ספים אנחנו מגדירים, איך בנויה הגישה ומה נכנס לקו מתאר הבדיקה לפני הטרנזקציה המבצעית הראשונה.נדון במשימה: נבנה תרשים לבריכה שלכם
כדי לחזור עם הערכה, ולא עם מילים כלליות, נדרש הקשר על הפוזיציות שלכם: הרשת וכתובת הבריכה, הטווח הנוכחי, גודל הפוזיציה והאופק שבו אתם מוכנים להחזיק אותה. זה מספיק כדי לחשב את שיעור הזמן מחוץ לטווח ואת היקף העמלות שהוחמצו ביחס לעלויות המעברים.
מה תקבלו בתשובה:
- מפה של הפוזיציה הנוכחית: באיזו תדירות המחיר יוצא מגבולות הטווח וכמה זמן הפוזיציה ממתינה בלי עמלות;
- חישוב של ספי ההפעלה ורוחב הטווח לפי האופק שלכם והנזילות של הבריכה;
- לוגיקת ריבלנסינג LP: טריגרים להזזת הטווח, התנהגות בתנועת מחיר חדה והגנה מפני הפעלות על רעש שוק;
- תרשים ביצוע והרשאות: היכן נשמרים המפתחות, מי חותם על הטרנזקציות, מה המגבלה על עלויות המעבר;
- סדר ההשקה — הרצה על נתונים היסטוריים, עבודה בנפח קטן, ואחר כך הנפח המלא של הפוזיציה;
- תוכנית עבודה לפי שלבים עם נקודות שבהן אתם מחליטים להמשיך או לשנות גישה, ותרחישים שבהם המכניקה לא מגנה.
תארו את המשימה בצורה שבה היא נמצאת אצלכם: ייצוא עסקאות, טבלת פרמטרים או סתם מאפיינים של הבריכה. נדון בדרישות ונחזור עם הערכת המשימה ותוכנית עבודה לפוזיציות שלכם.







