حساب الأرباح والخسائر بدقة في Polymarket: لماذا قد تكون أرباحك وخسائرك غير صحيحة؟

BlockBeatNews
USDC‎-0.01%

العنوان الأصلي: «حساب الأرباح والخسائر بدقة في Polymarket: لماذا قد تكون حساباتك كلها خاطئة»
الكاتب الأصلي: ليو، محلل التشفير

لقد قضيت نصف سنة في تطوير تداول آلي ذاتي في Polymarket، وأكبر خطأ وقعت فيه ليس فشل الاستراتيجية، بل أنني لم أتمكن من حساب كم ربحت وخسرت بدقة.

ليس لأنني ضعيف. إن حساب PnL في PM هو منطقة ألغام بحد ذاته. الأرقام التي تقدمها API الرسمية لك خاطئة، وترتيب المواقع على مواقع التحليل الخارجية أيضا خاطئ. هل تكتب سكربتات لحسابك؟ على الأرجح لا يكون صحيحا.

كم هو الانحراف كبير؟ المستخدم في الترتيب رقم 3، kch123، حسب طريقة خاطئة خسر 3.5 مليون دولار، لكن الربح الفعلي هو 11.4 مليون دولار. ليس فرق نقاط قليلة — بل أن إشارة الربح والخسارة معكوسة تماما.

هذه المقالة تفصل كل خطأ وقعت فيه. سواء كنت تتداول، تكتب أدوات، أو تتابع الترتيب، ستواجهها عاجلا أم آجلا.

الخطر 1: cashPnl لا يشمل الأرباح والخسائر التي تم تسويتها

الطريقة الأكثر بديهية: استدعاء واجهة /positions، وجمع حقل cashPnl (ربح وخسارة نقدية).

اختبار عملي لثلاثة عناوين من أعلى 15 في الترتيب:

swisstony: مجموع cashPnl +$35,000، الترتيب الفعلي +$5.6 مليون، الفرق 158 مرة

kch123: مجموع cashPnl -$3.52 مليون، الترتيب الفعلي +$11.4 مليون، الإشارة معكوسة

gmanas: مجموع cashPnl -$2.64 مليون، الترتيب الفعلي +$5.02 مليون، الإشارة معكوسة

ثلاثة عناوين، إشارة الربح والخسارة في اثنين منها معكوسة مباشرة.

السبب: واجهة /positions ترجع cashPnl لا يشمل الأرباح والخسائر التي تم تسويتها بالفعل. بعد أن يتم استرداد المركز الرابح تلقائيا إلى USDC، يختفي هذا المركز من استجابة API. يبقى فقط المراكز غير المسوية — وغالبا تكون في خسارة مؤقتة.

تظن أنك تحسب كل الأرباح والخسائر، لكنك في الواقع تحسب فقط الجزء غير المسوي.

الخطر 2: حقل makerPnl لا يتطابق مع التدفقات النقدية على السلسلة

في بيانات التداول بصيغة JSONL يوجد حقل makerPnl (ربح وخسارة السوق)، اسمه يوحي بأنه لحساب PnL. لا تصدق.

لاحظت في بيانات السوق أن مجموع makerPnl المحسوب يختلف عن نتائج التدفق النقدي على السلسلة بمقدار كبير. قد يختلف الرقم حسب السيناريو، لكن الاتجاه واحد: منطق حساب makerPnl لا يتطابق مع التدفقات الفعلية لـ USDC.

مهما كان الانحراف كبيرا، الخلاصة واحدة: لا تستخدم هذا الحقل لحساب PnL.

الخطر 3: لا يمكن الاعتماد على txHash لإزالة التكرار

هذا عكس الحدس تماما.

عند ظهور عدة سجلات لنفس txHash (مفتاح المعاملة)، رد الفعل الطبيعي هو: بيانات مكررة، قم بإزالتها.

