مهارات الحياة

TWAP: متوسط الزمن أم متوسط تحديثات السعر؟

مسار سعر مؤلف: مئة لمدة دقيقة ثم مئة وعشرة لمدة دقيقة ثم تسعون لمدة ثماني دقائق؛ سعر مئة وثلاثين عند النهاية بلا مدة داخل النافذة
المسار ثابت بين الحدود بافتراض معلن؛ النافذة تستبعد لحظة النهاية عند 09:10.

TWAP ووزن مدة السعر بدل عدد التحديثات سؤالان يحتاجان إلى نافذة واضحة. سنقارن مسارًا زمنيًا مؤلفًا بسجل تحديثاته، ثم نرى أثر تكرار سطر واختيار مواعيد العينة.

الخلاصة السريعة

في نموذجنا نزن السعر بالمدة التي بقي خلالها ثابتًا، ولا نعطي كل تحديث وزنًا متساويًا لمجرد أنه سطر.

  • تصف IBKR خوارزمية TWAP بأنها تستهدف متوسط السعر المرجح بالزمن، مع عدم ضمان اكتمال التنفيذ. مثالنا الحسابي مستقل عن تفاصيل تنفيذ المنصة. [1]
  • نثبت نافذة من 09:00 شاملًا إلى 09:10 غير شامل، بتوقيت UTC، ونفترض سعرًا 100 لمدة دقيقة، ثم 110 لمدة دقيقة، ثم 90 لمدة ثماني دقائق. المتوسط الزمني (100×1+110×1+90×8)/10=93.
  • متوسط أسعار التحديثات الثلاثة بالتساوي هو 100، ويختلف لأنه يزن السطور بدل الدقائق. لا توجد كميات تداول لحساب متوسط مرجح بالحجم.
  • إضافة تحديث بالسعر نفسه 90 عند 09:06 لا تغير المسار أو المتوسط الزمني 93؛ لكنها تجعل متوسط السطور الأربعة 97.5، لأننا غيرنا عدد السجلات فقط.
  • سعر 130 عند 09:10 يقع على الحد المستبعد، فلا يأخذ مدة داخل النافذة. إدخاله سطرًا رابعًا في متوسط السجل الأصلي يعطي 107.5؛ هذا حساب آخر لا يعيد متوسط الزمن.
  • عينات أول كل دقيقة من المسار تعطي 93، لأن حدود التغير توافق الشبكة. عينات أول كل دقيقتين تعطي 92 وتفوت فترة السعر 110؛ لا نساوي كل عينة دورية بمتوسط المسار الكامل.
  • حددنا مسارًا ثابتًا بين التحديثات ولم ننفذ أمرًا أو نحسب رسومًا أو ربحًا. احتفظي بمصدر السعر والنافذة وطريقة أخذ العينة أو ملء الفترات قبل تفسير اختلاف متوسطين.

اسم المرجع لا يحدد وحده طريقة حسابك

توضح IBKR أن خوارزمية TWAP تستهدف متوسط السعر المرجح بالزمن، وأن الأمر قد لا يكتمل تنفيذه. نستعمل هذا المعنى العام، ولا ندعي أن ورقتنا تعيد طريقة المنصة أو شروط تشغيلها. [1]

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

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

عرّفي المسار قبل جمع الأسعار

نختار نافذة تبدأ عند التاسعة صباحًا وتشمل البداية، وتنتهي عند التاسعة وعشر دقائق دون شمول النهاية، وجميع الأوقات بتوقيت UTC. نعطي السعر مئة من التاسعة إلى ما قبل التاسعة ودقيقة، ثم مئة وعشرة من التاسعة ودقيقة إلى ما قبل التاسعة ودقيقتين. وبعدها نعطيه تسعين حتى ما قبل التاسعة وعشر دقائق. لا توجد أسعار أخرى بين هذه الحدود في دالتنا المؤلفة.

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

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

ونحتفظ بالوقت الذي يخص كل تغير، لا بترتيب السطور وحده. ترتيب مئة ثم مئة وعشرة ثم تسعين لا يكشف أن السعر الأخير استغرق ثماني دقائق ما لم نعرف الحدود الزمنية. كما لا نخلط زمن استقبال رسالة بزمن تعريف التغير في المسار دون تصريح. في ورقتنا أعطينا الأوقات نفسها بوصفها حدود دالة السعر، وأزلنا مسائل تأخير البيانات والمزامنة بدل الادعاء أننا حللناها داخل الحساب.

احسبي وزن الدقائق ثم قارنيه بوزن السطور

نضرب مئة في دقيقة فتعطي مئة، ومئة وعشرة في دقيقة فتعطي مئة وعشرة، وتسعين في ثماني دقائق فتعطي سبعمئة وعشرين. مجموع حاصل السعر في المدة تسعمئة وثلاثون، بوحدة نقدية مضروبة في دقيقة. نقسمه على عشر دقائق فتختصر وحدة الزمن، ويخرج المتوسط ثلاثة وتسعين بوحدة السعر. لا نسمي البسط مبلغًا مدفوعًا؛ لم نضرب الأسعار في كميات مشتراة أصلًا.

