13 اکتبر 2026 · پژوهش

بک‌تست شما مزیت 20٪ را نشان داد. چه مقدارش از یک مهر زمانی اشتباه آمده بود؟

بک‌تست شما مزیت 20٪ را نشان داد. چه مقدارش از یک مهر زمانی اشتباه آمده بود؟

بازده سالانه‌شدهٔ بک‌تست 20٪ بود. از 8 سال داده، 1,640 معامله و یک تفکیک تمیز واک‌فوروارد استفاده کرد. سپس تاریخچهٔ فعلی فروشنده را با مقادیری که در همان زمان ثبت شده بودند جایگزین کردیم و مزیت به 3٪ رسید.

عدد غافلگیرکننده بازده اولیه نبود؛ 17 واحد درصدی بود که به داده‌های بازبینی‌شده وابسته بود. چنین نگاهِ پس‌نگرانه‌ای می‌تواند در انتشارهای اقتصادی، بنیادهای شرکت‌ها، عضویت در شاخص‌ها و حتی فیلدهای ظاهراً سادهٔ بازار پنهان شود. دادهٔ تاریخی نشان می‌دهد منبع اکنون چه می‌گوید. مجموعه‌دادهٔ نقطه‌درزمان نشان می‌دهد استراتژی شما آن زمان چه چیزی می‌توانست بداند.

چرا داده‌های تاریخی پس از وقوع رویداد تغییر می‌کنند؟

بعضی مقادیر ابتدا تخمینی هستند و بعد اصلاح می‌شوند. ممکن است یک آمار اقتصادی که جمعه منتشر شده، ماه بعد بازبینی شود. یک شرکت می‌تواند رقم سود را دوباره اعلام کند. فروشندهٔ داده ممکن است یک قیمت اشتباه را اصلاح کند، فاصلهٔ زمانیِ خالی را پر کند یا مقدار اولیه را با مقدار نهایی جایگزین کند. پایگاه‌داده‌ای که فقط آخرین مقدار را نگه می‌دارد، همهٔ این تغییرها را طوری نشان می‌دهد که انگار از ابتدا درست بوده‌اند.

این موضوع زمانی اهمیت دارد که استراتژی بر اساس درآمد گزارش‌شده شرکت‌ها را رتبه‌بندی می‌کند یا پس از انتشار زمان‌بندی‌شدهٔ داده در بازار معامله می‌کند. اگر ماه‌ها زودتر عدد اصلاح‌شده را ببیند، بک‌تست اطلاعاتی را در اختیارش گذاشته که هنگام تصمیم‌گیری در بازار وجود نداشته است. محاسبهٔ سیگنال می‌تواند بی‌نقص باشد؛ اما ورودی آن همچنان از نسخهٔ اشتباه تاریخچه آمده است.

اینجا یک دام ساده وجود دارد: فیلدی با نام date اغلب دوره‌ای را توصیف می‌کند که مقدار به آن مربوط است، نه زمانی را که در دسترس قرار گرفته است. ممکن است ردیف درآمد سه‌ماهه با تاریخ 31 مارس، تا ماه مه منتشر نشده باشد. این برچسب به دورهٔ فعالیت شرکت اشاره دارد، نه مجموعهٔ اطلاعاتی که استراتژی در اختیار داشته است.

بک‌تست باید از کدام مهر زمانی استفاده کند؟

دورهٔ اثرگذاری مقدار و زمان در دسترس قرار گرفتن آن را جداگانه ثبت کنید. در صورت امکان، زمان انتشار و زمان ورود به سیستم را هم نگه دارید. استراتژی فقط پس از انتشار و دریافت مقدار توسط سیستم می‌توانسته از آن استفاده کند؛ اگر این زمان‌ها متفاوت‌اند، برای بازپخش محافظه‌کارانه‌تر، زمان دیرتر را ملاک بگیرید.

مهر زمانیچه چیزی را توصیف می‌کندکاربرد
زمان اثرگذاریدوره یا رویدادی که مقدار به آن مربوط استمشاهده‌ها را بر اساس موضوع اندازه‌گیری‌شده گروه‌بندی می‌کند
زمان انتشارزمانی که منبع این نسخه را منتشر کرده استمانع از آن می‌شود که داده پیش از انتشار در دسترس به نظر برسد
زمان ورود به سیستمزمانی که سیستم شما این نسخه را دریافت کرده استتأخیر در تحویل و تکمیل‌های دیرهنگام را ثبت می‌کند

برای نمونه، فرض کنید فروش سه‌ماههٔ شرکتی مربوط به ژانویه تا مارس است، در 8 مه ساعت 16:15 به وقت شرق آمریکا گزارش می‌شود و ساعت 16:17 به مخزن پژوهشی شما می‌رسد. اگر استراتژی در قیمت پایانی 8 مه تصمیم می‌گیرد، نمی‌تواند از آن گزارش استفاده کند، چون تصمیم‌گیری در زمان بسته‌شدن بازار ساعت 16:00 انجام شده است. اما استراتژی‌ای که صبح روز بعد تصمیم می‌گیرد می‌تواند از آن استفاده کند. تاریخ پایان سه‌ماهه به‌تنهایی پاسخ هیچ‌کدام از این پرسش‌ها را نمی‌دهد.

