פיתוח אלגוריתם גודל פוזיציה דינמי

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

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

שאלות נפוצות

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

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1481
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1336
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1034
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1293
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    738
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1032

פיתוח אלגוריתם לחישוב דינמי של גודל פוזיציה

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

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

אין לבלבל זאת עם שינוי ידני של גודל ה-lot—האלגוריתם עצמו מחשב את הגודל האופטימלי לכל כניסה. אנו מתחשבים בסיכון לכל עסקה (בדרך כלל 1–2% מההון), בתנודתיות הנוכחית באמצעות ATR, ב-drawdown של התיק, ובמתאם עם פוזיציות פתוחות. הגודל הסופי הוא שילוב של מספר מסננים.

Fixed Fractional (בהשראת Kelly)

הגישה הבסיסית: סיכון אחוז קבוע מההון בכל עסקה.

def fixed_fractional_size(capital, risk_pct, entry_price, stop_price):
    risk_amount = capital * risk_pct
    risk_per_unit = abs(entry_price - stop_price)
    qty = risk_amount / risk_per_unit
    return qty

risk_pct סטנדרטי: 1–2% לעסקה. לאחר 20 עסקאות מפסידות רצופות: הפסד = (0.98)^20 = 33% מההון. ניתן לניהול.

חישוב מותאם תנודתיות

גודל הפוזיציה פרופורציונלי הפוך לתנודתיות: ככל שהשוק תנודתי יותר, כך הפוזיציה קטנה יותר.

def volatility_adjusted_size(capital, target_risk_pct, atr, entry_price, atr_multiplier=2.0):
    risk_amount = capital * target_risk_pct
    stop_distance = atr * atr_multiplier  # стоп на 2×ATR
    position_value = risk_amount / (stop_distance / entry_price)
    return position_value / entry_price  # в единицах актива

כאשר ATR = 3% → stop של 6% → פוזיציה X. כאשר ATR = 1% → stop של 2% → פוזיציה 3X. תוצאה: סיכון כספי שווה ברמות תנודתיות שונות.

קריטריון Kelly

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

Kelly % = W - (1-W)/R где W = win rate, R = средний win/средний loss 

עם W=55%, R=1.5: Kelly = 0.55 - 0.45/1.5 = 0.25 = 25% מההון. זה אגרסיבי מדי. בדרך כלל משתמשים ב-חצי Kelly (12.5%) או רבע Kelly. Kelly מלא מוביל ל-drawdowns גדולים למרות האופטימליות התיאורטית.

קנה מידה מבוסס drawdown

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

def drawdown_scaled_size(base_size, current_equity, peak_equity, max_drawdown=0.20):
    current_dd = (peak_equity - current_equity) / peak_equity
    if current_dd > max_drawdown * 0.75:
        # При 75% от max drawdown — снижаем до 50% размера
        return base_size * 0.5
    elif current_dd > max_drawdown * 0.5:
        # При 50% от max drawdown — снижаем до 75% размера
        return base_size * 0.75
    return base_size

התאמת מתאם

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

def correlation_adjusted_size(base_size, correlation_with_portfolio):
    # Если корреляция 0.8 — уменьшаем размер до 20% от базового
    diversity_factor = 1 - abs(correlation_with_portfolio)
    return base_size * max(diversity_factor, 0.2)  # минимум 20%

מדוע שילוב שיטות נותן את התוצאה הטובה ביותר

אף שיטה אחת אינה מושלמת. Fixed Fractional אינו מתאים עצמו לתנודתיות, Kelly אגרסיבי, ו-Volatility-adjusted תלוי בדיוק של ATR. גישה היברידית משלבת חוזקות: הסיכון הבסיסי נלקח מ-Fixed Fractional, ולאחר מכן מותאם לתנודתיות, ל-drawdown ולמתאם. בבדיקות שלנו, ההיברידית מפחיתה את ה-drawdown המקסימלי פי 2 בהשוואה ל-Fixed Fractional טהור תוך שמירה על אותן תשואות.

שיטה בסיס חישוב יתרונות חסרונות
Fixed Fractional אחוז מההון פשוט, סיכון צפוי לא מתחשב בתנודתיות
מותאם תנודתיות ATR, stop מתאים עצמו לתנאי השוק תלוי בדיוק של ATR
קריטריון Kelly אחוז זכייה, R:R צמיחה אופטימלית תיאורטית אגרסיבי, דורש הערכות מדויקות
מבוסס drawdown drawdown נוכחי שולט בהפסד המקסימלי תגובה איטית לירידות חדות
מותאם מתאם מתאם פוזיציות משפר פיזור חישוב מורכב בזמן אמת

כיצד אנו מיישמים את האלגוריתם

המחסנית שלנו: Python (NumPy, Pandas לבדיקות חוזרות) + אינטגרציה דרך REST API של הפלטפורמה שלכם (MetaTrader, Binance, Bybit, Custom). התצורה גמישה: ניתן להפעיל/לכבות כל מודול. הקוד עובר בדיקות דליפות (ניתוח סטטי של Python).

דוגמה: חישוב היברידי

נניח שסוחר משתמש ב-Fixed Fractional עם סיכון של 1.5% ו-Kelly בבדיקה חוזרת מציע 20%. אנו משלבים: סיכון בסיס = 1.5% * 0.5 (חצי Kelly) = 0.75%, ולאחר מכן מתאימים לתנודתיות: אם ATR = 2%, stop של 4% → פוזיציה = 0.75% / (4%/מחיר נוכחי). הפלט הוא מודול יחיד עם API אחיד: def fixed_fractional_size(capital, risk_pct, entry_price, stop_price): risk_amount = capital * risk_pct risk_per_unit = abs(entry_price - stop_price) qty = risk_amount / risk_per_unit return qty . קבלו ייעוץ על יישום היברידי כזה עבור האסטרטגיה שלכם.

טעויות נפוצות בבחירת שיטה

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

סקירת תהליך

  1. אנליטיקה — אנו לומדים את האסטרטגיה שלכם, היסטוריית המסחר, פרמטרי הסיכון.
  2. עיצוב — בחירת שילוב שיטות, כתיבת מפרט.
  3. יישום — פיתוח מודול ב-Python או Solidity/Rust.
  4. בדיקות — בדיקה חוזרת על היסטוריה + בדיקה קדימה, התאמת פרמטרים.
  5. פריסה — אינטגרציה עם הפלטפורמה שלכם, תיעוד, הדרכה.

מה כלול

  • קוד מקור של מודול החישוב (Python או Solidity).
  • קובץ תצורה עם פרמטרים.
  • תיעוד לאינטגרציה ותצורה.
  • גישה למאגר Git פרטי.
  • שבועיים של תמיכה לאחר המסירה.

לוח זמנים והערכה

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