Option pricing in Tehran Stock Exchange (TSE) and Iran Farabourse (IFB)


Keywords
Tehran, Stock, Exchange, TSE, Iran, Farabourse, IFB, Option, pricing, BSM, black-scholes-merton, implied-volatility, iran-farabourse, option-pricing, tehran-stock-exchange
License
MIT
Install
pip install tse-option==0.1.0.0

Documentation

tse_option

این پکیج جهت بررسی و قیمت گذاری اوراق اختیار معامله موجود در بورس اوراق بهادار تهران و فرابورس ایران ایجاد شده است. لازم به یادآوری است که در این ماژول از مدل ارائه شده توسط بلک-شولز-مرتون در سال 1973 برای قیمت گذاری اختیار معامله استفاده شد است. سعی بر آن است که در نسخه های بعدی سایر مدل های قیمت گذاری نیز اضافه شوند.

برخی از توابع این پروژه،از ماژول های finpy_tse و tsemodule5 اقتباس شده اند.


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


تغییرات نسخه جدید(0.1.1.0):

1- امکان دانلود تاریخچه قیمت سهام و اوراق اختیار معامله

2- رفع برخی مشکلات


تغییرات نسخه جدید(0.1.2.1):

1- بروزرسانی لینک های tsetmc

2- امکان دریافت تاریخچه قیمت چندین نماد(مانند yfinance)

3- بروزرسانی لینک سایت tse.ir


نصب

pip install tse-option

فراخوانی

import tse_option as tso

دریافت داده های مربوط به تمام اختیار معامله های موجود روی یک سهم خاص

df = tso.pricing_based_on_stock(stock_name="خودرو", trading_days=100, IV=False, leverage=True, P_BSM=False, sort="Maturity")

stock_name: نماد سهم مورد نظر

trading_days: تعداد روزهای معاملاتی مورد نظر که تلاطم تاریخی براساس آن محاسبه می شود.

IV: محاسبه تلاطم ضمنی یا Implied Volatility

leverage: نمایش مقدار اهرم اختیار معامله

P_BSM: نمایش نسبت قیمت بازار به قیمت تئوری بلک-شولز-مرتون

sort: نحوه مرتب شدن دیتافریم خروجی

(می توان از متغیرهایی چون زمان باقی مانده تا سررسید(Maturity)،قیمت اعمال(Strike Price) و موقعیت های باز(Open Interest) برای مرتب سازی استفاده کرد)


دریافت داده های مربوط به یک اختیار معامله خاص

df = tso.pricing_based_on_option(option_name="ضسپا1205", trading_days=100, IV=False, leverage=True, P_BSM=False, sort="Maturity")

option_name: نماد اختیار معامله مورد نظر

IV: محاسبه تلاطم ضمنی یا Implied Volatility

leverage: نمایش مقدار اهرم اختیار معامله

P_BSM: نمایش نسبت قیمت بازار به قیمت تئوری بلک-شولز-مرتون


دریافت تاریخچه قیمت

df = tso.download_history("خودرو", j_date=True, start="1402-01-01", end=None, adjust_price=True, drop_unadjusted=False)
df = tso.download_history(symbols=["خودرو","فولاد","وبملت"], j_date=False, start="2023-01-01", end=None, adjust_price=False, drop_unadjusted=False)

symbols: نماد یا نمادهای مورد نظر

j_date: نوع تاریخ ورودی

start: تاریخ شروع (براساس j_date لازم است تعیین شود)

end: تاریخ پایان (براساس j_date لازم است تعیین شود)

adjust_price: نمایش قیمت های تعدیل شده سهام

drop_unadjusted: حذف ستون های قیمت های تعدیل نشده (حتما باید adjust_price برابر True باشد)


برای مشاهده مثال های بیشتر اینجا کلیک کنید.


در صورت برخورد با هرگونه خطا، ممنون میشم به من اطلاع بدین (sm.sokut@gmail.com)

This project on github tse-option