گزینه باینری نوعی مشتق است که در صورت دریافت دارایی به یک سطح خاص در زمان انقضا ، یک بازپرداخت ثابت دریافت می شود. گزینه باینری با بازپرداخت 1 اغلب به عنوان گزینه دیجیتال شناخته می شود. این گزینه ها به دلیل سادگی نسبی آنها بسیار شبیه به شرط بندی هستند. ما می توانیم از طریق مطالعه باینری ها ، برخی از شهودهای ریاضی خوب را در مورد قیمت گذاری گزینه دریافت کنیم ، که امیدوارم امروز با شما به اشتراک بگذارم.
فهرست
در این مقاله توضیحی در مورد ریاضیات در پشت قیمت گذاری گزینه باینری به همراه اجرای پایتون برای فرم بسته و تکنیک های قیمت گذاری مونت کارلو ارائه خواهیم داد.
برای پایان دادن به این مقاله ، ما نمونه ای از توزیع ضمنی قیمت سهام را در انقضا با استفاده از گزینه های باینری ارائه خواهیم داد.
هشدار
شایان ذکر است که در این مرحله ، گزینه های باینری موضوع بحث و جدال زیادی با تنظیم کننده ها بوده است که نگرانی در مورد محافظت از سرمایه گذاران در برابر آنچه که اغلب کلاهبرداری آشکار است ، دارند. کشورهایی مانند کانادا ، آلمان و اسرائیل تا آنجا که ممنوعیت فروش گزینه های باینری به مشتریان خرده فروشی را صادر کرده اند ، پیش رفته اند. در انگلستان ، در یک مرحله گزینه های باینری توسط کمیسیون قمار تنظیم شده است (FCA اکنون تنظیم شده است) امیدوارم این نکته را نشان دهد که نویسنده گزینه های باینری را توصیه نمی کند مگر اینکه دقت جدی انجام شود. این مقاله باید به عنوان یک منبع آموزشی بر خلاف ارتقاء تجارت این ابزارها برای پول واقعی تلقی شود. یک قانون شست احتمالی برای تبعیض بین ارائه دهندگان گزینه ها این است: آیا آنها محصولاتی را ارائه می دهند که با انقضا کمتر از 1 دقیقه؟اگر بله ، پس بهتر است کارگزار دیگری پیدا کنیم.
با این گفته بیایید شروع کنیم!
روش شبیه سازی
گزینه ای را در نظر بگیرید که مبلغ ثابت x را به شرط برخی از رویدادهایی که در بازار اتفاق می افتد بپردازد. نمونه ای از سهام در حال حاضر با 100 دلار با گزینه باینری که 5 دلار پرداخت می کند در صورتی که سهام در زمان 3 ماه بیشتر از 115 دلار باشد. توجه داشته باشید که مهم نیست که سهام برای گزینه ای از این ماهیت 200 دلار یا 116 دلار باشد ، بازپرداخت بدون در نظر گرفتن 5 دلار است.
شما تخمین می زنید که نوسانات 30 ٪ در سال است. و نرخ بهره مناسب 2 ٪ در سال است.
بنابراین سوال این است که چگونه قیمت مانند ابزار را قیمت گذاری کنیم؟
خواننده ممکن است درک کند که در نظر گرفتن سؤال فوق به عنوان یک سؤال احتمال مفید است ، به این ترتیب که ما می پرسیم که چند بار سهام بالاتر از اعتصاب است.
ابتدا این را با شبیه سازی محاسبه خواهیم کرد زیرا این شاید بصری ترین راه برای بررسی یک مشکل این طبیعت باشد. در زیر مراحل تکمیل این روش قیمت گذاری آورده شده است. توجه داشته باشید که ما فرض می کنیم توزیع عادی قیمت سهام در زمان انقضا ، که کاملاً غیر واقعی است اما باید برای نشان دادن مفهوم باشد.
1) با توجه به حرکت هندسی براونیان ، (s_t ) را شبیه سازی کنید
این مقاله را ببینید که از کجا آمده است. بگذارید N در خط دوم زیر تعداد قرعه کشی از توزیع باشد.
(ln(S_T) - ln(S_0) sim mathcal ( (mu - frac>) t ، sigma^ sqrt) )
(s_t = s_0e^<(r- frac<sigma^2> )T + sigma dW_T^i>، برای i در [1،2 ،.، n] )
در زیر ما 10 میلیون قیمت سهام ترمینال را شبیه سازی می کنیم ، این باید برای دریافت تقریب خوب توزیع واقعی قیمت سهام در زمان انقضا کافی باشد.
S = 100. 0 # قیمت سهام SPOT K = 115. 0 # اعتصاب T = 0. 25 # بلوغ r = 0. 02 # نرخ آزاد ریسک سیگما = 0. 3 # نوسانات سالانه np. random. seed (0) ds = np. random. normal ((0)R - Sigma ** 2/2)*T ، Sigma*np. sqrt (t) ، size = ndraws) st = s0*np. exp (ds) n ، سطل ، patches = plt. hist (st ، bins = 250) ؛plt. xlabel ('$ s_t $') plt. xlim ([50،170]) plt. ylabel ('فرکانس') plt. title ('شبیه سازی سهام')

