وضعیت بازار
ارزش معاملات سهام
ارزش معاملات اختیار
حجم معاملات اختیار
اطلاعات قیمت

کد تخفیف نوروزی "1403" خرید اشتراک سایت

@Optionbaaz

امروز ساعت 19 الی 21

مسیر رسیدن به سود مستمر
دوره آفلاین آموزش اختیارمعامله و فرمول نویسی
بیش از 15 ساعت ویدیوی آموزشی

مفاهیم پایه و کاربردی آپشن - استراتژی های سود آور برای مبتدیان و حرفه ها - آموزش گام به گام اختیار معامله - فرمول نویسی - فیلتر نویسی - دسترسی نامحدود - پشتیبانی و ..

اطلاعات دوره و ثبت نام

بیشترین ارزش معاملات اختیار معامله
روزانه
هفتگی
ماهیانه
روزانه
هفتگی
ماهیانه
نزدیکترین سررسید دوره های معاملاتی
نماد روز تا سررسید
برترین دارایی های پایه
روزانه
هفتگی
ماهیانه
دریافت و فعال سازی آنلاین کد بورسی و اختیار معامله
ما را در شبکه های اجتماعی دنبال کنید

فرمول نویسی موارد مربوط به بلک شولز یونانی ها و نوسان پذیری

در این مقاله مثال هایی از محاسبات مربوط به نوسان پذیری و بلک شولز که نیاز به فرمول نویسی دارند آورده شده

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


توضیح 
می خواهیم کمترین مقدار iv رو در یک زنجیره   پیدا کنیم . پس نیاز هست روی زنجیره یک حلقه بزنیم و با مقایسه تمامی iv های قرارداد کمترین مقدار را پیدا کنیم . 

برای حلقه از while و برای دسترسی به زنجیره از تابع OptionSE استفاده خواهیم کرد . 

let minIV = 0;

let index = 0;

let str = '';

while (OptionSE()[index] != undefined) {


//قرارداد با اندیس index

current = OptionSE()[index] ;


var param = new Object();

param.Type = current.Type;

param.Strike = current.Strike;

param.Premium = ScalePrice(current.TI)

let bg = CalcBG(param);


//این رشته جهت تست و مشاهده iv هر قرارداد

str += "<p>{0}:{2} - {1}</p>".format(index, bg.iv, current.Strike);


//اولین قراردادی که iv داره رو به عنوان مرجع مقایسه انتخاب می کنیم و در minIV ذخیره میکنیم

if (minIV ==0  && bg.iv != 0)

  minIV  = bg.iv;

//مقایسه مقدارminIV با iv قرارداد و درصورت کوچکتر بودن iv ان را در minIV قرارمیدیم

else if ( bg.iv < minIV && bg.iv != 0)

  minIV  = bg.iv;

index++;

}

str += "<p>minIV: {0}</p>".format(minIV);

str;

تا اینجا مقدار iv هر کدام از قرادادها رو محاسبه کردیم و کمترین آن را در متغییر minIV ذخیره کردیم و برای درک بهتر ، در ستون نمایش میدهیم . 

حالا که کمترین iv رو داریم ان را به عنوان iv پارامتر در تابع محاسبه بلک شولز قرارداد فعلی قرار میدهیم  و بلک شولز بر اساس minIV را بدست می آوریم . 

var param = new Object();

param.Volatility = minIV;

let bs = CalcBG(param).bs;

str += "BlackSholes by min IV: {0}".format(bs);

str;


کد کامل بدون توضیح 

let minIV = 0;

let index = 0;

let str = '';

while (OptionSE()[index] != undefined) {

//قرارداد با اندیس index

current = OptionSE()[index] ;


var param = new Object();

param.Type = current.Type;

param.Strike = current.Strike;

param.Premium = ScalePrice(current.TI)

let bg = CalcBG(param);


if (minIV ==0  && bg.iv != 0)

  minIV  = bg.iv;


else if ( bg.iv < minIV && bg.iv != 0)

  minIV  = bg.iv;

index++;

}

var param = new Object();

param.Volatility = minIV;

 CalcBG(param).bs;

لطفا سوال یا نظر خود را در این قسمت مطرح فرمایید
وارد کردن شماره همراه و ایمیل اختیاری می باشد و فقط جهت اطلاع رسانی از دریافت پاسخ استفاده خواهد شد .

  • ابوالفضل احسانی جمعه، ۲۷ مرداد ۱۴۰۲ - ۱۹:۲۱

    باسلام و درود فراوان لطف می کنید در خصوص کاربرد این کد در بازار معامله توضیح بدید ، من کد رو اجرا کردم ولی کاربردی برای اون نتونسم پیداکنم. قرار داد های otm بشدت بالاتر از خروجی این ستون معامله میشن و قرار داد های itm تقریبا نزدیک خروجی این فرمول معامله میشن ، من نتونستم نتیجه معنی داری بگیرم.


    پشتیبانی.1 جمعه، ۲۷ مرداد ۱۴۰۲ - ۲۲:۳۱

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