یکی از راههای بسیار متداول در معاملات اختیار معامله (بهویژه برای فروشندگان پرمیوم یا خریداران موقعیتهای ارزان)، پیدا کردن قراردادهایی است که قیمت اردر خرید سرخط آنها نسبت به قیمت تئوری محاسبه شده در فرمول بلکشولز تاریخی انحراف فاحشی داشته باشد، در حالی که قیمت اعمال قرارداد نیز حاشیه امنیت مناسبی نسبت به سهم پایه داشته باشد. این راهنما به شما آموزش میدهد چطور این اسکنر تعاملی را با سیستم پیشرفتهٔ تنظیمات ویژوال (⚙️) آپشنباز پیادهسازی و ران کنید.
چگونه در دیدهبان آپشنباز اجرا میشود؟
برای پیادهسازی این فرمول دوپاره (شامل ستون نمایش مقادیر و فیلتر غربالگری ردیفها)، گامهای زیر را بردارید:
دو شرط جدول را از دو جهت متفاوت میبرند و فقط اشتراکشان جالب است — هرکدام تنها، ردیفهای زیادی برمیگرداند که به درد نمیخورند.آستانه را بدون دیدن توزیع نمیشود انتخاب کرد — اول ستون را بسازید و چند روز نگاهش کنید، بعد فیلتر بگذارید.
یک ستون برای مشاهده اختلافها ایجاد کنید و کدهای بخش «1. ستون محاسباتی» را در آن قرار دهید؛
سپس یک فیلتر هوشمند بسازید و کدهای بخش «2. فیلتر دیدهبان» را در آن قرار دهید.
بخش اول: فرمول ستون محاسباتی
ابتدا برای اینکه بتوانید میزان انحراف را در جدول مشاهده کنید، ستونی به نام «اختلاف بلکشولز/سهم» بسازید و فرمول زیر را در ادیتور آن بنویسید. در این فرمول از تابع style برای رنگآمیزی و تولتیپ دار کردن اعداد استفاده شده است:
مقایسه با سرخط تقاضاست نه آخرین معامله — سؤال از «چند معامله شد» به «الان چقدر میدهند» عوض میشود، و دومی قابل اجراست.یک سلول دو درصد را کنار هم میگذارد و رنگها از هم جدایشان میکنند — دو درصدِ بیرنگ، بهسرعت با هم اشتباه گرفته میشوند.
// محاسبه درصد اختلاف قیمت بهترین خریدار از قیمت بلکشولز HV تاریخی
let disBlacksholsBid = calcRateChange(option.blackSholesHV, option.ti.buy1Price);
// محاسبه درصد تفاوت قیمت اعمال با آخرین قیمت سهم پایه
let disStrikeUa = calcRateChange(ua.ti.lastPrice, option.strike);
let result = '';
// نمایش نتایج فقط در صورت معتبر بودن اردر خرید و بلکشولز
if (option.ti.buy1Price > 0 && option.blackSholesHV > 1) {
result = '[ ' +
style(disBlacksholsBid, 'DarkCyan', ' ', 'اختلاف بلکشولز از تقاضا') +
' : ' +
style(disStrikeUa, 'DarkOrchid', ' ', 'اختلاف سهم از اعمال') +
' ]';
}
result;
بخش دوم: فرمول فیلتر هوشمند با تنظیمات ویژوال
حالا میخواهیم به جای هاردکد کردن شروط (مثلاً اختلاف 50 درصدی بلکشولز و 5 درصدی قیمت اعمال)، متغیرها را به صورت کاملاً ویژوال تعریف کنیم تا هر زمان خواستیم، بدون باز کردن ادیتور کد و از طریق آیکون ⚙️ سرستون، آنها را تغییر دهیم.
بدون دو شرط اعتبار، تقسیم بر عددی نزدیک صفر درصدی عظیم و بیمعنا میسازد که بالای مرتبسازی مینشیند و شبیه بهترین فرصت است.ثابتِ ویژوال در سرستون یک عددگیر میسازد — فیلتری که هر روز تنظیم میشود، هر روز هم استفاده میشود.
یک فیلتر جدید ایجاد کرده و این کد را در آن ذخیره کنید:
// --- تنظیمات ویژوال قابل تغییر در پنل ⚙️ ---
const FILTER_MIN_BS_DIFF = 50; // حداقل درصد اختلاف تقاضا از بلکشولز
const FILTER_MIN_STRIKE_DIFF = 5; // حداقل درصد اختلاف قیمت اعمال از سهم پایه
// 1. محاسبه اختلافها بر اساس متغیرهای سیستم
let disBlacksholsBid = calcRateChange(option.blackSholesHV, option.ti.buy1Price);
let disStrikeUa = calcRateChange(ua.ti.lastPrice, option.strike);
// 2. شروط منطقی فیلتر
let hasValidBid = option.ti.buy1Price > 0;
let hasValidBS = option.blackSholesHV > 1;
let matchesBsCondition = disBlacksholsBid > FILTER_MIN_BS_DIFF;
let matchesStrikeCondition = disStrikeUa > FILTER_MIN_STRIKE_DIFF;
// نتیجه خروجی فیلتر
hasValidBid && hasValidBS && matchesBsCondition && matchesStrikeCondition;
توضیح کارکرد فیلتر و مفاهیم ریاضی آن
قیمت تئوریِ این فیلتر از نوسان تاریخی ساخته میشود، پس اختلاف بزرگ یعنی بازار با گذشته همنظر نیست — نه اینکه قیمت غلط است.اختلاف با قیمت تئوری میتواند دلیل واقعی داشته باشد — خبر یا رویدادی که گذشته ندیده. این فهرست نقطهٔ شروع بررسی است، نه نتیجهٔ آن.
پارامتر option.blackSholesHV: قیمت تئوری قرارداد اختیار معامله است که توسط فرمول ریاضی بلکشولز و بر اساس نوسانپذیری تاریخی دارایی پایه (Historical Volatility) محاسبه میشود.
تابع calcRateChange(val1, val2): این تابع به صورت توکار درصد تغییر بین دو مقدار را برمیگرداند. در اینجا انحراف قیمت اردر خرید بازار از قیمت تئوری را میسنجیم.
پنل تعاملی (⚙️): با ذخیره فیلتر بالا، کافیست روی نمایه ⚙️ در سرستون فیلتر کلیک کنید. یک عددگیر تعاملی ظاهر میشود که میتوانید درصدها را به راحتی تغییر دهید تا دیدهبان در کسری از ثانیه خروجی را برای شما غربال کند.