2) محاسبه کنید که چند بار سهام بیشتر از قیمت اعتصاب است.
تصور کنید که در امتداد محور X هیستوگرام در بالا قرار می گیرد و اگر قیمت سهام از قرعه کشی بیشتر از اعتصاب باشد ، یکی را به کل اضافه کنید. سپس تعداد موارد را حساب می کنیم و این مبلغ را بر اساس تعداد قرعه کشی که در این مورد 10 میلیون است تقسیم می کنیم.
فرمول برای این کار در زیر نشان داده شده است که (1 ) عملکرد نشانگر بازگشت 1 یا 0 وابسته به شرایط رضایت بخش است. فرمول زیر احتمال ابتلا به سهام بالاتر از اعتصاب در انقضا را نشان می دهد. مسلماً باید مانند شبیه سازی قبلی از یکپارچه استفاده کنیم اما امیدوارم از این طریق شهودی تر باشد.
(mathbb(S_T>K) =frac displaystyle sum_^N mathbb_ K>> )
اسکریپت زیر نشان می دهد که شبیه سازی این احتمال را 16. 5 ٪ تقریب می دهد. این نباید با احتمال بی طرف خطر اشتباه گرفته شود. اگرچه مشاهده فرمول در اینجا باید یک شهود خوب در مورد اینکه دقیقاً چه احتمال خنثی خطر در هنگام مواجهه با آن در مقاله وجود دارد ، ارائه دهد.
n, bins, patches = plt.hist(ST,bins=250); plt.xlabel('$S_T$') plt.xlim([50,170]) plt.ylabel('Frequency') plt.title('Stock Simulation') for c, p in zip(bins, patches): if c> K: plt.setp(p, 'facecolor', 'green') else: plt.setp(p, 'facecolor', 'blue') timesInMoney = len(ST[ST>k]) P = TimesInmoney/ndraws چاپ ("گزینه در پول" ، F "بار") چاپ (f'out از شبیه سازی ها ") چاپ (f'Probability از بودن در پول ٪") #گزینه این بوددر پول 1651856 بار #OUT 10000000 شبیه سازی #امکان پذیر بودن در پول 0. 1650933 ٪
از اسکریپت بالا می بینیم که سهام بیشتر از اعتصاب تقریباً 16. 5 ٪ از زمان خواهد بود.

3) مقدار گزینه را محاسبه کنید.
بگذارید (q ) بازپرداخت از گزینه باینری (5 دلار در مثال ما) قیمت منصفانه گزینه باینری به شرح زیر باشد.
So the fair price here is approximately $0.82. You can get the risk-neutral probability by multiplying (mathbb(S_T>k) times e^) اگر می خواهید.
The same procedure can be applied to put options by changing (mathbb(S_T>k) times e^ text mathbb (s_t
def monte_carlo_binary(S, K, T, r, sigma, Q, type_='call', Ndraws=10_000_000, seed=0): np.random.seed(seed) dS = np.random.normal((r-sigma**2/2)*T, sigma*np.sqrt(T),size=Ndraws) ST = S *np.exp(dS) if type_ =='call': retu len(ST[ST>k])/ndraws *q *np. exp (-r *t) elif type_ == 'put': بازگشت لن (st [st
فرم های بسته سیاه و سفید
ما همچنین می توانیم از فرمول Black-Scholes برای قیمت گزینه های باینری استفاده کنیم ، برای این کار ما از مقاله قبلی به D2 نیاز خواهیم داشت. فرمول های تماس و قرار دادن در زیر آورده شده است.
فرمول و اجرای پایتون تماس بگیرید
از Scipy. Stats Norm Norm S = 100. 0 # قیمت سهام K = 115. 0 # Strike T = 0. 25 # بلوغ R = 0. 02 # نرخ رایگان خطر سیگما = 0. 3 # نوسانات سالانه def d2 (s ، k ، t ، r ، sigma):بازگشت (np. log (s / k) + (r- sigma ** 2/2)*t) / (sigma*np. sqrt (t)) def binary_call (s ، k ، t ، r ، sigma ، q =1): n = norm. cdf بازگشت np. exp (-r*t)*n (d2 (s ، k ، t ، r ، sigma))*q
بیایید لحظه ای برای برابر کردن برخی از مفاهیم از روش مونت-کارلو که در مورد آن صحبت کردیم ، قرار دهیم. توجه کنید که وقتی Q = 1 را در آن عبور می کنیم ، یک راه حل بسته برای احتمال وجود سهام در پول دریافت می کنیم.
binary_call (s ، k ، t ، r ، sigma ، q = 1) #0. 16435024380749158 چاپ (p*np. exp (-r*t) #0. 1643617333338293072
توجه کنید که ما می توانیم مقدار احتمالی را که از شبیه سازی مونت کارلو به دست آوردیم بازیابی کنیم.
binary_call (s ، k ، t ، r ، sigma ، q = 1) * np. exp (r * t) #0. 16517405283282427
و قیمت گذاری گزینه مثال ما تقریباً به همان مقدار می رسیم. افزایش پارامتر NDRAWS این خطا را کاهش می دهد ، اما در زیر می بینیم که نسبتاً دقیق است و در واقع آنها همان مقدار را اندازه گیری می کنند.
binary_call (S ، K ، T ، R ، Sigma ، Q = 5) #0. 8217512190374578 MONTE_CARLO_BINARY (S ، K ، T ، R ، SIGMA ، 5) #0. 82180866669146537
فرمول و اجرای پایتون را قرار دهید
فرمول قیمت گذاری یک گزینه باینری در زیر آورده شده است ، در این حالت احتمال اینکه سهام زیر قیمت اعتصاب باشد ، اندازه گیری می کنیم.
def binary_put (s ، k ، t ، r ، sigma ، q = 1): n = norm. cdf بازگشت np. exp (-r* t)* n (-d2 (s ، k ، t ، r ، sigma))*س
بیایید آن فرمول را برای قیمت گذاری یک گزینه Put با همان پارامترهای تماس با ما در طول این مقاله امتحان کنیم
binary_put (s ، k ، t ، r ، sigma ، q = 1) # 4. 153311176925954 monte_carlo_binary (s ، k ، t ، r ، sigma ، 5 ، 'put') # 4. 153253729048758758
حال در نظر بگیرید که آیا می توانستیم این مقدار را بدون استفاده از هر فرمول استنباط کنیم. از آنجا که ما می دانیم که مشکل باینری است ، یعنی یکی از دو رویداد باید رخ دهد ، سهام یا بالاتر از اعتصاب یا زیر آن است ، رابطه زیر باید نگه داشته شود
برای تنظیم این مسئله برای یک استدلال بی طرفی ریسک ، می توانیم برابری نشان داده شده در زیر را بیان کنیم. بگذارید (c_k text p_k ) قیمت تماس های دیجیتال باشد و به ترتیب قرار می دهد.
np. exp (r*t)*(binary_call (s ، k ، t ، r ، sigma ، q = 1) +binary_put (s ، k ، t ، r ، sigma ، q = 1)) #1. 0
و پس از آن به این نتیجه می رسد که یک باینری غیر دیجیتال قیمت گذاری کنید:
واضح است که وقتی قیمت یک گزینه تماس باینری را می دانیم می توانیم قیمت آن را استنباط کنیم.
q = 5 چاپ (np. exp (-r*t)*q - (binary_call (s ، k ، t ، r ، sigma ، q = q)) # 4. 153311176925953 print (binary_put (s ، k ، t ، r ،Sigma ، Q = Q)) #4. 153311176925954
خلاصه
نکات زیر برای یادآوری به منظور درک کامل بخش بعدی مهم است.
1) (n (d1) ) از فرمول سیاه اسکولز ، احتمال خنثی ریسک سهام را بالاتر از اعتصاب در زمان انقضا نشان می دهد.
2) (n (-d_2) ) احتمال خنثی ریسک سهام است که در زمان انقضا در زیر اعتصاب به پایان می رسد.
توزیع احتمال ضمنی از داده های بازار
در این پروژه مینی برخی از مواردی را که در مورد گزینه های باینری آموخته ایم ، خواهیم گرفت و آنها را در برخی از داده های واقعی بازار اعمال می کنیم. اگر با این مفهوم ناآشنا باشید ، خواندن این مقاله در مورد نوسانات ضمنی مفید است.
هدف از این بخش ایجاد CDF و PDF از انتظارات بازار در مورد قیمت سهام اپل در 19 فوریه است.
برای دنبال کردن ، می توانید داده های بازار را خودتان از GitHub بارگیری کنید یا می توانید به سادگی آن را با استفاده از پاندا همانطور که در زیر مشاهده می کنید بارگیری کنید.
واردات پاندا به عنوان pd df = pd. read_csv ('https://raw. githubusercontent. com/codearmo/data/implied_dist_article. csv') چاپ (df. head) # # k iv s t # 0 55 1. 017583 131. 9770. 207843 #1 60 0. 923829 131. 97 0. 207843 #2 65 0. 871095 131. 97 0. 207843 #3 70 0. 802736 131. 97 0. 207843 #4 75 0. 736331 131. 97 02078433
یادداشت ها در مورد داده ها
1) داده ها از یاهو مالی قبل از باز شدن بازار در تاریخ 28 دسامبر 2020 جمع آوری شد
2) همه گزینه ها در 19 فوریه 2021 منقضی می شوند
3) متغیر زمان انقضا با گرفتن تعداد روزها و تقسیم 255 محاسبه شد. (می تواند دقیق تر باشد)
4) مشخص نیست که از چه ارزش مالی یاهو برای محاسبه نوسانات ضمنی استفاده می کند ، با این حال ، ما با قیمت بازار سر و کار نخواهیم داشت و بنابراین برای نشان دادن مفهوم فرضیات غیر واقعی را انجام می دهیم. احساس راحتی کنید که آن را بر روی داده های مختلف امتحان کنید.
5) فرض خواهیم کرد که نرخ آزاد ریسک 0. 1 ٪ در سال است که از اینجا گرفته شده است
نوسانات ضمنی متضاد و برون یابی
در اینجا ما از یک چند جمله ای با درجه 5 استفاده می کنیم تا مقادیر نوسانات ضمنی جدید خود را بدست آوریم. از آنجا که بالاترین و کمترین اعتصاب موجود به ترتیب 230 و 55 است ، ما می خواهیم مقادیر بین 1 - 55 را برون یابی کنیم. در حالی که ما گمان می کنیم که مقادیر تا پایان این توزیع در زندگی واقعی بسیار بیشتر است ، ما از مدل زیر صرفاً برای اهداف مصور استفاده خواهیم کرد.
VOLS = DF. IV. Values #volatility مقادیر ks = df. k. values #strikes newk = np. arange (1 ، 270،0. 0001) #اعتصاب وضوح بالاتر جدید پلی = np. polyfit (KS ، Vols ، 5) #CreateSTORMIDED VOL FIT NEWVOLS = NP. Poly1d (Poly) (Newk) # متناسب با وضوح بالاتر به اعتصابات بالاتر Plt. plot (Newk ، NewVols) plt. title ('عملکرد نوسانات ضمنی') plt. xlabel ('$ k $')plt. ylabel ('smogied vol')