لكن لا تفعل ذلك. في CLOB الخاص بـ PM (دفتر أوامر الحد الأقصى على السلسلة)، يمكن أن يتم التوفيق بين عدة أوامر maker في معاملة واحدة. سجلات متعددة لنفس txHash هي عمليات تنفيذ حقيقية مستقلة.

كنت أزيل التكرار بناء على txHash + الأصل، وخسرت 133 دولارا على الجانب BUY. عند التحقق على شبكة Polygon، تبين أن هناك عدة أحداث تحويل USDC مستقلة في نفس txHash، وكل واحدة تمثل صفقة حقيقية.

الاستنتاج: لا تعتمد على txHash وحده لإزالة التكرار. لحساب PnL، اجمع البيانات الأصلية من /activity مباشرة.

الخطر 4: حد لصفحات التمرير باستخدام offset

عند استخدام offset لتمرير صفحات /activity، إذا تجاوزت 3000، تظهر رسالة خطأ 400. لم تذكرها الوثائق.

اختبرت الثلاثة عناوين أعلاه: استدعاء GET /activity?offset=3100 يعيد خطأ HTTP 400، مع رسالة max historical activity offset of 3000 exceeded. المستخدمون النشطون لديهم آلاف المعاملات، و3000 غير كاف.

استخدام معلمة end (وهي توقيت آخر سجل من الصفحة السابقة - 1) كعلامة للتمرير لا حدود لها.

الخطر 5: اختلاف معايير PnL في الترتيب

بعد حساب PnL الخاص بعنوان معين، عند مقارنته بالترتيب، هناك فرق بسيط.

في معظم الحالات، يكون الفرق أقل من 10 دولارات (نتيجة تقلبات السوق في القيمة السوقية للمراكز). لكن إذا كان الفرق أكبر بشكل واضح، فالأسباب المحتملة تشمل: نافذة التجميع في الترتيب، تأخير تحديث الكاش، أو أن المستخدم مرتبط بمحفظة proxy متعددة.

اختبرت، ووجدت أن حساب PnL باستخدام التدفقات النقدية يتطابق بشكل كبير مع نتائج lb-api. إذا كانت نتائجك تختلف كثيرا، تحقق أولا من اكتمال التمرير (الخطر 4)، واستخدام الحقول الصحيحة (الخطر 1-2).

الطريقة الصحيحة

بعد تجربة طرق مختلفة، تبين أن أكثر الطرق موثوقية هي جمع التدفقات النقدية عبر Data API. لا تستخدم أي حقول محسوبة مسبقا، بل احسب التدفقات من سجلات المعاملات الأصلية مباشرة.

الصيغة:

PnL = مجموع (TRADE حيث side=SELL) + مجموع REDEEM + مجموع MERGE + مجموع MAKER_REBATE + مجموع REWARD - مجموع (TRADE حيث side=BUY) - مجموع SPLIT + قيمة السوق للمركز

· TRADE BUY: شراء token باستخدام USDC (مصروف)

· TRADE SELL: بيع token واسترداد USDC (دخل)

· REDEEM: استرداد USDC من المركز الرابح (دخل)

· SPLIT: تحويل USDC إلى token (مصروف)

· MERGE: دمج token مرة أخرى إلى USDC (دخل)

· MAKER_REBATE: عمولة Maker (دخل)

· REWARD: مكافآت/توزيعات (دخل)

· مصدر البيانات:

استدعاء GET /activity?user=

&limit=500، باستخدام end للتمرير، ثم جمع حسب النوع.

· قيمة السوق للمركز:

GET /positions?user=

، الحجم × السعر الحالي.

· التحقق المتقاطع:

مقارنة النتائج مع API الترتيب في Polymarket (lb-api.polymarket.com/profit?window=all&address=X)، إذا كانت الفروق أقل من 10 دولارات، تعتبر صحيحة. الفروق تعود لتقلبات القيمة السوقية للمراكز.

اختبار عملي على أعلى 15 عنوان

بعد حساب PnL باستخدام طريقة التدفقات النقدية، قمت بمقارنته مع API الترتيب:

swisstony: +$5.6 مليون باستخدام طريقة التدفقات، +$5.6 مليون على API، الفرق أقل من 10 دولارات

kch123: +$11.4 مليون باستخدام طريقة التدفقات، +$11.4 مليون على API، الفرق أقل من 10 دولارات

gmanas: +$5.02 مليون باستخدام طريقة التدفقات، +$5.02 مليون على API، الفرق أقل من 10 دولارات

الفروق بين العناوين الثلاثة كانت جميعها أقل من 10 دولارات، وتعود لتقلبات القيمة السوقية للمراكز.

بعد أن تأكدت من صحة الطريقة، استخدمتها لتحليل مئات العناوين الكبرى، وكانت نتائج مختلفة تماما.

الخلاصة

SUM(cashPnl) من /positions → غير صحيح، لا يشمل الأرباح التي تم تسويتها، وقد يكون الإشارة معكوسة.

مجموع حقل makerPnl → غير صحيح، غير متطابق مع التدفقات النقدية على السلسلة.

الاعتماد على txHash لإزالة التكرار → غير صحيح، يفقد عمليات حقيقية بقيمة 100 دولار أو أكثر.

التمرير باستخدام offset والجمع → غير صحيح، البيانات مقطوعة، وإذا تجاوزت 3000 يظهر خطأ.

طريقة التدفقات النقدية عبر Data API → الأكثر موثوقية حاليا، ودقة أقل من 10 دولارات.

الخطوة الأولى في التداول الكمي ليست البحث عن alpha، بل التأكد من أن حسابك صحيح.

كل ما سبق هو من تجارب عملية، وليس نظريات. API الخاص بـ PM قد يتغير في أي وقت، لذا يُنصح بمراجعة API الترتيب بشكل دوري للتحقق من صحة حساباتك.

رابط المقال الأصلي

انقر لمعرفة وظائف BlockBeats في التوظيف

مرحبًا بك في المجتمع الرسمي لـ BlockBeats:

قناة تليجرام: https://t.me/theblockbeats

مجموعة تليجرام: https://t.me/BlockBeats_App

حساب تويتر الرسمي: https://twitter.com/BlockBeatsAsia

إخلاء المسؤولية: قد تكون المعلومات الواردة في هذه الصفحة من مصادر خارجية ولا تمثل آراء أو مواقف Gate. المحتوى المعروض في هذه الصفحة هو لأغراض مرجعية فقط ولا يشكّل أي نصيحة مالية أو استثمارية أو قانونية. لا تضمن Gate دقة أو اكتمال المعلومات، ولا تتحمّل أي مسؤولية عن أي خسائر ناتجة عن استخدام هذه المعلومات. تنطوي الاستثمارات في الأصول الافتراضية على مخاطر عالية وتخضع لتقلبات سعرية كبيرة. قد تخسر كامل رأس المال المستثمر. يرجى فهم المخاطر ذات الصلة فهمًا كاملًا واتخاذ قرارات مدروسة بناءً على وضعك المالي وقدرتك على تحمّل المخاطر. للتفاصيل، يرجى الرجوع إلى إخلاء المسؤولية.

مقالات ذات صلة

تجاوزت أحجام التداول التراكمية مدى الحياة لكل من Polymarket وKalshi 150 مليار دولار في أبريل

بحسب The Block، تجاوزت أحجام التداول التراكمية مدى الحياة لدى Polymarket وKalshi مجتمعتين 150 مليار دولار في أبريل. جاءت هذه المحطة مع انتهاء سلسلة من سبعة أشهر حققت خلالها المنصات أعلى مستوياتها الشهرية القياسية، لتسجل أول انخفاض في نشاط التداول بالقطاع منذ سبتمبر.

GateNewsمنذ 1 س

يدعم a16z هيئة CFTC في رسالة تعقيب يوم الجمعة، ويستشهد بقواعد أسواق التنبؤ الخاصة بالولايات بوصفها حاجزًا للوصول

