📊 شرح فرمول و پارامترها
-
💰 ارزش معاملات: حداقل 100 میلیون تومان
option.ti.tValue > 100000000 -
⏳ فاصله تا سررسید: بیشتر از 14 روز
option.daysUntilMaturity > 14 -
📈 قیمتگذاری بلک-شولز: اختلاف کمتر از 10 درصد
bsDiff <= 10 -
🔄 اهرم معاملاتی: بیشتر از 3
leverage() >= 3 -
⚖️ ارزش زمانی: بین 20% تا 80% قیمت
timeValue > (option.ti.lastPrice * 0.2) && timeValue < (option.ti.lastPrice * 0.8)
🛠️ نحوه سفارشیسازی فیلتر
-
حذف شرطها: برای نادیده گرفتن هر شرط، در بخش نتیجه نهایی، آن را با // کامنت کنید:
return highValue && // notNearExpiry && isAcceptableBS && isInTheMoney && // highLeverage && hasGoodValue; - تغییر مقادیر: با تغییر اعداد در هر بخش میتوانید شرایط را سختگیرانهتر یا آسانتر کنید
- اضافه کردن شرط: میتوانید شرطهای جدید تعریف کرده و به بخش نتیجه نهایی اضافه کنید
📝 فرمول کامل
// ارزش معاملات بالا (بیشتر از 100 میلیون)
let highValue = option.ti.tValue > 100000000;
// تاریخ سررسید نزدیک نباشد (بیشتر از 14 روز)
let notNearExpiry = option.daysUntilMaturity > 14;
// محاسبه و بررسی اختلاف بلک شولز (کمتر از 10 درصد)
let bg = calcBS(option);
let bsDiff = Math.abs(((option.ti.lastPrice - bg.bs) / bg.bs) * 100);
let isAcceptableBS = bsDiff <= 15;
// وضعیت در سود
let isInTheMoney = option.state === 'ITM';
// اهرم بالای 3
let highLeverage = leverage() >= 3;
// محاسبه ارزش ذاتی
let intrinsicValue = 0;
if (option.type === 'call') {
intrinsicValue = Math.max(0, ua.ti.lastPrice - option.strike);
} else {
intrinsicValue = Math.max(0, option.strike - ua.ti.lastPrice);
}
// محاسبه ارزش زمانی
let timeValue = option.ti.lastPrice - intrinsicValue;
// شرطهای ارزش ذاتی و زمانی
let hasGoodValue = intrinsicValue > 0 &&
timeValue > (option.ti.lastPrice * 0.2) &&
timeValue < (option.ti.lastPrice * 0.8);
// نتیجه نهایی - همه شرطها باید true باشند
highValue &&
notNearExpiry &&
isAcceptableBS &&
isInTheMoney &&
highLeverage &&
hasGoodValue