فرمول نویسی شورت استرانگل | Short Strangle در دیده بان

آموزش نوشتن شورت استرانگل با فرمول‌نویسی دیده‌بان: جفت call و put، سود ماهانه، سربه‌سر دو طرف، فیلتر حداقل سود و نمودار سود و زیان — با لینک به استراتژی آماده.

نویسنده: آپشن بازتاریخ انتشار: 1405/02/01آخرین به‌روزرسانی: 1405/05/3014 دقیقه مطالعه
اشتراک‌گذاری:

این مقاله برای کسانی است که می‌خواهند خودشان در دیده‌بان، با فرمول‌نویسی، جفت‌های مناسب شورت استرانگل را پیدا کنند — نه فقط از لیست استراتژی‌های آماده یک گزینه را انتخاب کنند.

یعنی فرمول می‌نویسید تا برای هر ردیف call، put هم‌سررسید با اعمال پایین‌تر را جفت کند و بگوید: حداکثر سود ماهانه چقدر است، پایه چقدر می‌تواند بالا/پایین برود تا از سربه‌سر خارج شوید، و اختلاف دو اعمال چقدر است. در صورت نیاز دکمهٔ نمودار سود و زیان هم می‌گذارید.

مفهوم استراتژی: شورت استرانگل. اگر بدون کد می‌خواهید همان منطق را با تنظیمات آماده داشته باشید: منوی استراتژیشورت استرانگل · فهرست: استراتژی‌های آماده.

شورت استرانگل چیست؟

شورت استرانگل = فروش call + فروش put با اعمال متفاوت و معمولاً سررسید یکسان. پرمیوم هر دو را می‌گیرید؛ سود حداکثر همان پرمیوم خالص است و زیان در حرکت شدید قیمت نامحدود (یا خیلی بزرگ) می‌شود. برای بازار کم‌نوسان / ساید رایج است — حاشیه امن بین دو اعمال بیشتر از استرادل است.

دو پای فروخته، با دو اعمال متفاوت فروش پوت اعمال پایین‌تر فروش کال اعمال بالاتر ناحیهٔ آرام — هر دو بی‌ارزش منقضی می‌شوند پرمیوم هر دو پا را می‌گیرید و امیدوارید قیمت وسط بماند هر دو معمولاً هم‌سررسیدند و اعمالشان متفاوت است
فروش کال با اعمال بالاتر و فروش پوت با اعمال پایین‌تر: پرمیوم هر دو را می‌گیرید و امیدوارید قیمت وسط بماند.
سود سقف دارد، زیان ندارد بیشترین سود = پرمیوم خالص ادامه دارد ادامه دارد ستونی که بر اساس بازده مرتب شود، پرخطرترین ردیف‌ها را بالا می‌آورد
سود در پرمیوم خالص سقف می‌خورد ولی زیان دو طرف باز است — پس ستونی که بر اساس بازده مرتب شود، پرخطرترین ردیف‌ها را بالا می‌آورد.
ریسک فروش naked call و put را دست‌کم نگیرید. وجه تضمین و نقدشوندگی را قبل از معامله بسنجید: وجه تضمین · نقدشوندگی.

منطق در جدول دیده‌بان

محاسبه را روی ردیف‌های اختیار خرید (call) بنویسید. برای هر call، با optionSE('', 'os') putهای هم‌سررسید را بگردید و فقط putهایی را نگه دارید که اعمالشان کمتر از call است و سرخط خرید دارند.

