اپیزود ۴ — معیار موفقیت در یادگیری ماشین برای فارکس (Metrics)
Case Study: EURUSD با قانون SMA20
مقدمه
در اپیزودهای قبلی یاد گرفتیم چرا به یادگیری ماشین نیاز داریم، دادهها را تمیز کردیم و اولین ویژگیهای ساده مثل بازده و SMA را ساختیم. اما یک سؤال مهم هنوز بیپاسخ مانده: چطور بفهمیم یک مدل یا حتی یک قانون ساده معاملاتی موفق است یا نه؟ اینجاست که لزوم تعریف و تحلیل معیار موفقیت در یادگیری ماشین معنا پیدا می کند.
تصور کن دکتری داری که نصف مواقع بیماری را درست تشخیص میدهد و نصف مواقع اشتباه. آیا او را پزشک خوبی میدانی؟ احتمالاً نه. حالا همین منطق در فارکس هم برقرار است. اگر مدلی برای EURUSD داشته باشیم، باید معیارهایی داشته باشیم تا عملکرد آن را بسنجیم.
در این اپیزود میخواهیم با چند معیار ساده اما کلیدی آشنا شویم:
- Accuracy یا Hit Rate
- Profit Factor
- Max Drawdown (MDD)
- Sharpe Ratio

