معاملات آزمایشی قبل از پول واقعی
معاملات آزمایشی مکانیک سفارش را اثبات میکند اما روانشناسی را آزمایش نمیکند. ببینید شبیهساز چه مواردی را حذف میکند، چه مدت باید تمرین کرد و کدام معیارها اهمیت دارند.
معاملات آزمایشی به معنای ثبت سفارشهای شبیهسازیشده در حساب تمرینی یک کارگزار، با قیمتهای زنده بازار و پول فرضی است. این روش ثابت میکند که میتوانید یک برگه سفارش را کار کنید، از یک برنامه مکتوب پیروی کنید و یک دفترچه یادداشت داشته باشید. دو چیز در یک شبیهساز آزمایش نشده باقی میماند: هزینه عبور از اسپرد در هر پر شدن سفارش، و نحوه رفتار یک فرد زمانی که موجودی روی صفحه متعلق به خودش است.
آنچه معاملات آزمایشی ثابت میکند
یک حساب تمرینی یک آزمایشگاه مکانیک است. درون آن، یک مبتدی یاد میگیرد که یک سفارش محدود (limit order) وقتی قیمت از قیمت اعلام شده دور میشود چه میکند، یک سفارش توقف (stop) در یک تابلوی سریع چگونه رفتار میکند، یک موقعیت 2,000 دلاری در کنار یک موقعیت 20,000 دلاری چه شکلی است، و چگونه یک دفترچه یادداشت مکتوب یک حدس را به یک قانون قابل آزمایش تبدیل میکند. این درسها به طور کامل منتقل میشوند. برگه سفارش در یک حساب سرمایهگذاری شده همان برگه سفارش است.
یک گزارش آزمایشی همچنین نقصهای برنامه را به ارزانی آشکار میکند. یک استراتژی بدون قانون خروج، یک طرح اندازهگیری که یک سوم حساب را در یک سهم قرار میدهد، یک روال که نیاز به تماشای چهار صفحه در ساعات کاری دارد: هر یک از این موارد در چند هفته معامله شبیهسازیشده، با هزینه صفر، خود را نشان میدهد.
آنچه شبیهساز هرگز از شما دریافت نمیکند
بیشتر شبیهسازها در آخرین معامله ثبتشده یا در نقطه میانی قیمت (midpoint) پر میشوند. یک سفارش قابل معامله زنده (marketable order) هنگام خرید، قیمت درخواستی (ask) را میپردازد و هنگام فروش، قیمت پیشنهادی (bid) را دریافت میکند، و شکاف بین این دو قیمت، یعنی اسپرد bid-ask، نزد کسی که قیمت را اعلام کرده باقی میماند.
محاسبات فرضی اندازه این حذف را آشکار میکند. سهمی با قیمت پیشنهادی 20.00 دلار و قیمت درخواستی 20.05 دلار دارای نقطه میانی 20.025 دلار است. یک شبیهساز که در نقطه میانی پر میشود، ورود را با 20.025 دلار ثبت میکند. خرید زنده با 20.05 دلار، دو و نیم سنت بدتر، پر میشود و خروج نیمی دیگر از عرض را از دست میدهد. یک دور رفت و برگشت، پنج سنت به ازای هر سهم، در موقعیتی که گزارش آزمایشی آن را رایگان ثبت کرده است.
این هزینه در بین سهمها یکسان نیست. پنل زیر میانه اسپرد اعلامشده را بر حسب واحد پایه (basis point) از نقطه میانی اندازهگیری میکند، که در آن یک واحد پایه یک صدم درصد است، برای شش سهم پرطرفدار در آخرین جلسات تکمیلشده ثبتشده تا تاریخ جولای 2026.
کد دقیق SQL پشت هر عدد
SELECT ticker,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), bid_price > 0 AND ask_price > bid_price) * 10000, 2) AS typical_spread_bps,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price), bid_price > 0 AND ask_price > bid_price) * 100, 1) AS typical_spread_cents,
round(count() / 1e6, 1) AS quote_updates_m
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'TSLA', 'F')
AND sip_timestamp >= toDateTime(today() - 10)
AND sip_timestamp < toDateTime(today() - 3)
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY ticker
ORDER BY typical_spread_bpsانتهای باریک جدول، SPY، 0.27 واحد پایه اندازهگیری شد، میانهای مبتنی بر 18.8 میلیون بهروزرسانی قیمت. انتهای پهن، F، 6.96 واحد پایه اندازهگیری شد، شکاف اعلامشدهای به اندازه 1 سنت. در یک سفارش 10,000 دلاری، یک واحد پایه معادل یک دلار است. یک گزارش آزمایشی از 200 دور رفت و برگشت، صورتحساب واقعی را به همراه دارد که خود گزارش آزمایشی هرگز آن را چاپ نکرده است. هزینه معامله یک سهم این نردبان را در یک جدول گستردهتر قیمتگذاری میکند.
کیفیت پر شدن با ساعت تغییر میکند
یک شبیهساز همان پر شدن را در ساعت 9:31 صبح و ساعت 1:00 بعد از ظهر تحویل میدهد. قیمت زنده این کار را نمیکند. گروهبندی هر بهروزرسانی قیمت تلفیقی برای یک سهم با قیمت متوسط در سطلهای نیمساعته، شکل یک جلسه معاملاتی را نشان میدهد که در همان بازه زمانی اخیر اندازهگیری شده است.
کد دقیق SQL پشت هر عدد
SELECT formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), bid_price > 0 AND ask_price > bid_price) * 10000, 2) AS spread_bps,
round(count() / 1e6, 2) AS quote_updates_m
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'F'
AND sip_timestamp >= toDateTime(today() - 10)
AND sip_timestamp < toDateTime(today() - 3)
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY et_time
ORDER BY et_timeسطل 09:30، نیمساعت اول جلسه عادی، 7.01 واحد پایه اندازهگیری شد. سطل 12:30، 6.94 واحد پایه اندازهگیری شد، و سطل پایانی در 15:30، 6.98 واحد پایه اندازهگیری شد. یک استراتژی آزمایشی که در پانزده دقیقه اول معامله میکند و یک استراتژی آزمایشی که در اواسط روز معامله میکند، در یک حساب سرمایهگذاری شده قیمتگذاری متفاوتی دارند و در بیشتر شبیهسازها به طور یکسان قیمتگذاری میشوند.
یک پنجره تمرینی چقدر از بازار را پوشش میدهد
چهار هفته تمرین حدود بیست جلسه را نمونهبرداری میکند. پنل زیر هر جلسه عادی یک صندوق بازار گسترده را در پنج سال تقویمی، از باز تا بسته اندازهگیری شده، با سهم جلساتی که بالاتر از باز شدن خود بسته شدهاند و اندازه یک حرکت روزانه معمولی، شمارش میکند.
کد دقیق SQL پشت هر عدد
SELECT toString(y) AS year,
count() AS sessions,
round(100 * countIf(ret > 0) / count(), 1) AS pct_up_sessions,
round(quantileDeterministic(0.5)(abs(ret) * 100, cityHash64(d)), 2) AS median_abs_move_pct,
round(min(ret) * 100, 2) AS worst_session_pct,
round(max(ret) * 100, 2) AS best_session_pct
FROM (
SELECT d,
toYear(d) AS y,
toFloat64(session_close) / toFloat64(session_open) - 1 AS ret
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMin(open, window_start) AS session_open,
argMax(close, window_start) AS session_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2021-01-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2025-12-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY d
)
WHERE session_open > 0
)
GROUP BY year
ORDER BY yearدر 2021، صندوق در 252 جلسه عادی معامله شد، 54.8% از آنها بالاتر از باز شدن خود بسته شدند، با میانه حرکت مطلق 0.38%. در 2025، همان سهم به 52% رسید، میانه حرکت مطلق 0.46%. نقاط افراطی آن سال بسیار فراتر از میانه قرار دارند: ضعیفترین جلسه -4.81% از باز تا بسته حرکت کرد، قویترین جلسه 10.12%.
اعداد ردیفها را به عنوان یک سؤال پوشش بخوانید. یک پنجره تمرینی بیست جلسهای تقریباً هشت درصد از یک سال است، و جلساتی که اتفاقاً در آن قرار میگیرند تعیین میکنند که گزارش چه میگوید. تمرین در یک دوره آرام و تمرین در یک دوره خشونتآمیز، اعداد متفاوتی را از مجموعه قوانین یکسان تولید میکند. معاملهگرانی که به دنبال یک حکم هستند نه یک نمونه، تمایل دارند گزارش آزمایشی را در چندین ماه اجرا کنند و پس از شروع پول واقعی، آن را به صورت موازی ادامه دهند.
معیارهایی که بر نرخ برد برتری دارند
یک گزارش آزمایشی ابتدا نرخ برد را گزارش میدهد، و نرخ برد کماطلاعترین خط در آن است. یک رکورد فرضی از ده معامله بسته شده را در نظر بگیرید: نه برد 50 دلاری و یک باخت 600 دلاری. نرخ برد 90٪ خوانده میشود. حساب 150 دلار پایینتر است.
- حداکثر کاهش (Maximum drawdown)، عمیقترین افت از قله تا دره در ارزش حساب، عددی است که توصیف میکند یک استراتژی از یک فرد چه چیزی را میخواهد تحمل کند.
- میانه برد در برابر میانه باخت، همراه با نرخ برد، امید به ازای هر معامله را میدهد، که عددی است که منحنی سرمایه در واقع از آن پیروی میکند.
- تعداد معاملات، که در آن یک گزارش از دوازده معامله شانس را اندازهگیری میکند و یک گزارش از دویست معامله شروع به اندازهگیری یک قانون میکند.
- هزینه به ازای هر دور رفت و برگشت، که از پنلهای اسپرد بالا گرفته میشود نه از فیلد کارمزد شبیهساز، که اغلب روی صفر تنظیم شده است.
اندازهگیری اولین معاملات واقعی
رویه رایج در میان مربیان معاملهگری یک شروع تدریجی است: کوچکترین اندازه موقعیت قابل اجرا، همان قوانین مکتوبی که گزارش آزمایشی استفاده کرد، و تعداد ثابتی معامله قبل از اینکه اندازه به هیچ وجه تغییر کند. یک سهم از یک سهم 200 دلاری، 200 دلار را در معرض خطر قرار میدهد و دادههای احساسی یکسانی را که صد سهم تولید میکند، با یک درصد از مواجهه، تولید میکند. مکانیکها از شبیهساز منتقل میشوند، انضباط منتقل نمیشود، و اندازه کوچک راهی است که دومی اندازهگیری میشود.
اندازه همچنین با هزینه تعامل دارد. اصطکاکهای ثابت به ازای هر معامله، سنگینتر روی سفارشهای کوچک فرود میآیند و اسپرد به طور متناسب در هر اندازه یکسان فرود میآید. معاملهگری که ماهانه چهل معامله کوچک برنامهریزی میکند، چهل دور رفت و برگشت را قیمتگذاری میکند، نه یک دور را. خوانندگانی که یک جایگزین مبتنی بر قانون را برای ورودهای اختیاری میسنجند، میتوانند با میانگینگیری هزینه دلاری (dollar-cost averaging) مقایسه کنند، جایی که برنامه جایگزین تصمیم میشود.
پرسشهای متداول
آیا معاملات آزمایشی واقعاً کار میکند؟
برای آنچه اندازهگیری میکند کار میکند: مکانیک سفارش، ساختار برنامه، و انضباط یادداشتبرداری. کیفیت پر شدن یا احساسات را اندازهگیری نمیکند. یک گزارش آزمایشی و یک گزارش سرمایهگذاری شده از قوانین یکسان در یک دوره زمانی یکسان معمولاً متفاوت هستند، و دو شکاف بالا جایی هستند که تفاوت در آن زندگی میکند.
مردم چه مدت قبل از استفاده از پول واقعی معاملات آزمایشی انجام میدهند؟
هیچ بازه استانداردی وجود ندارد. یک چارچوب مفید، اندازه نمونه است تا زمان تقویمی: یک ماه تقریباً بیست جلسه را پوشش میدهد، و یک صندوق بازار گسترده در 2025 به تنهایی در 250 جلسه معامله شد. بسیاری از معاملهگران یک گزارش آزمایشی را برای چندین ماه اجرا میکنند و آن را در کنار یک حساب کوچک سرمایهگذاری شده ادامه میدهند.
چرا نتایج معاملات آزمایشی بهتر از نتایج واقعی است؟
سه تفاوت مکانیکی بیشتر شکاف را توضیح میدهد. سفارشهای شبیهسازیشده اغلب در نقطه میانی یا آخرین معامله پر میشوند تا در قیمت پیشنهادی یا درخواستی، اندازه شبیهسازیشده هرگز قیمت را حرکت نمیدهد، و یک ضرر شبیهسازیشده هیچ وزن احساسی ندارد. یک معاملهگر آزمایشی کاهشهایی را تحمل میکند که یک معاملهگر سرمایهگذاری شده زودتر میبندد.
آیا میتوانید به همین روش با آپشنها معامله آزمایشی انجام دهید؟
مکانیکها منتقل میشوند و شکاف پر شدن گستردهتر است. قیمتهای آپشن معمولاً از نظر درصدی بسیار گستردهتر از قیمتهای سهام هستند، واگذاری و اجرای زودهنگام به ندرت در یک شبیهساز ظاهر میشود، و نحوه برخورد با انقضا بین پلتفرمهای تمرینی متفاوت است. با یک گزارش آپشن شبیهسازیشده به عنوان یک آزمایش مکانیک رفتار کنید.
معاملات آزمایشی چه چیزی را آموزش نمیدهد؟
لغزش (slippage)، در دسترس بودن وام برای موقعیتهای کوتاه، پر شدن جزئی در سفارشهای بزرگتر، و رفتار فردی که شاهد سقوط پول واقعی است. این چهار مورد شکافهای دائمی بین یک گزارش آزمایشی و یک حساب سرمایهگذاری شده هستند.
هر پنل بالا با SQL دقیقی که آن را تولید کرده است ارائه میشود. یکی را باز کنید، سهمهای گزارش آزمایشی خود را جایگزین کنید و پر شدنهای خود را در ترمینال استراسمور (Strasmore) قیمتگذاری کنید.