محاسبه فقط روی ردیف کال نوشته می‌شود ردیف کال نقطهٔ شروع محاسبه از اینجا دنبال پوت می‌گردید ردیف پوت خروجی خالی برگردانید وگرنه هر جفت دو بار شمرده می‌شود if (option.type !== 'call') return ''; بدون این خط، جدول دو برابر می‌شود و رتبه‌بندی بی‌معنا چون همان جفت، یک‌بار از سمت کال و یک‌بار از سمت پوت ساخته می‌شود
محاسبه را روی ردیف کال بنویسید و ردیف پوت را خالی برگردانید — وگرنه هر جفت دو بار شمرده می‌شود و رتبه‌بندی بی‌معنا می‌شود.
کدام پوت با کدام کال جفت می‌شود؟ optionSE('', 'os') پوت‌های هم‌سررسید را می‌گردد فقط پوتی که اعمالش از اعمال کال کمتر باشد وگرنه دو پا روی هم می‌افتند و ساختار دیگر استرانگل نیست اختلاف دو اعمال را هم به‌صورت درصد نگه دارید همان عدد است که می‌گوید ناحیهٔ امن چقدر پهن است اختلاف بیشتر یعنی امن‌تر ولی پرمیوم کمتر و همین معاوضه است که انتخاب جفت را تعیین می‌کند
فقط پوتی که اعمالش کمتر از اعمال کال باشد. اختلاف دو اعمال پهنای ناحیهٔ امن است — بیشتر یعنی امن‌تر ولی پرمیوم کمتر.
هر دو پا فروخته می‌شوند، پس هر دو سرخط تقاضا option.ti.buy1Price پای کال putOption.ti.buy1Price پای پوت اگر به‌جای اینها سرخط عرضه بگذارید، هر دو پا با هم بزرگ‌تر می‌شوند یعنی خطا در جهتی است که نتیجه را دلپذیرتر نشان می‌دهد و همان ردیف‌های نادرست، بالای فهرست بازده می‌نشینند پس شرط حجم سرخط تقاضا را برای هر دو پا جدا بگذارید قیمتی که حجم پشتش نیست، در عمل قابل فروش نیست
هر دو پا فروخته می‌شوند پس هر دو با buy1Price حساب می‌شوند — سرخط عرضه هر دو را با هم بزرگ می‌کند، خطایی در جهت دلپذیر.
  • پرمیوم دریافتی: option.ti.buy1Price (call) + putOption.ti.buy1Price
  • سرمایه تقریبی: جمع وجه تضمین دو پا — option.requiredMargin + putOption.requiredMargin (نسخهٔ آماده ممکن است وجه تضمین نامتقارن دقیق‌تری حساب کند)
  • سربه‌سر پوت: اعمال put منهای مجموع پرمیوم‌ها
  • سربه‌سر کال: اعمال call به‌اضافهٔ مجموع پرمیوم‌ها

اگر ردیف put باشد، خروجی خالی برگردانید یا پیام بدهید که استراتژی روی call محاسبه می‌شود.

فرمول‌های پایه

دو سربه‌سر، و ناحیهٔ امن بینشان سربه‌سر پوت سربه‌سر کال اینجا هر دو پا بی‌ارزش منقضی می‌شوند putStrike − premium سربه‌سر پایین callStrike + premium سربه‌سر بالا پس «فاصله تا سربه‌سر» دو عدد است — و نزدیک‌ترشان تعیین‌کننده است
برخلاف اسپرد، اینجا دو سربه‌سر دارید و ناحیهٔ امن بینشان است — پس «فاصله تا سربه‌سر» دو عدد است و نزدیک‌ترشان تعیین‌کننده.
سرمایهٔ درگیر اینجا وجه تضمین است option.requiredMargin + putOption.requiredMargin چون پرمیوم می‌گیرید پولی از جیب نمی‌رود ولی سرمایه بلوکه می‌شود پس مبنای بازده همان بلوکه‌شده است نه پرمیوم دریافتی جمع سادهٔ دو وجه تضمین یک تقریب است نسخهٔ آمادهٔ سایت ممکن است وجه تضمین نامتقارن دقیق‌تری حساب کند
پولی از جیب نمی‌رود ولی سرمایه بلوکه می‌شود — پس مبنای بازده وجه تضمین است، نه پرمیوم. جمع سادهٔ دو پا یک تقریب است.
مفهومایده محاسبه
حداکثر سود (٪ سرمایه) ((putAsk + callAsk) × size / capital) × 100 سپس monthlyProfit یا ytmProfit
سربه‌سر پوت putStrike − (putAsk + callAsk)
سربه‌سر کال callStrike + (putAsk + callAsk)
فاصله تا سربه‌سر calcRateChange(ua.ti.lastPrice, be)
اختلاف دو اعمال (٪) calcRateChange(putStrike, callStrike)

شروع در دیده‌بان

