یک طرح اعتبارسنجی گامرو به جلو میسازد تا معلوم شود استراتژی لبه دارد یا فقط به داده گذشته برازش شده.
تولیدکننده کد بکتست
Backtest Code Generator
منطق استراتژی را به کد بکتست پایتون بدون نگاه به آینده و با احتساب هزینه تبدیل میکند.
این پرامپت چه کاری انجام میدهد؟
کدهای بکتستی که بدون قید تولید میشوند معمولاً یک یا چند خطای کلاسیک دارند: نگاه به آینده، نادیده گرفتن کارمزد و اسلیپیج، و مدیریت غلط پوزیشنهای باز در انتهای داده — و نتیجه، منحنی سرمایهای است که با واقعیت هیچ نسبتی ندارد.
این پرامپت این موارد را بهصورت قواعد اجباری دارد و در انتها، چکلیست اعتبارسنجی ارائه میدهد.
نقش تو: مهندس کوانت با تجربه در ساخت موتورهای بکتست.
وظیفه: استراتژی زیر را به کد بکتست پایتون تبدیل کن.
استراتژی:
{{STRATEGY}}
پارامترها:
- دارایی و تایمفریم: {{ASSET_TF}}
- دوره داده: {{PERIOD}}
- سرمایه اولیه: {{CAPITAL}}
- قاعده اندازه پوزیشن: {{SIZING}}
- کارمزد: {{FEE}}
- اسلیپیج: {{SLIPPAGE}}
مرحله اول — رفع ابهام:
پیش از نوشتن کد، هر قاعده مبهم را فهرست کن و سؤال بپرس. موارد رایجی که باید بررسی کنی:
- سیگنال روی کندل بستهشده ارزیابی میشود یا جاری؟
- ورود در بسته شدن همان کندل یا باز شدن کندل بعد؟
- چند پوزیشن همزمان مجاز است؟
- در صورت رسیدن سیگنال مخالف، پوزیشن فعلی بسته شود؟
- اگر حد ضرر و حد سود در یک کندل هر دو لمس شوند، کدام اول فرض شود؟ (فرض محافظهکارانه: حد ضرر)
مرحله دوم — قواعد اجباری کدنویسی:
۱. هیچگاه از داده کندل جاری برای تصمیمی که در همان کندل اجرا میشود استفاده نکن. سیگنال در کندل n، اجرا در باز شدن کندل n+1.
۲. هیچ محاسبهای نباید از داده آینده استفاده کند. اگر از توابع rolling یا shift استفاده میکنی، جهت را با دقت بررسی و در کامنت توضیح بده.
۳. کارمزد و اسلیپیج را بهصورت پارامتر با مقدار پیشفرض واقعبینانه تعریف کن و در هر معامله اعمال کن.
۴. اندازه پوزیشن را طبق {{SIZING}} محاسبه کن.
۵. پوزیشنهای باز در انتهای داده را با قیمت آخرین کندل ببند و در گزارش ذکر کن.
۶. برای هر معامله ثبت کن: تاریخ ورود و خروج، قیمتها، دلیل خروج، نتیجه به R و به درصد، مدت نگهداری.
۷. کد را ماژولار بنویس: تابع جداگانه برای محاسبه سیگنال، اندازه پوزیشن، و اجرای معامله.
۸. کد را با کامنت مستند کن.
مرحله سوم — خروجی:
■ ۱. شبهکد منطق برای تأیید من
■ ۲. کد کامل پایتون، قابل کپی و اجرا، با استفاده از pandas و numpy
■ ۳. تابع گزارش که این معیارها را محاسبه کند:
تعداد معاملات، نرخ برد، میانگین سود و زیان، انتظار آماری، فاکتور سود، حداکثر دراودان و مدت آن، طولانیترین توالی ضرر، نسبت شارپ، بازدهی سالانهشده، و توزیع نتایج.
هرگز فقط بازدهی کل را گزارش نکن.
■ ۴. کد رسم منحنی سرمایه و نمودار دراودان
■ ۵. چکلیست اعتبارسنجی:
- آیا داده کافی است؟ (حداقل ۱۰۰ معامله برای نتیجهگیری ابتدایی)
- آیا آزمون خارج از نمونه انجام شده؟
- تعداد پارامترهای آزاد چند است و ریسک بیشبرازش چقدر؟
- آیا نتیجه به تغییر کوچک پارامترها حساس است؟
- آیا نتیجه در زیردورههای مختلف پایدار است؟
- آیا داده شامل داراییهای حذفشده است یا سوگیری بقا دارد؟
■ ۶. محدودیتهای این کد
هشدار اجباری در انتها: نتیجه بکتست، تضمین عملکرد آینده نیست و تفاوت بین بکتست و اجرای واقعی معمولاً قابل توجه است.
متغیرهای پرامپت
پیش از اجرا، این متغیرها را با اطلاعات خودتان جایگزین کنید:
| {{STRATEGY}} | شرح کامل منطق استراتژی |
| {{ASSET_TF}} | دارایی و تایمفریم |
| {{PERIOD}} | دوره داده |
| {{CAPITAL}} | سرمایه اولیه |
| {{SIZING}} | قاعده اندازه پوزیشن |
| {{FEE}} | کارمزد |
| {{SLIPPAGE}} | اسلیپیج |
خروجی مورد انتظار
- شبهکد قابل تأیید
- کد پایتون بدون نگاه به آینده
- تابع گزارش با معیارهای کامل
- چکلیست اعتبارسنجی
هشدار: کد تولیدشده را پیش از اتکا، روی یک نمونه کوچک بهصورت دستی بررسی کنید.
پرسشهای پرتکرار
این پرامپت دقیقاً چه خروجی میدهد؟
شبهکد قابل تأیید؛ کد پایتون بدون نگاه به آینده؛ تابع گزارش با معیارهای کامل؛ چکلیست اعتبارسنجی.
آیا برای استفاده از این پرامپت نیاز به دانش فنی دارم؟
سطح این پرامپت «حرفهای» است. کافی است متن را کپی کنید، متغیرهای داخل {{ }} را با اطلاعات خودتان جایگزین کنید و داده مورد نیاز را در انتها بچسبانید.
پرامپتهای مرتبط
Walk-Forward Validation Designer
۳۵۹ کلمه
ChatGPT · Claude · DeepSeek
Strategy Code Template Generator
قواعد استراتژی شما را به یک اسکلت کد تمیز با جداسازی سیگنال، ریسک و اجرا تبدیل میکند.
۲۷۲ کلمه
Claude · ChatGPT · DeepSeek
Trading Hypothesis Formalizer
ایده مبهم «انگار این الگو جواب میدهد» را به فرضیهای با شرط ورود، خروج و معیار رد تبدیل میکند.
۳۰۷ کلمه
ChatGPT · Claude · DeepSeek
Backtest Results Critic
نتایج بکتست را با نگاه بدبینانه بررسی میکند تا مشخص شود عملکرد واقعی است یا بیشبرازش.
۴۴۷ کلمه
Claude · ChatGPT