بنابراین آنچه ما اکنون داریم روشی برای تقریب مقادیر نوسانات مناسب از داده هایی است که از مالی یاهو جمع آوری کرده ایم. خواننده تشویق می شود تا با عملکرد زیر بازی کند و آن را با طرح بالا مقایسه کند.
def vol_by_strike (polymdl ، k): بازگشت np. poly1d (polymdl) (k) vol_by_strike (پلی ، 131. 97) #0. 403887399619897
بنابراین از بالا می بینیم که مردگان در نوسانات پول 40. 39 ٪ است
عملکرد توزیع تجمعی خنثی ریسک را برای قیمت سهام در انقضا ایجاد کنید.
برای ایجاد CDF می خواهیم وزن را در سمت چپ نقطه معین محاسبه کنیم ، نکته فوق الذکر در اینجا اعتصاب است. با مراجعه به مثالها در ابتدای سندی که می دانیم برای محاسبه این مقدار می توانیم از یک گزینه دیجیتالی استفاده کنیم.
s = df. s [0] # عصاره s_0 t = df ['t'] [0] #extract t r = 0. 001 # انتخاب شده برای راحتی باینری = binary_put (s ، newk ، t ، r ، newvols) # محاسبه باینری هاplt. plot (newk ، binaries ، label = 'cdf') plt. axvline (s ، color = 'black' ، linestyle = '-' ، label = '$ s_0 $') plt. xlabel ('$ s_t $') plt. ylabel ('cdf') plt. title ('CDF اپل در 19 فوریه 2021') plt. legend ()

