فرمول‌نویسی کال اسپرد صعودی | Bull Call Spread در دیده‌بان

آموزش نوشتن کال اسپرد صعودی با فرمول‌نویسی دیده‌بان: هزینه، سود، سر به سر، بازده ماهانه، فیلتر و نمودار سود و زیان — قدم‌به‌قدم با مثال.

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

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

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

مثال‌های این مقاله همه روی یک استراتژی مشخص است — کال اسپرد صعودی — تا قدم‌به‌قدم ببینید چطور از یک call در جدول، call دوم را پیدا کنید و هزینه و سود را حساب کنید. بعداً می‌توانید همین روش را برای استراتژی‌های دیگر هم به کار ببرید.

کال اسپرد صعودی چیست؟

کال اسپرد صعودی یعنی خرید call با اعمال پایین‌تر + فروش call با اعمال بالاتر (همان سررسید). هزینه ورود محدود است و برای انتظار رشد ملایم تا متوسط پایه مناسب است. اگر فقط می‌خواهید بدانید این استراتژی چیست: آموزش اسپرد صعودی. اگر می‌خواهید بدون نوشتن کد از نسخه آماده استفاده کنید: استراتژی‌های آماده دیده‌بان.

دو پا، دو سقف اعمال پایین‌تر اعمال بالاتر زیان محدود سود محدود خرید call با اعمال پایین‌تر، فروش call با اعمال بالاتر — همان سررسید
کال اسپرد صعودی دو پا دارد و هر دو طرفش سقف دارد: هزینهٔ ورود محدود است و سود هم — مناسب انتظار رشد ملایم تا متوسط.

منطق اسپرد در یک نگاه

هر سطر جدول یک call است — همان «پایه خرید» اسپرد. قرارداد دوم (پایه فروش) را با optionSE پیدا می‌کنید: معمولاً optionSE(1) یعنی call با اولین اعمال بالاتر از call جاری.

هر سطر جدول فقط یک پای اسپرد است سطر جاری — همان call که رویش ایستاده‌اید پای خرید call با اولین اعمال بالاتر پای فروش optionSE(1) فرمول از سطر جاری شروع می‌کند و پای دوم را خودش پیدا می‌کند یعنی یک ستون، برای هر ردیف یک اسپرد کاملِ متفاوت می‌سازد و فقط روی سطرهای call معنا دارد — پوت منطق جدا دارد
هر سطر جدول یک call است — پای خرید. فرمول پای فروش را با optionSE(1) از همان سررسید پیدا می‌کند، پس یک ستون برای هر ردیف یک اسپرد متفاوت می‌سازد.
  • پایه خرید: call جاری — خرید از option.ti.sell1Price
  • پایه فروش: call با اعمال بالاتر — فروش به upper.ti.buy1Price
  • فقط روی سطرهای call معنا دارد — برای put اسپرد نزولی منطق جداست.

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

چهار عددی که همه از یکی می‌آیند هزینهٔ ورود سرخط عرضهٔ پای خرید منهای سرخط تقاضای پای فروش حداکثر سود فاصلهٔ دو اعمال منهای هزینه سر به سر اعمال پایین‌تر به‌علاوهٔ هزینه حداکثر ضرر همان هزینهٔ ورود است — بدون وثیقه ولی با وجه تضمین فروشِ call بالاتر، سرمایهٔ درگیر بیشتر می‌شود پس یک عدد برای زیان دارید و یک عدد برای سرمایهٔ درگیر و بازده را باید نسبت به دومی سنجید
هزینهٔ ورود پایهٔ همه‌چیز است: حداکثر سود، سر به سر و حداکثر ضرر از آن می‌آیند — ولی سرمایهٔ درگیر با وجه تضمین فروشِ call بالاتر بیشتر می‌شود.
مفهومفرمول (به ازای هر سهم)
هزینه ورود (debit)option.ti.sell1Price - upper.ti.buy1Price
حداکثر سود(upper.strike - option.strike) - debit
سر به سرoption.strike + debitتوضیح سربه‌سر
حداکثر ضررهمان debit (بدون وثیقه) — با وجه تضمین فروش call بالاتر سرمایه درگیر بیشتر می‌شود.
قیمت‌ها را با مبنای قیمت نوار دیده‌بان (آخر / پایانی / سرخط) هماهنگ کنید. در مثال‌ها از سرخط خرید/فروش استفاده شده تا نتیجه نزدیک به معامله واقعی باشد.