برای ساخت فرمول، به دیده‌بان آپشن بروید (راهنمای دیده‌بان)، یا از طریق میزکار باکس دیده‌بان اضافه کنید؛ سپس فرمول نویسی را بزنید. جزئیات فیلدها و توابع در راهنمای فرمول‌نویسی آمده است.

به دیده‌بان آپشن بروید (راهنمای دیده‌بان)، یا از طریق میزکار باکس دیده‌بان اضافه کنید؛ سپس فرمول‌نویسی را باز کنید و یکی از مثال‌های زیر را به‌عنوان ستون یا فیلتر ذخیره کنید. مرجع کامل: راهنمای فرمول‌نویسی.

مثال‌های ستون

درصد خام دو ردیف را نمی‌شود مقایسه کرد ردیف اول 3% ولی 90 روز تا سررسید ردیف دوم 2% ولی 20 روز تا سررسید عدد کوچک‌تر، بازده بهتری دارد چون همان درصد در زمان کوتاه‌تری به دست آمده monthlyProfit(profit, days) پیش از مرتب‌سازی، درصد را به یک بازهٔ مشترک ببرید
دو ردیف با روزهای متفاوت را نمی‌شود با درصد خام سنجید — پیش از مرتب‌سازی بازده را به یک بازهٔ مشترک ببرید.

حداکثر سود ماهانه شورت استرانگل

if (option.type !== 'call' || option.ti.buy1Price <= 0) return ''; let index = 0; let best = ''; let bestRate = -Infinity; while (optionSE('', 'os')[++index] !== undefined) { let putOption = optionSE('', 'os')[index]; if (!putOption || putOption.ti.buy1Volume === 0) continue; if (putOption.strike >= option.strike) continue; let capital = putOption.requiredMargin + option.requiredMargin; if (capital <= 0) continue; let profitPct = ((putOption.ti.buy1Price + option.ti.buy1Price) * option.size / capital) * 100; let rate = monthlyProfit(profitPct, option.daysUntilMaturity); if (rate > bestRate) { bestRate = rate; best = showDetail(putOption.namad) + ' : ' + style(roundNumber(rate, 1) + '%', 'green', '', 'حداکثر سود ماهانه'); } } return best;

سود + فاصله تا سربه‌سر دو طرف + اختلاف اعمال