چطور بررسی کنم که آیا بازبینی‌ها نتیجه را رقم می‌زنند؟

استراتژی یکسان را 2 بار اجرا کنید: یک بار با نسخهٔ داده‌ای که هنگام هر تصمیم تاریخی در دسترس بوده و بار دیگر با آخرین تاریخچهٔ بازبینی‌شده. فرض‌های اجرا، مجموعهٔ نمادها و کد را ثابت نگه دارید. تفاوت، نتیجهٔ حساسیت به بازبینی است، نه مقایسهٔ یک استراتژی جدید با استراتژی قبلی.

بعد بررسی کنید اختلاف از کجا می‌آید. آیا عملکرد در روزهای انتشار تغییر می‌کند؟ آیا بزرگ‌ترین تفاوت‌ها در چند شرکتِ دارای صورت‌های مالی اصلاح‌شده یا چند مشاهدهٔ تصحیح‌شده متمرکزند؟ آیا استراتژی پیش از زمان انتشار مربوطه معامله می‌کند؟ یک بررسی کوچک در سطح رویداد اغلب بیش از یک نمودار دیگر از بازده تجمعی توضیح می‌دهد.

20٪بازده با آخرین تاریخچه
3٪بازده با مقادیر نقطه‌درزمان
17 واحد درصداختلاف حساس به بازبینی

این اعداد صرفاً نمونه‌اند و جریمه‌ای همگانی نیستند. خروجی مفید، نتیجه‌ای جفت‌شده برای استراتژی خودتان است که تا جای ممکن معاملات و هزینه‌ها در آن یکسان باشند. اگر نسخهٔ بازبینی‌شده با اختلاف زیادی بهتر عمل می‌کند، پیش از اعتماد به نتیجهٔ اصلی بک‌تست، مشخص کنید کدام فیلدها و تاریخ‌ها این اختلاف را ایجاد کرده‌اند.

در بررسی داده‌های نقطه‌درزمان چه چیزهایی را باید ثبت کرد؟

از فیلدهایی شروع کنید که استراتژی‌تان واقعاً از آن‌ها استفاده می‌کند. برای هر فیلد، منبع، معنای مهر زمانی، سیاست بازبینی و امکان بازیابی نسخه‌های قبلی را مشخص کنید. از فروشنده بپرسید اصلاح‌ها چطور ثبت می‌شوند: با بازنویسی ردیف‌ها، افزودن ردیف‌های نسخهٔ جدید یا در یک گزارش جداگانهٔ تغییرات. عبارت «تاریخی» در صفحهٔ محصول به‌تنهایی چیزی را روشن نمی‌کند.

و دامنهٔ بررسی را عملی نگه دارید. اگر استراتژی شما فقط از معاملات و کندل‌های صرافی استفاده می‌کند، ممکن است بازبینی داده‌های اقتصادی بی‌ربط باشد. اما اصلاح کندل‌ها و تکمیل‌های بعدی فروشنده همچنان می‌توانند اهمیت داشته باشند، به‌ویژه وقتی سیگنال به بازاری کم‌عمق یا پنجرهٔ زمانی دقیق یک رویداد وابسته است.

وقتی تاریخچهٔ نقطه‌درزمان در دسترس نیست

بی‌سروصدا مقدار امروز را به‌جای مقدار دیروز نگذارید. این فیلد را به‌عنوان یک محدودیت مشخص کنید، آن را از ادعاهایی که به در دسترس بودن تاریخی وابسته‌اند کنار بگذارید، یا با یک تأخیر محافظه‌کارانه اجرا کنید و میزان تغییر نتیجه را نشان دهید. یک جانشینِ دارای تأخیر می‌تواند برای پژوهش مفید باشد، به شرط آنکه تأخیر صریح باشد و محدودیت همراه نتیجه باقی بماند.

وظیفهٔ بک‌تست بازسازی تصمیم با استفاده از مجموعهٔ اطلاعاتی است که در آن زمان وجود داشته است. اگر دادهٔ شما فقط آخرین نسخه را نشان می‌دهد، نتیجه محدودیتی روشن دارد: می‌تواند استراتژی را در برابر تاریخچهٔ بازسازی‌شدهٔ امروز آزمایش کند، اما نمی‌تواند دقیقاً ثابت کند که یک عامل تاریخی چه چیزی می‌توانسته ببیند.

بک‌تست، مهندسی داده، اقدامات شرکتی، داده‌های نقطه‌درزمان
اشتراک‌گذاریXLinkedInFacebookRedditHacker NewsWhatsAppTelegramEmail
← همهٔ مطالب