تولیدکننده کد بک‌تست

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