سپس می توانیم از اسکریپت زیر استفاده کنیم تا احتمال آن را به هر مقدار (S_T ) اختصاص دهیم ، من دریغ می کنم که این را PDF بنامم ، زیرا ما در حال اختصاص احتمالات گسسته به قیمت فردی هستیم. با این حال ، برای اهداف مصور مفید است. ما همچنین یک توزیع نوسانات ثابت یعنی جلد ضمنی در (S_0 ) را برای اهداف مقایسه ای اضافه خواهیم کرد.
binaries = binary_put (s ، newk ، t ، r ، newvols) pst = [] # بازار حکیم می کند برای من در محدوده (1 ، لن (باینری ها)): p = binaries [i] -binaries [ i-1] pst. ضمیمه (p) condiation_vol = vol_by_strike (پلی ، s) binaries_const = binary_put (s ، newk ، t ، r ، condition_vol) const_p = [] برای من در محدوده (1 ، len (binaries_const)): p = binaries_const [i] - i] -binaries_const [i-1] const_p. append (p) plt. plot (Newk [1:] ، pst ، color = 'red' ، label = 'market sportied') plt. plot (Newk [1:] ، const_p ، رنگ= 'سیاه "، برچسب =' ثابت جلد ') plt. ylabel (' $ mathbb $ ') plt. xlabel (' $ s_t $ ') plt. legend () plt. title (' بازار در مقابل ثابت")
توجه کنید که با استفاده از یک نوسانات ثابت ، به طور مؤثر 0 ٪ احتمال وجود دارد که سهام در هنگام انقضا زیر 60 باشد. با این حال ، بازار با این ایده موافق نیست ، شاید ما بتوانیم این موضوع را به عنوان وقایع نادر خطر مانند جنگ ، فاجعه طبیعی و غیره تعبیر کنیم.