أما متوسط التحديثات بالتساوي فيجمع مئة ومئة وعشرة وتسعين، ثم يقسم الثلاثمئة على ثلاثة سطور، فيعطي مئة. هذا المتوسط يجيب عن سعر السطر في القائمة المختارة، لا عن المسار الذي وزنناه بالمدة. لا توجد في جمعه معلومة عن الثماني دقائق التي بقي خلالها السعر تسعين. اختلافه عن ثلاثة وتسعين لا يدل على خطأ قسمة؛ لقد استعملنا مقامًا وأوزانًا يصفان سؤالًا آخر.

وتظهر المراجعة بوحدات الأوزان أيضًا. أوزان الزمن هي عُشر وعُشر وثمانية أعشار، بينما أوزان السطور ثلاثة أثلاث متساوية. كل مجموعة تجمع إلى واحد، ولذلك لا تكفي صحة مجموع الأوزان لتوحيد معنى المتوسطين. نحتاج إلى معرفة سبب اختيار تلك الأوزان. كما لا نحسب متوسطًا مرجحًا بحجم التداول من هذه البيانات، لأن المسار لم يتضمن أي كمية صفقة أو حجم متداول يمكن استعماله وزنًا من ذلك النوع.

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

تحديث مكرر وحد نهائي يغيران قراءة السجل

في فرع مستقل نضيف تحديثًا عند التاسعة وست دقائق بالسعر تسعين نفسه. كان السعر تسعين منذ التاسعة ودقيقتين، ويبقى كذلك حتى نهاية النافذة. لم يحدث تغير جديد في المسار، لكننا قسمنا مدته ذات الثماني دقائق إلى جزأين من أربع دقائق. حاصل تسعين في أربع مع تسعين في أربع يظل سبعمئة وعشرين، فيبقى البسط تسعمئة وثلاثين والمتوسط الزمني ثلاثة وتسعين.

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

ونعود إلى السجل الأصلي ذي التحديثات الثلاثة لفرع آخر مستقل، نعطي فيه عند التاسعة وعشر دقائق سعرًا جديدًا قدره مئة وثلاثون. هذه اللحظة هي نهاية النافذة المستبعدة، فلا توجد مدة موجبة له داخلها. المتوسط الزمني يبقى ثلاثة وتسعين. أما جمع مئة وثلاثين إلى التحديثات الثلاثة وقسمة أربعمئة وثلاثين على أربعة فيعطي مئة وسبعة ونصفًا؛ إنه متوسط سجلات بعد تغيير قاعدة إدراج الحد، لا نتيجة الزمن نفسها.

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

العينة الدورية تحتاج إلى توقيت معلوم

نأخذ الآن سعر المسار عند أول كل دقيقة، من التاسعة إلى التاسعة وتسع دقائق، دون أخذ عينة عند 09:10. العينات العشر هي مئة، ثم مئة وعشرة، ثم تسعون ثماني مرات. متوسطها تسعمئة وثلاثون على عشرة، أي ثلاثة وتسعون. توافقت النتيجة مع وزن المدد لأن تغيرات دالتنا جاءت على حدود الدقائق، وكل عينة في هذه الشبكة تمثل دقيقة ثابتة بالسعر نفسه في المثال.

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

ولا تعني هذه المقارنة أن شبكة الدقيقة دقيقة دائمًا أو أن شبكة الدقيقتين خاطئة في كل مسألة. نحن نعرف حدود التغير في دالتنا، فاستطعنا تفسير التطابق والاختلاف. في بيانات أخرى قد تتغير الحدود أو توجد أسعار غير معطاة بين العينات. احتفظي بالفاصل الزمني وموضع العينة داخل الفترة ومصدر السعر، ولا ترفعي دقة النتيجة المعلنة إلى مستوى لم توفره البيانات التي أجري الحساب عليها.

مقارنة مؤلفة: وزن المدد ثلاثة وتسعون، متوسط ثلاثة تحديثات مئة، وأربعة تحديثات سبعة وتسعون ونصف، وعينات الدقيقة ثلاثة وتسعون والدقيقتين اثنان وتسعون
كل نتيجة تخص السؤال والشبكة المعطيين؛ لا صفقات أو قياسات منصة في الجدول.

سجلي معنى المتوسط قبل تقييمه

تضم بطاقة القراءة النافذة وحدودها وتوقيتها، ونوع السعر المستخدم، وقاعدة تمثيله بين التحديثات، وطريقة الوزن أو مواعيد أخذ العينة. اكتبي إن كانت النتيجة من مسار معلوم أو من نقاط دورية أو من متوسط صفوف ملف، لأن هذه العبارات تحفظ المعنى الذي اختصره الرقم. وإذا غابت بداية فترة أو سعرها، فاجعلي النقص ظاهرًا بدل افتراض أن أول تحديث وصل يغطي الزمن الذي سبقه أيضًا.

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

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

المصادر ومتابعة القراءة

  1. IBKR: TWAP، الهدف وحدود التنفيذ (يفتح في نافذة جديدة)interactivebrokers.com

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.