قرارداد دوم با optionSE

تابع optionSE(strikeNo?, type?) قراردادهای هم‌سررسید را برمی‌گرداند:

سه شکل صدا زدن optionSE optionSE(1) اولین اعمال بالاتر اسپرد کلاسیک یک قرارداد برمی‌گرداند optionSE(2) دومین اعمال بالاتر اسپرد پهن‌تر باز هم یک قرارداد optionSE() همهٔ callهای هم‌سررسید یک آرایه برمی‌گرداند همیشه بررسی کنید که چیزی برگشته یا نه بالاترین اعمال زنجیره، اعمال بالاتری ندارد و مقدار خالی برمی‌گردد بدون آن بررسی، فرمول روی آخرین ردیف‌ها خطا می‌دهد و ستون برای همهٔ ردیف‌ها خالی می‌شود
optionSE(1) اولین اعمال بالاتر را می‌دهد، optionSE(2) دومی، و optionSE() کل آرایه — ولی بالاترین اعمال زنجیره چیزی برنمی‌گرداند و باید بررسی شود.
  • optionSE(1) — call با اعمال بالاتر (برای اسپرد صعودی کلاسیک)
  • optionSE(2) — دومین اعمال بالاتر — برای اسکن چند اسپرد
  • optionSE() — آرایه همه callهای هم‌سررسید — برای حلقه روی همه ترکیب‌ها

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

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

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

خروجی، همان چیزی است که در سلول می‌نشیند سلول جدول هزینه: 320 | سود: 680 رنگ، معنا می‌دهد هزینه و سود را با یک نگاه از هم جدا می‌کند تولتیپ، جزئیات می‌دهد بدون اینکه سلول شلوغ شود با نگه داشتن ماوس یک سلول جای زیادی ندارد — دو عدد کلیدی کافی است بقیه را در تولتیپ بگذارید تا جدول قابل اسکن بماند اگر پای دوم پیدا نشد، رشتهٔ خالی برگردانید نه پیام خطا
ستون همان چیزی را نشان می‌دهد که برگردانده‌اید: دو عدد کلیدی در سلول، بقیه در تولتیپ — و برای ردیف بی‌جواب، رشتهٔ خالی نه پیام خطا.
یک ردیف، چند اسپرد call جاری — پای خرید اعمال بالاتر 1 اعمال بالاتر 2 اعمال بالاتر 3 اعمال بالاتر 4 حلقه روی همهٔ آن‌ها while (optionSE(++i)) برای هرکدام یک اسپرد و یک بازده ماهانه همه در یک سلول همین‌جاست که فرمول‌نویسی دستی از استراتژی آماده جلو می‌زند به‌جای یک ترکیب، همهٔ ترکیب‌های ممکن را کنار هم می‌بینید
با یک حلقه، فرمول همهٔ اعمال‌های بالاتر را می‌گردد و بازده هر اسپرد را در یک سلول کنار هم می‌گذارد — یک ردیف، چند اسپرد.

خلاصه: هزینه و حداکثر سود

let upper = optionSE(1); if (!upper) return ''; let debit = option.ti.sell1Price - upper.ti.buy1Price; let maxProfit = (upper.strike - option.strike) - debit; return style('هزینه: ' + commaSeparator(debit), '#ea580c', '', 'debit') + ' | ' + style('سود: ' + commaSeparator(maxProfit), '#16a34a', '', 'حداکثر');

فاصله پایه تا سر به سر (٪)

let upper = optionSE(1); if (!upper) return ''; let debit = option.ti.sell1Price - upper.ti.buy1Price; let be = option.strike + debit; return calcRateChange(ua.ti.lastPrice, be) + '%';