بیایید اکنون که می توانیم با این توزیع چه کاری انجام دهیم ، بررسی کنیم. بیایید ببینیم که چگونه می توانیم احتمال اینکه سهام در یک بازه خاص در تاریخ انقضا قرار داشته باشد محاسبه کنیم.
به عنوان مثال می گویند ما می خواهیم این احتمال بی طرف خطر را پیدا کنیم:
PST = np. Array (PST) idx = np. argwhere ((Newk [1:] 110)) PST [IDX] . Sum () # 0. 440962114337626
بنابراین طبق بازار ، 44. 10 ٪ احتمال انقضا اپل در این بازه نشان داده شده در زیر وجود دارد.

plt. figure (figsize = (7 ، 4)) plt. plot (newk [1:] ، pst ، color = 'black') plt. fill_between (newk [1:] ، pst ، where = ((newk [1:]<140)& (newK[1:]>125)) ، faceColor = 'Black' ، alpha = 0. 9) plt. xlabel ('$ s_t $') plt. ylabel ('$ mathbb $') plt. title ('فاصله احتمال') plt. xticks (np. Arange (0،230 ، 20. 0)) ؛
پیامدهای استراتژی تجارت
استراتژی های نشان داده شده در مقالات قبلی را در اینجا و اینجا به یاد بیاورید. بیایید بگوییم که یک معامله گر مدل خاص خود را برای تخمین چگالی (S_T ) در انقضاء دارد ، اگر مدل چگالی بزرگتر از بازار را پیش بینی کند ، معامله گر می تواند موقعیت طولانی را در یک پروانه گسترش دهد یا برعکسدرست است که او می تواند یک موقعیت کوتاه در یک پروانه بگیرد.
امیدوارم این مقاله به شما در ایجاد ارتباط بین احتمالات ناشی از قیمت گزینه و همچنین درک بصری از احتمالات بی طرف ریسک و آنچه در واقع آنها معنی دارند ، کمک کرده است.
گزینه های باینری و توزیع های ضمنی با Python Lea Options Trading با استفاده از پایتون
کپی رایت © 2020 کلیه حقوق محفوظ است
فارکس وکسب درامد...
ما را در سایت فارکس وکسب درامد دنبال می کنید
برچسب :
نویسنده : احمد قانع پور
بازدید : 30
تاريخ : چهارشنبه
18 مرداد
1402 ساعت: 12:51