وفقاً لـ The Block، قدّم Andreessen Horowitz رسالة تعقيب من 18 صفحة إلى لجنة تداول السلع الآجلة الأمريكية (CFTC) يوم الجمعة، مؤيداً الإشراف الفيدرالي على أسواق التنبؤ، وجادلاً بأن اللوائح على مستوى الولايات تخلق عوائق أمام الوصول العادل إلى السوق. وقالت شركة رأس المال المغامر إن خطابات التوقف والكف والحظر المقترح ف

GateNewsمنذ 2 س

Polymarket وKalshi يسجلان حجم تداول تراكمي بقيمة 150 مليار دولار: 21.9 مليار دولار في شهر أبريل وحده كرقم قياسي جديد

في أبريل، تجاوزت الأحجام التراكمية لتداول Polymarket وKalshi 1,500 مليار دولار، بإجمالي شهري بلغ 21.9 مليار دولار (Kalshi 13.4 مليار، Polymarket 8.5 مليار)، ما يمثل 85% من الإجمالي. ومنذ بدء التشغيل، وصل التراكم إلى 1,500 مليار دولار. وحتى 20/4، بلغ إجمالي YTD لدى Kalshi 37.49 مليار دولار، ولدى Polymarket 29.23 مليار دولار، ليصل المجموع إلى 66.7 مليار دولار. تعتمد Kalshi على التنظيم الكامل من هيئة CFTC وقربها من واجهة مقامرة رياضية؛ بينما تتيح Polymarket وصولًا دوليًا وتسوية عبر USDC وتغطية أوسع للموضوعات. نقاط الملاحظة المقبلة تشمل مفاوضات رفع القيود من CFTC، وتوجهات جمع التمويل في Polymarket وتقييمات Kalshi.

ChainNewsAbmediaمنذ 2 س

أيه 16 زد تدعم هيئة تداول السلع الآجلة وتحذر من أن قواعد أسواق التنبؤ على مستوى الولايات تخلق حواجز أمام الوصول إلى السوق

وفقًا لصحيفة The Block، قدّمت Andreessen Horowitz رسالة تعليق من 18 صفحة إلى لجنة تداول السلع الآجلة الأمريكية يوم الجمعة، داعمة للإشراف الفيدرالي على أسواق التنبؤ ومعارضة للتشديدات على مستوى الولايات. وجادلت A16z بأن خطابات وقف وكفّ الإصدار التنظيمي وحظرًا مقترحًا من قِبل الجهات التنظيمية على مستوى الولايات

GateNewsمنذ 10 س

تسجيل Polymarket وKalshi قفزة في الحجم التراكمي مدى الحياة المُجمَّع في أبريل $150B

تجاوزت أحجام التداول التراكمية مدى الحياة لكلٍ من Polymarket وKalshi مجتمعة 150 مليار دولار في أبريل، وفقاً لبيانات The Block. ومع ذلك، شهد أبريل أول انخفاض شهري في إجمالي نشاط التداول للقطاع منذ أن بدأت المنصات تشهد نمواً انفجارياً في سبتمبر، منهياً سلسلة استمرت سبعة أشهر من

CryptoFrontierمنذ 13 س

صناديق الاستثمار المتداولة الخاصة بـ Ethereum تسجل $184M خسائر خلال سلسلة ممتدة 4 أيام

سجّلت صناديق الاستثمار المتداولة في بورصة Ethereum تدفقات خارجة بقيمة 184 مليون دولار على مدى أربعة أيام متتالية حتى 30 أبريل، وفق بيانات السوق، إذ عوّضت حالة عدم اليقين الجيوسياسي المكاسب في الأسهم الأمريكية. وقد امتدت التدفقات الخارجة إلى سلسلة خسائر بدأت في وقت سابق من الأسبوع، مع أكبر عملية خروج في يوم واحد

CryptoFrontierمنذ 14 س
تعليق
0/400
لا توجد تعليقات