بازده ماهانه — اسکن همه اعمال بالاتر

روی هر call، همه callهای با اعمال بالاتر را بررسی می‌کند و بازده ماهانه هر اسپرد را کنار هم می‌گذارد (ساده‌شده نسبت به ستون‌های قدیمی).

let result = ''; let index = 0; while (optionSE(++index) !== undefined) { let upper = optionSE(index); if (!upper || upper.ti.buy1Price <= 0 || option.ti.sell1Price <= 0) continue; let debit = option.ti.sell1Price - upper.ti.buy1Price; if (debit <= 0) continue; let profit = (upper.strike - option.strike) - debit; let monthly = monthlyProfit((profit / debit) * 100, option.daysUntilMaturity); result += showDetail(upper.namad, namadNo(upper.namad)) + ': ' + roundNumber(monthly, 1) + '% / '; } return result;

ستون با وجه تضمین و بازده ماهانه

let upper = optionSE(1); if (!upper) return ''; let debit = option.ti.sell1Price - upper.ti.buy1Price; if (debit <= 0) return ''; let profit = (upper.strike - option.strike) - debit; let capital = (upper.requiredMargin || 0) + option.ti.sell1Price * option.size; let monthly = monthlyProfit((profit / capital) * 100, option.daysUntilMaturity); return style(roundNumber(monthly, 1) + '%', monthly >= 5 ? '#16a34a' : '#6b7280', '', 'بازده ماهانه') + ' | ' + style(commaSeparator(debit), '#ea580c', '', 'debit');

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

debit مثبت و نقدشوندگی

let upper = optionSE(1); if (!upper) return false; let debit = option.ti.sell1Price - upper.ti.buy1Price; return debit > 0 && option.ti.volume > 0 && upper.ti.volume > 0;

حداکثر سود مثبت

let upper = optionSE(1); if (!upper) return false; let debit = option.ti.sell1Price - upper.ti.buy1Price; let maxProfit = (upper.strike - option.strike) - debit; return maxProfit > 0 && option.type === 'call';

حداقل بازده ماهانه 10٪ (هر اعمال بالاتر)

if (option.type !== 'call') return false; let index = 0; while (optionSE(++index) !== undefined) { let upper = optionSE(index); if (!upper || upper.ti.buy1Price <= 0 || option.ti.sell1Price <= 0) continue; let debit = option.ti.sell1Price - upper.ti.buy1Price; if (debit <= 0) continue; let profit = (upper.strike - option.strike) - debit; let monthly = monthlyProfit((profit / debit) * 100, option.daysUntilMaturity); if (monthly > 10) return true; } return false;

فاصله سر به سر کمتر از 15٪

let upper = optionSE(1); if (!upper) return false; let debit = option.ti.sell1Price - upper.ti.buy1Price; let be = option.strike + debit; return Math.abs(calcRateChange(ua.ti.lastPrice, be)) < 15;

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

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

از سلول جدول تا نمودار سود و زیان سلول ستون شما دکمهٔ نمودار نمودار استراتژی با هر دو پا، از قبل چیده پاها از همان فرمول می‌آیند، نه از انتخاب دستی شما پس نموداری که باز می‌شود دقیقاً همان ترکیبی است که ستون حساب کرده این پل، بررسی سریع را به تحلیل کامل وصل می‌کند بدون اینکه دوباره نماد و تعداد را وارد کنید و اگر ترکیب اشتباه باز شد، اشکال از فرمول است نه از نمودار
ستون می‌تواند دکمه‌ای بگذارد که نمودار سود و زیانِ همان ترکیب را باز کند — پاها از فرمول می‌آیند، پس نمودار دقیقاً همان چیزی است که ستون حساب کرده.
let upper = optionSE(1); if (!upper) return ''; let debit = option.ti.sell1Price - upper.ti.buy1Price; if (debit <= 0) return ''; pos.add('buy', option.namad, 1, 'sell'); pos.add('sell', upper.namad, 1, 'buy'); let profit = (upper.strike - option.strike) - debit; let monthly = monthlyProfit((profit / debit) * 100, option.daysUntilMaturity); return style(roundNumber(monthly, 1) + '%', '#16a34a', '', 'بازده ماهانه') + ' ' + pos.build('اسپرد ' + namadNo(option.namad) + '–' + namadNo(upper.namad));

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

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

