25 سپتامبر 2026 · پژوهش

از کجا بدانم داده‌های بازار در بک‌تست واقعاً قابل معامله بوده‌اند؟

از کجا بدانم داده‌های بازار در بک‌تست واقعاً قابل معامله بوده‌اند؟

یک ردیف داده بازار می‌تواند کاملاً دقیق باشد و بااین‌حال مدرک قابل اتکایی برای بک‌تست نباشد. معامله انجام شده، قیمت درست است و زمان‌مهر معتبر؛ اما شاید فید آن را با تأخیر رسانده، فروشنده داده بعداً اصلاحش کرده یا بازارِ ثبت‌شده در دسترس استراتژی شما نبوده باشد.

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

آیا قیمت تاریخیِ درست برای بک‌تست کافی است؟

نه. دقت پاسخ می‌دهد: «منبع در نهایت چه قیمتی را ثبت کرد؟» بک‌تست باید به این پرسش‌ها هم پاسخ دهد: «استراتژی من در زمان تصمیم‌گیری چه چیزی می‌توانست بداند؟» و «چه چیزی می‌توانست اجرا کند؟» این‌ها پرسش‌های جداگانه‌ای هستند.

فرض کنید معامله‌ای در بازار رمزارز در 12:00:00.120 ثبت می‌شود، اما جریان فروشنده داده آن را در 12:00:00.480 به فرایند شما می‌رساند. استراتژی‌ای که در .200 تصمیم می‌گیرد نمی‌تواند از آن معامله استفاده کند، هرچند زمان رویداد از زمان تصمیم جلوتر باشد. اگر فایل تاریخی فقط زمان رویداد را نگه دارد، بک‌تست ممکن است بی‌سروصدا اطلاعاتی در اختیار استراتژی بگذارد که فرایند زنده‌اش هنوز دریافت نکرده بود.

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

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

چطور بفهمم اجرای یک مظنه ممکن بوده است؟

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

برای سفارش بازار، فرض پر شدن در قیمت میانی معمولاً خیالی است. برآورد مفیدتر، دفتر سفارش قابل مشاهده را متناسب با حجم سفارش پیش می‌برد و سپس کارمزدها و فرضی درباره تأخیر یا اثر بازار را اضافه می‌کند. اگر فقط داده‌های بهترین قیمت را دارید، ادعا را محدود کنید: می‌توانید سطح اول را برآورد کنید، اما نمی‌توانید عمقی را که هرگز ثبت نشده است استنباط کنید.

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

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

پیش از اعتماد به آرشیو داده بازار، چه چیزهایی را بررسی کنم؟

اول سراغ موارد ساده و روزمره می‌روم. این بررسی‌ها بیش از هر مدل اجرای پیچیده‌ای که روی فیدی خراب سوار شود، جلوی پژوهش نادرست را می‌گیرند.

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

چطور آزمایش کنم که دسترس‌پذیری داده نتیجه را تغییر می‌دهد؟

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

برای نمونه‌ای مشخص، فرض کنید سیگنال وقتی فعال می‌شود که بهترین قیمت خرید به‌اندازه 1 تیک بالا برود. یک بار آن را با زمان رویداد صرافی و بار دیگر با زمان دریافت جمع‌آورنده بازپخش کنید. اگر نسخه زمان رویداد 40 معامله و نسخه زمان دریافت 27 معامله انجام دهد، این تفاوت بخشی از شواهد مربوط به استراتژی است. عملکرد در هر بازپخش هم همین‌طور. بازپخش ضعیف‌تر را پنهان نکنید، چون داده‌هایش ظاهر مرتب‌تری ندارند.

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

«داده قابل معامله» در عمل یعنی چه؟

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

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