if (option.type !== 'call' || option.ti.buy1Price <= 0) return ''; let index = 0; let out = ''; while (optionSE('', 'os')[++index] !== undefined) { let putOption = optionSE('', 'os')[index]; if (!putOption || putOption.ti.buy1Volume === 0) continue; if (putOption.strike >= option.strike) continue; let capital = putOption.requiredMargin + option.requiredMargin; if (capital <= 0) continue; let premium = putOption.ti.buy1Price + option.ti.buy1Price; let profitPct = (premium * option.size / capital) * 100; let rate = monthlyProfit(profitPct, option.daysUntilMaturity); let bePut = putOption.strike - premium; let beCall = option.strike + premium; let disBePut = calcRateChange(ua.ti.lastPrice, bePut); let disBeCall = calcRateChange(ua.ti.lastPrice, beCall); let disStrike = calcRateChange(putOption.strike, option.strike); out += showDetail(putOption.namad) + ' : ' + style(roundNumber(rate, 1), 'green', '', 'حداکثر سود%') + ' [' + style(disBePut, '', '', 'افت تا زیان (سربه‌سر پوت)%') + ' , ' + style(disBeCall, '', '', 'رشد تا زیان (سربه‌سر کال)%') + '] ' + style(disStrike, '', '', 'اختلاف 2 اعمال%') + '
'; } return out;

مثال‌های فیلتر

حداقل سود ماهانه 3٪ (قابل تغییر)

آستانه را با متغیر دیده‌بان عوض کنید؛ اگر خالی باشد پیش‌فرض 3 است.

let minRate = _var1 !== '' ? Number(_var1) : 3; if (option.type !== 'call' || option.ti.buy1Price <= 1) return false; let index = 0; while (optionSE('', 'os')[++index] !== undefined) { let putOption = optionSE('', 'os')[index]; if (!putOption || putOption.ti.buy1Price <= 1) continue; if (putOption.strike >= option.strike) continue; let capital = putOption.requiredMargin + option.requiredMargin; if (capital <= 0) continue; let profitPct = ((putOption.ti.buy1Price + option.ti.buy1Price) * option.size / capital) * 100; let rate = monthlyProfit(profitPct, option.daysUntilMaturity); if (rate > minRate) return true; } return false;

جفت OTM با فاصلهٔ اعمال

if (option.type !== 'call' || option.state !== 'OTM') return false; let index = 0; while (optionSE('', 'os')[++index] !== undefined) { let putOption = optionSE('', 'os')[index]; if (!putOption || putOption.state !== 'OTM') continue; if (putOption.strike >= option.strike) continue; if (putOption.ti.buy1Volume === 0 || option.ti.buy1Volume === 0) continue; let gap = Math.abs(calcRateChange(putOption.strike, option.strike)); if (gap >= 5) return true; } return false;

ستون با نمودار سود و زیان

با pos.add / pos.build هر دو پای فروش را ثبت کنید تا دکمهٔ نمودار باز شود — جزئیات در راهنمای ساخت استراتژی از فرمول.

if (option.type !== 'call' || option.ti.buy1Price <= 0) return ''; let index = 0; let bestLine = ''; let bestRate = -Infinity; while (optionSE('', 'os')[++index] !== undefined) { let putOption = optionSE('', 'os')[index]; if (!putOption || putOption.ti.buy1Volume === 0) continue; if (putOption.strike >= option.strike) continue; let capital = putOption.requiredMargin + option.requiredMargin; if (capital <= 0) continue; let profitPct = ((putOption.ti.buy1Price + option.ti.buy1Price) * option.size / capital) * 100; let rate = monthlyProfit(profitPct, option.daysUntilMaturity); if (rate <= bestRate) continue; bestRate = rate; pos.clear(); pos.add('sell', option.namad, 1, 'buy', true); pos.add('sell', putOption.namad, 1, 'buy', true); bestLine = showDetail(putOption.namad) + ' : ' + style(roundNumber(rate, 1) + '%', 'green', '', 'حداکثر سود ماهانه') + ' ' + pos.build('شورت استرانگل ' + option.namad); } return bestLine;

مشاهده وگا و تتا و سایر یونانی‌ها در نمودار استراتژی

علاوه بر ستون و فیلتر دیده‌بان، در نمودار استراتژی می‌توانید یونانی‌ها را روی منحنی سود/زیان ببینید: موقعیت‌های call/put را اضافه کنید، از بخش «یونانی‌ها» روی نمودار استفاده کنید و حساسیت کل استراتژی به قیمت پایه و زمان را لحظه‌ای بررسی کنید. جمع دلتای موقعیت‌ها در پایین جدول نیز نمایش داده می‌شود.

شورت استرانگل معمولاً وگای منفی و تتای مثبت دارد — بعد از باز کردن نمودار، یونانی‌های مجموع را در نمودار استراتژی ببینید.

استراتژی آماده در دیده‌بان

نسخهٔ آمادهٔ شورت استرانگل فیلترهایی مثل حداقل سود، حداقل فاصله تا اعمال‌ها، محدوده قیمتی، حداقل پرمیوم، ارزش معاملات، وجه تضمین نامتقارن و نمایش خط سربه‌سر را از قبل دارد. از منوی استراتژی اضافه کنید، بعد روی تنظیمات ستون شخصی‌سازی کنید. این مقاله برای فهم منطق و نوشتن نسخهٔ شخصی است.

فرمول‌ها در کتابخانه شخصی ذخیره می‌شوند و می‌توانید هر کدام را به‌عنوان فیلتر یا ستون سفارشی به دیده‌بان اضافه کنید.

برای شورت استرانگل هر call نقطهٔ شروع جفت‌شدن با put پایین‌تر است. با فرمول سود ماهانه، حاشیه تا سربه‌سر دو طرف و اختلاف اعمال را ببینید؛ با فیلتر جفت‌های ضعیف را حذف کنید؛ و در صورت نیاز نمودار دو پای فروش را باز کنید. برای فیلترهای پیشرفته‌تر، استراتژی آماده را هم امتحان کنید.

مقالات مرتبط

پیاده سازی شورت استرانگل در دیده بان آپشن باز

راهنمای کامل استراتژی آماده شورت استرانگل در دیده‌بان آپشن‌باز: دو نقطه سربه‌سر، وجه تضمین نامتقارن، ریسک باز دو طرفه و توضیح تک‌تک تنظیمات، فیلترها و مرتب‌سازی.

استراتژی شورت استرانگل | Short Strangle

شورت استرانگل چیست: فروش هم‌زمان اختیار فروشِ خارج از پول و اختیار خریدِ خارج از پول، محدوده سود در برابر قلهٔ استرادل، سه عدد کلیدی، مثال عددی، انتخاب فاصلهٔ اعمال، اثر زمان و نوسان، و چرا یک حرکت 30 درصدی سه برابر کل اعتبار هزینه دارد.

استراتژی معاملاتی لانگ استرانگل long Strangle

لانگ استرانگل یعنی خرید یک اختیار خرید با اعمال بالاتر و یک اختیار فروش با اعمال پایین‌تر: همان شرط استرادل، ارزان‌تر ولی با یک منطقهٔ مردهٔ کامل بین دو اعمال. چرا کفش تخت است، چقدر باید حرکت کند، چرا «ارزان‌تر» با «کم‌ریسک‌تر» یکی نیست، و تلهٔ تقارن.

استراتژی های اختیار معامله در دیده بان آپشن باز

فهرست کامل استراتژی‌های اختیار معامله در دیده‌بان آپشن‌باز — کاوردکال، اسپرد، استرادل، باکس و … — همراه با راهنمای تصویری افزودن ستون، تنظیم فیلترها و باز کردن نمودار سود و زیان.

راهنمای دیده بان آپشن باز | فیلتر و فرمول نویسی

راهنمای جامع دیده‌بان آپشن‌باز: جدول زنده قراردادها، فیلتر سریع روی سرستون (سربه‌سر، IV و …)، پنل فیلتر، فرمول‌نویسی، آلارم و اتصال به نمودار استراتژی.

راهنمای فرمول نویسی و استراتژی های آماده در دیده بان آپشن

آموزش سیستم فرمول‌نویسی دیده‌بان: کارگاه شخصی و کتابخانه استراتژی‌های آماده اختیار معامله — هر دو با همان موتور فرمول؛ افزودن به جدول، فیلتر و میزکار.

راهنمای نمودار استراتژی اختیار معامله | ساخت و تحلیل سود و زیان

آموزش کامل نمودار استراتژی آپشن‌باز: ساخت چندپایه، قیمت روز، مقایسه با نمودار دوم، ورود اکسل کارگزاری، what-if، یونانی‌ها، جدول ماتریس، کارمزد، ذخیره و اتصال به فرمول‌نویسی — برای مبتدی تا حرفه‌ای.

نقطه سر به سر در معاملات آپشن چیست

نقطه سر به سر در آپشن — محاسبه برای call و put، تفسیر در زنجیره قراردادها و ستون/فیلتر در دیده‌بان.

وجه تضمین در قراردادهای آپشن چیست

وجه تضمین در اختیار معامله چیست؟ فرمول محاسبه مارجین فروش کال و پوت، حداقل وجه تضمین، مثال عددی، تفاوت بورس کالا و روش دیدن آن در آپشن‌باز.

چطور نقد شوندگی یک قرارداد اختیار معامله را بسنجیم

سنجش نقدشوندگی اختیار — اسپرد، حجم معاملات و فیلتر قراردادهای قابل معامله در دیده‌بان.

تابع optionSE | دسترسی به قراردادهای هم گروه و هم سررسید

آموزش optionSE در فرمول‌نویسی دیده‌بان: آرایه هم‌سررسید، اعمال بالاتر/پایین‌تر، طرف مقابل os، با مثال ستون.

دیدگاه‌ها و پرسش‌ها

اگر سوال یا ابهامی در رابطه با این مطلب دارید، همین‌جا بپرسید؛ کارشناسان ما پاسخ می‌دهند.

تجربه یا نکته‌ای دارید؟ نوشتنش به بقیهٔ کاربران هم کمک می‌کند.

پرسش‌ها و نظرات کاربران

هنوز پرسشی ثبت نشده — شما اولین نفر باشید!

سوال یا نظرتان را در فرم بالا بنویسید؛ پاسخی که می‌گیرید برای کاربران بعدی هم می‌ماند.