کال اسپرد صعودی دلتای خالص مثبت ولی کمتر از خرید تنها call دارد — بعد از pos.build همان استراتژی را در نمودار استراتژی باز کنید و جمع دلتا را ببینید.

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

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

خودتان بنویسید یا آماده بردارید؟ استراتژی آماده بدون نوشتن کد تست‌شده و با توضیح برای شروع سریع و برای دیدن یک ترکیب استاندارد فرمول خودتان شرط‌ها را خودتان می‌گذارید و خروجی را خودتان می‌چینید برای اسکن چند ترکیب یا معیاری که در آماده‌ها نیست هر دو روی یک موتور کار می‌کنند پس می‌شود کد آماده را برداشت و از آن شروع کرد ساده‌ترین مسیر: آماده را اضافه کنید، کدش را ببینید، بعد تغییرش دهید
استراتژی آماده برای شروع سریع است و فرمول دستی برای اسکن چند ترکیب یا معیاری که در آماده‌ها نیست — و چون یک موتور دارند، می‌شود از کد آماده شروع کرد.

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

برای کال اسپرد صعودی کافی است call جاری را «پایه خرید» بدانید و با optionSE call با اعمال بالاتر را پیدا کنید. debit، سود، سربه‌سر و بازده ماهانه را در ستون ببینید؛ با فیلتر موقعیت‌های مناسب را جدا کنید؛ با pos.build نمودار سود و زیان بگیرید — یا از استراتژی آماده در دیده‌بان شروع کنید.

مقالات مرتبط

رسم نمودار استراتژی

رسم نمودار سود و زیان استراتژی از دل فرمول‌نویسی دیده‌بان: پارامترهای کامل pos.add (سمت، تعداد، قیمت، وجه تضمین)، pos.build و pos.clear، با نمونه کاورکال، کال اسپرد صعودی و باترفلای.

فرمول‌نویسی شورت کال باترفلای | Short Call Butterfly در دیده‌بان

آموزش فرمول‌نویسی شورت کال باترفلای در دیده‌بان: حلقه optionSE برای K2 و K3، اعتبار خالص با سرخط درست، سه ناحیه کارمزد اعمال، دو سربه‌سر، وجه تضمین پایه K1 و pos.add.

فرمول‌نویسی کال لدر صعودی | Bull Call Ladder در دیده‌بان

آموزش فرمول‌نویسی کال لدر صعودی در دیده‌بان: حلقه optionSE برای K2 و K3، محاسبه debit/credit، دو سربه‌سر، pos.add و فیلترهای SETTING_/FILTER_.

استراتژی اسپرد صعودی با اختیار خرید Bull Call Spread

کال اسپرد صعودی (Bull Call Spread): ساختار موقعیت، سه عدد کلیدی، مثال عددی، انتخاب دو قیمت اعمال، و اینکه وجه تضمین کِی لازم می‌شود و کِی نه.

استراتژی‌های اختیار معامله در دیده‌بان آپشن‌باز | فهرست کامل، افزودن و تحلیل سود و زیان

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

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

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

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

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

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

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

فرمول‌نویسی بلک‌شولز، یونانی‌ها و نوسان در دیده‌بان آپشن

آموزش calcBS در فرمول‌نویسی دیده‌بان: قیمت تئوری، IV، دلتا، وگا، تتا — با مثال ستون، فیلتر، optionSE و سناریوسازی نوسان.

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

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

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

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

نمونه کدهای کاربردی در ایجاد ستون

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

فرمول‌نویسی پوت اسپرد نزولی | Bear Put Spread

آموزش نوشتن پوت اسپرد نزولی در دیده‌بان: هزینه ورود، حداکثر سود، سربه‌سر، فیلتر و نمودار — با لینک به استراتژی آماده.

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

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

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

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

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

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

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

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