این مقاله برای کسانی است که میخواهند خودشان در دیدهبان، با فرمولنویسی، موقعیتهای معاملاتی را بررسی کنند — نه اینکه فقط از لیست استراتژیهای آماده یک گزینه را انتخاب کنند.
یعنی در دیدهبان میروید، فرمول مینویسید، و برای هر ردیف جدول یک خروجی ساده میبینید: مثلاً «بازده ماهانه این call چقدر است»، «قیمت پایه چقدر میتواند بیفتد تا سربهسر بمانم»، یا «فقط callهای مناسب را نشان بده». بعضی فرمولها دکمهای میگذارند که با یک کلیک نمودار سود و زیان همان کاوردکال را باز کند.
مثالهای این مقاله روی کاورد کال است — یعنی سهام (یا دارایی پایه) را دارید و یک call میفروشید. هر سطر جدول یک call روی همان پایه است؛ فرمول کم میکند کدام call برای فروش جذابتر است.
کاورد کال چیست؟
کاورد کال یعنی نگهداشتن دارایی پایه + فروش call. از پرمیوم درآمد میگیرید؛ در ازایش سود بالای قیمت اعمال محدود میشود. برای بازار صعودی یا خنثی رایج است. توضیح کامل استراتژی: آموزش کاورد کال. اگر میخواهید بدون نوشتن کد از نسخه آماده استفاده کنید: استراتژیهای آماده دیدهبان (کاوردکال).
کاوردکال سود بالای قیمت اعمال را سقف میزند ولی کفِ زیان سهم را نمیبندد — پرمیوم بخشی از افت را جبران میکند، نه همهاش.سهمِ خریداریشده وثیقهٔ call فروختهشده میشود، پس سرمایهٔ بلوکه قیمت پایه منهای پرمیوم است — و مخرجِ درستِ هر محاسبهٔ بازده همین است.
در بازار ایران، سهام خریداریشده میتواند بهعنوان وثیقه قرارداد فروختهشده استفاده شود — بنابراین «سرمایه بلوکه» کمتر از کل ارزش سهم است (قیمت پایه منهای پرمیوم دریافتی).
منطق در جدول دیدهبان
در دیدهبان معمولاً روی یک نماد پایه فیلتر میکنید. هر سطر یک call است — همان قراردادی که میتوانید بفروشید اگر پایه را در پرتفوی دارید (یا میخواهید بخرید).
برخلاف اسپرد، پای دوم کاوردکال یک قرارداد نیست — سهمی است که دارید و در هیچ سطری از جدول نیست؛ فرمول وجودش را فرض میگیرد.
پرمیوم: درآمد فوری از فروش — option.ti.buy1Price (قیمتی که خریدار به شما میدهد)
قیمت پایه:ua.ti.lastPrice
فاصله تا اعمال: چند درصد باید پایه رشد کند تا call در سود (ITM) شود
سربهسر: پایه چقدر میتواند بریزد تا هنوز از پرمیوم سود کرده باشید — توضیح سربهسر
فرمولها فقط روی سطرهای call معنا دارند — روی put جواب ندهید.
فرمولهای پایه
شش عدد پایین همهٔ چیزی است که یک کاوردکال لازم دارد، و هر ششتا از دو ورودی ساخته میشوند: پرمیوم و قیمت پایه. بازده را میگویند، سرمایهای که درگیر میشود را میگویند، و مرزی که تا آنجا در امانید را. دو تابعی که سالانه و ماهانه کردن را انجام میدهند مرجع اختصاصی دارند: ytmProfit و monthlyProfit.
شش عدد پایه، سه سؤال: چقدر درمیآورم، چقدر سرمایه درگیر میشود، و کجا در امانم — و همه از دو ورودی ساخته میشوند.
مفهوم
ایده محاسبه
بازده از پرمیوم
(option.ti.buy1Price / ua.ti.lastPrice) × 100 — سپس ytmProfit یا monthlyProfit
ستون یعنی یک عدد در هر سطر جدول. سه مثال اول یک عدد میدهند و مثال آخر چند عدد را کنار هم میچیند؛ هر کدام را میتوانید عیناً کپی کنید و بعد به سلیقهٔ خودتان عوض کنید. همین روش برای یک ساختار دوپایه در فرمول نویسی کال اسپرد صعودی به کار رفته است.
در کاوردکال شما فروشندهاید، پس درآمد سرخط تقاضاست. گرفتن سرخط عرضه، درآمد را بیش از واقع نشان میدهد و همهٔ اعداد بعدی را با خودش میبرد.سالانه کردن فرض میکند معامله را پشت سر هم تکرار میکنید. در سررسید سهروزه یعنی 120 بار در سال — پس روز تا سررسید را همیشه کنار عدد نشان دهید.
بازده سالانه از پرمیوم
let premium = option.ti.buy1Price;
let base = ua.ti.lastPrice;
if (!premium || !base || option.type !== 'call') return '';
let pct = (premium / base) * 100;
return roundNumber(ytmProfit(pct, option.daysUntilMaturity), 1) + '%';
بازده ماهانه ساده
if (option.type !== 'call') return '';
let pct = (option.ti.buy1Price / ua.ti.lastPrice) * 100;
return roundNumber(monthlyProfit(pct, option.daysUntilMaturity), 1) + '%';
فاصله پایه تا اعمال و تا سربهسر
if (option.type !== 'call' || !option.ti.buy1Price) return '';
let toStrike = calcRateChange(ua.ti.lastPrice, option.strike);
let be = ua.ti.lastPrice - option.ti.buy1Price;
let toBE = calcRateChange(ua.ti.lastPrice, be);
return style(toStrike + '%', '#2563eb', '', 'تا اعمال') +
' | ' + style(toBE + '%', '#ea580c', '', 'تا سربهسر');
ستون ترکیبی — بازده، فاصلهها و وضعیت ITM/OTM
if (option.type !== 'call' || option.ti.buy1Price <= 0) return '';
let block = (ua.ti.lastPrice - option.ti.buy1Price) * option.size;
if (block <= 0) return '';
let receive = (option.strike - ua.ti.lastPrice + option.ti.buy1Price) * option.size;
let monthly = monthlyProfit((receive / block) * 100, option.daysUntilMaturity);
let premiumMonthly = monthlyProfit(
(option.ti.buy1Price * option.size / block) * 100,
option.daysUntilMaturity,
);
let toStrike = calcRateChange(ua.ti.lastPrice, option.strike);
let be = ua.ti.lastPrice - option.ti.buy1Price;
let toBE = calcRateChange(ua.ti.lastPrice, be);
let ccr = roundNumber((option.ti.buy1Price / ua.ti.lastPrice) * 100, 1);
let line = style(roundNumber(monthly, 1) + '%', '#16a34a', '', 'بازده ماهانه (اعمال)');
if (option.strike > ua.ti.lastPrice) {
line += ' (' + style('OTM: ' + roundNumber(premiumMonthly, 1) + '%', '#ea580c', '', 'اگر اعمال نشود') + ')';
}
line += ' | ' + style(toStrike + '%', '#2563eb', '', 'تا اعمال');
line += ' | ' + style(toBE + '%', '#6b7280', '', 'ریزش تا سربهسر');
line += ' | ' + style(ccr + '%', '#8b5cf6', '', 'پوشش پرمیوم');
return line;
مثالهای فیلتر
فیلتر برخلاف ستون عدد نمیسازد، سطر حذف میکند: خروجیاش درست یا نادرست است. برای کاوردکال اولین چیزی که باید حذف شود قراردادِ بیمعامله است — پرمیومی که هیچ خریداری ندارد، عددِ روی کاغذ است نه درآمد؛ سنجشش را در نقدشوندگی قرارداد اختیار معامله ببینید.
فیلتری که فقط بازده را میبیند همیشه اعمالهای نزدیک را بالا میآورد — فاصله تا اعمال و نسبت پوشش را هم شرط کنید.
علاوه بر ستون و فیلتر دیدهبان، در نمودار استراتژی میتوانید یونانیها را روی منحنی سود/زیان ببینید: موقعیتهای call/put را اضافه کنید، از بخش «یونانیها» روی نمودار استفاده کنید و حساسیت کل استراتژی به قیمت پایه و زمان را لحظهای بررسی کنید. جمع دلتای موقعیتها در پایین جدول نیز نمایش داده میشود.
کاوردکال دلتای خالص مثبت دارد ولی کمتر از نگهداری تنها سهم — بعد از باز کردن نمودار، جمع دلتا را در پایین جدول استراتژی با نمودار استراتژی مقایسه کنید.
استراتژی آماده در دیدهبان
برای فیلترهای پیشرفتهتر (محدوده قیمتی، احتمال موفقیت، حداقل ارزش سفارش، کارمزد و …) لازم نیست از صفر بنویسید — در استراتژیهای آماده گزینه کاوردکال را به ستون یا فیلتر اضافه کنید. این مقاله برای فهم منطق و شخصیسازی فرمول است.
فرمولها در کتابخانه شخصی ذخیره میشوند و میتوانید هر کدام را بهعنوان فیلتر یا ستون سفارشی به دیدهبان اضافه کنید.
برای کاورد کال هر call در جدول یک «گزینه فروش» روی پایهای است که دارید. با فرمول ببینید کدام call بازده، فاصله تا اعمال و حاشیه امن سربهسر را دارید — با فیلتر موقعیتهای ضعیف را حذف کنید — و در صورت نیاز نمودار سود و زیان همان ترکیب را باز کنید.
اگر سوال یا ابهامی در رابطه با این مطلب دارید، همینجا بپرسید؛ کارشناسان ما پاسخ میدهند.
تجربه یا نکتهای دارید؟ نوشتنش به بقیهٔ کاربران هم کمک میکند.
پرسشها و نظرات کاربران
2 پیام
محسن
07 تیر 1402 - 13:31
با سلام ،در محاسبه حداکثر سود در فرمول کاوردکال ،طبق قاعده استراتژی حداکثر سود به میزان پرمیوم دریافت شده خواهد بود ولیکن در فرمول محاسبه این استراتژی عنوان شده
;var profit = (Option.Strike - UA.TI.LastPrice + Option.TI.Buy_1_Price) * Option.Size
برای مثال یک با فروش یک اختیار خرید در زیان در استراتژی کاورد کال علاوه بر پرمیوم دریافت شده ،اختلاف قیمت سهم پایه و قیمت اعمال نیز به عنوان سود محاسبه شده که قاعدتا در زمان سررسید با سوختن این قرارداد(با فرض در زیان بودن)صرفا همان پرمیوم حداکثر سود خواهد بود.ممنون میشم بیشتر راهنمایی بفرمائید
پشتیبانیپاسخ
09 تیر 1402 - 11:50
عددی که در فرمول کاوردکال بهعنوان بیشترین سود حساب میشود، «سود در صورت اعمال» است، نه سودِ حالتی که قرارداد بیارزش منقضی شود:
این محاسبه فرض میگیرد سهم پایه را همین امروز به قیمت روز میخرید و همان لحظه call را میفروشید. با این فرض، سررسید دو حالت دارد:
- پایه زیر قیمت اعمال بماند: قرارداد اعمال نمیشود و از سمت اختیار همان پرمیوم برایتان میماند؛ سهم هم دست خودتان میماند و سود و زیانش جدا حساب میشود.
- پایه بالای قیمت اعمال برود: سهم به قیمت اعمال از شما تحویل گرفته میشود، پس علاوه بر پرمیوم، فاصلهٔ قیمت خرید سهم تا قیمت اعمال هم سود شماست. بیشترین سود کاوردکال همین حالت است.
یعنی آن فاصله سود جداگانهای نیست که به پرمیوم اضافه شده باشد؛ سود خودِ سهم است که فقط با اعمال شدن قطعی میشود. اگر سهم را از قبل و به قیمت دیگری خریدهاید، مبنای این محاسبه قیمت خرید خودتان است نه قیمت روز.
در ستون ترکیبی همین مقاله هر دو عدد کنار هم میآید: بازده حالت اعمال، و در پرانتز بازده حالتی که قرارداد اعمال نشود.