۱- Accuracy –یا Hit Rate
تعریف ساده اولین معیار موفقیت در یادگیری ماشین
Accuracy یا همان Hit Rate، به زبان ساده یعنی چه درصد از پیشبینیهای مدل درست از آب در آمدهاند. اگر مدل بگوید فردا EURUSD بالا میرود و واقعاً هم بالا برود، یک «برد» محسوب میشود. اگر اشتباه کند، یک «باخت».
فرمول Accuracy خیلی ساده است:
(تعداد کل پیشبینیها) ÷ (تعداد پیشبینیهای درست) Accuracy =
مثال عددی
فرض کن ۳۰ سیگنال از قانون SMA20 گرفتیم:
- ۱۸ سیگنال درست
- ۱۲ سیگنال غلط
در این حالت Accuracy = 18 ÷ ۳۰ = 60%
چرا Accuracy بهتنهایی کافی نیست؟
- ممکن است یک سیستم Accuracy پایین داشته باشد (مثلاً ۴۰٪ درست)، ولی در معاملات درست سودهای بزرگی بسازد.
- برعکس، سیستمی با Accuracy بالا (مثلاً ۷۰٪) ممکن است در معاملات اشتباه ضررهای بزرگی بدهد و در نهایت منفی باشد.
مثال واقعی EURUSD
فرض کن در ۲۰ معاملهی اخیر:
- ۱۰ بار فقط ۵ پیپ سود کردی (جمعاً +۵۰ پیپ)
- ۱۰ بار ۲۰ پیپ ضرر کردی (جمعاً -۲۰۰ پیپ)
۵۰٪= ۱۰ ÷ ۲۰ Accuracy =
اما نتیجهی نهایی = -۱۵۰ پیپ!
🔑 نتیجه: Accuracy شاخصی لازم است، اما کافی نیست.
۲- Profit Factor
تعریف ساده دومین معیار موفقیت در یادگیری ماشین
Profit Factor نشان میدهد سیستم شما به ازای هر یک واحد ضرر، چند واحد سود ساخته است.
فرمول:
مجموع ضرر ÷ مجموع سود Profit Factor =
اگر نتیجه بالاتر از ۱ باشد یعنی سیستم در کل سودآور بوده، و هرچه عدد بزرگتر باشد بهتر است.
مثال عددی
- مجموع سود: +۳۰۰ پیپ
- مجموع ضرر: -۱۵۰ پیپ
Profit Factor = 300 ÷ ۱۵۰ = 2.۰
یعنی به ازای هر ۱ دلار ضرر، ۲ دلار سود ساختهای.
چرا مهم است؟
- حتی اگر Accuracy پایین باشد، Profit Factor میتواند مثبت باشد.
- این معیار به ما کمک میکند بفهمیم سیستم در مجموع ارزش معامله دارد یا نه.
مثال واقعی EURUSD
فرض کن در ۴۰ معامله اخیر:
- ۱۲ برد بزرگ (هرکدام +۴۰ پیپ → مجموع +۴۸۰)
- ۲۸ باخت کوچک (هرکدام -۱۰ پیپ → مجموع -۲۸۰)
Profit Factor = 480 ÷ ۲۸۰ = 1.۷۱
با اینکه Accuracy فقط ۳۰٪ است (۱۲ برد از ۴۰)، سیستم سودآور بوده است.
۳- Max Drawdown (MDD)
تعریف ساده سومین معیار موفقیت در یادگیری ماشین
Drawdown یعنی افت سرمایه از یک اوج تا کف بعدی. بزرگترین این افتها در طول بکتست یا حساب واقعی، Max Drawdown نام دارد.
فرمول ساده:
پایینترین کف بعد از آن اوج – بیشترین اوج سرمایه MDD =
مثال ساده
- شروع حساب: ۱۰۰۰ دلار
- حساب تا ۱۲۰۰ دلار بالا میرود.
- بعد تا ۸۰۰ دلار پایین میآید.
MDD = 1200 – 800 = 400 دلار
یا ۳۳٪ افت سرمایه.
چرا مهم است؟
- حتی اگر یک سیستم در بلندمدت سود بدهد، ممکن است در مسیر ضررهای بزرگی تحمیل کند.
- بیشتر معاملهگران در دوران Drawdown از سیستم خارج میشوند، حتی اگر سیستم در آینده سودآور باشد.
مثال واقعی EURUSD
فرض کن با SMA20 روی دادههای ۲ سال اخیر معامله کنیم:
- در بهترین حالت +۱۵٪ سود ثبت میشود.
- اما در میانه مسیر حساب تا -۱۰٪ افت میکند.
این یعنی باید توانایی تحمل افت را داشته باشیم. سیستم سودآور است، اما با فشار روانی بالا.
۴- Sharpe Ratio
تعریف ساده چهارمین معیار موفقیت در یادگیری ماشین
Sharpe Ratio به زبان ساده یعنی نسبت «بازده اضافی» به «ریسک (نوسان)». این معیار نشان میدهد سیستم شما با چه کیفیتی سود ساخته است.
فرمول کلی (نسخه سادهشده):
انحراف معیار بازدهها ÷ میانگین بازده روزانه Sharpe Ratio=
عدد بالاتر بهتر است. معمولاً:
- بالای ۲ → عالی
- حدود ۱ → قابل قبول
- زیر ۰.۵ → ضعیف
چرا مهم است؟
- دو سیستم ممکن است بازده یکسان داشته باشند، اما سیستمی که نوسان کمتری دارد Sharpe بالاتری خواهد داشت.
- Sharpe به سرمایهگذار میگوید «آیا ارزش دارد این ریسک را بپذیرم یا نه؟»
مثال ساده
دو استراتژی EURUSD داریم:
- استراتژی A: سود سالانه ۲۰٪، اما با نوسان زیاد. Sharpe = 0.8
- استراتژی B: سود سالانه ۱۵٪، اما با نوسان کمتر. Sharpe = 1.5
نتیجه: با اینکه A سود بیشتری دارد، B پایدارتر است.
کاربرد عملی
در پروژههای یادگیری ماشین، Sharpe Ratio کمک میکند مدلهایی را انتخاب کنیم که نه تنها سودآورند، بلکه ریسکپذیری منطقی هم دارند.
۵- اشتباه رایج در انتخاب معیارها
چگونه این معیارها را در اکسل بسازیم؟
وقتی صحبت از معیارهای موفقیت میکنیم، شاید به نظر برسد فقط در نرمافزارهای حرفهای یا کدنویسی میتوانیم آنها را حساب کنیم. اما خبر خوب این است که همین معیارها را میشود با یک فایل سادهی اکسل یا گوگل شیتس محاسبه کرد.
این کار هم درک مفاهیم را سادهتر میکند و هم شما را برای مراحل بعدی یعنی بررسی معیار موفقیت در یادگیری ماشین آماده میکند.
گام اول: آمادهسازی داده
- دادهی تمیز EURUSD روزانه (از اپیزود ۲) را وارد کنید.
- ستونهای پایه: Date, Open, High, Low, Close.
- یک ستون جدید اضافه کنید برای سیگنالهای SMA20 از اپیزود ۱:
- Buy اگر Close > SMA20
- Sell اگر Close < SMA20
گام دوم: محاسبه نتایج هر معامله
برای هر سیگنال، باید مشخص کنیم که معامله برد بوده یا باخت:
- یک ستون اضافه کنید به نام PnL (Profit and Loss).
- اگر سیگنال درست باشد مثلاً Buy و فردا قیمت بالا برود → عدد مثبت.
- اگر سیگنال اشتباه باشد → عدد منفی.
- میتوانید مقدار دقیق پیپها یا فقط +۱/-۱ برای سادهسازی وارد کنید.
گام سوم: محاسبه Accuracy
- یک ستون جدید درست کنید به نام Win/Loss.
- اگر PnL مثبت باشد، بنویسید ۱ (برد). اگر منفی باشد، بنویسید ۰ (باخت).
- در پایان، فرمول زیر را وارد کنید:
=AVERAGE (ستون Win/Loss)
این فرمول به شما Accuracy یا Hit Rate را میدهد (مثلاً ۰.۶ به معنی ۶۰٪).
گام چهارم: محاسبه Profit Factor
- مجموع بردها را به دست بیاورید:
=SUMIF(PnL_range,”>0″)
- مجموع باختها را هم:
=ABS(SUMIF(PnL_range,”<0″))
- سپس سود ÷ ضرر را محاسبه کنید. اگر نتیجه بالای ۱ شد یعنی استراتژی در مجموع سودده بوده است.
گام پنجم: محاسبه Max Drawdown (MDD)
این کمی سختتر است اما شدنی است:
- یک ستون جدید بسازید به نام Equity Curve. این ستون مجموع تجمعی سود و زیانها را نشان میدهد:
۲. =SUM($PnL$2:PnL2)
با درگ کردن به پایین، نمودار سرمایه حساب ساخته میشود.
- سپس یک ستون دیگر درست کنید برای Peak بیشترین مقدار تا آن لحظه
۴. =MAX($Equity$2:Equity2)
- حالا ستون Drawdown = Peak – Equity
- بیشترین عدد در این ستون همان Max Drawdown است.
گام ششم: محاسبه Sharpe Ratio
برای سادهسازی، فرض کنید نرخ بهرهی بدون ریسک صفر است:
- ستون Return روزانه را محاسبه کنید PnL / Equity روز قبل.
- میانگین Return روزانه = بازده مورد انتظار.
- انحراف معیار Return = ریسک یا نوسان.
- انحراف معیار ÷ میانگین بازده Sharpe =
در اکسل:
=AVERAGE(Return_range) / STDEV(Return_range)
گام هفتم: جمعبندی نتایج
در نهایت میتوانید یک جدول کوچک بسازید:
معیار |
مقدار نمونه |
وضعیت |
Accuracy |
۵۸% |
متوسط |
Profit Factor |
۱.۴۵ |
خوب |
Max Drawdown |
۱۲% |
قابل تحمل |
Sharpe Ratio |
۱.۲ |
مناسب |
این جدول به شما یک نگاه سریع میدهد که استراتژی SMA20 روی EURUSD در بکتست اخیر چطور عمل کرده است.
۶- نتیجه ملموس امروز
- فهمیدیم Accuracy یعنی درصد پیشبینیهای درست، اما کافی نیست.
- Profit Factor نسبت سود به ضرر را نشان میدهد.
- MDD بیشترین افت حساب را نشان میدهد.
- Sharpe Ratio کمک میکند بازده را با ریسک مقایسه کنیم.
نتیجه اینکه برای ارزیابی یک مدل یا قانون معاملاتی باید چندین معیار را با هم بررسی کنیم.
۷- تمرین کوچک
یک بکتست ساده روی قانون SMA20 در EURUSD انجام بده (۳۰ معامله اخیر). حالا:
- Accuracy را حساب کن.
- Profit Factor را حساب کن.
- MDD را محاسبه کن.
ببین آیا فقط با نگاه به Accuracy میتوانی بگویی سیستم سودآور است یا نه؟
۸- چکلیست اپیزود ۴
- دادهی تمیز EURUSD را داشته باش.
- سیگنالهای SMA20 را استخراج کن.
- Accuracy را حساب کن.
- Profit Factor را حساب کن.
- MDD را محاسبه کن.
- Sharpe Ratio را تخمین بزن.
- نتایج را کنار هم مقایسه کن.
منابع
- Investopedia — Trading Performance Metrics
- Babypips — Risk Management & Performance