Skip to main content

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

Project description

tse_option

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

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


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


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

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

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


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

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

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

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


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

1- رفع مشکل محاسبه نرخ بهره بدون ریسک

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


**در حال حاضر امکان دریافت اطلاعات مربوط به آپشنهای فرابورس امکان پذیر نیست. در آپدیت بعدی سعی می شود این مشکل برطرف گردد. **


بروزرسانی

pip install tse-option --upgrade

نصب

pip install tse-option

فراخوانی

import tse_option as tso

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

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

symbol: نماد دارایی پایه مورد نظر

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

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

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

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

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

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


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

df = tso.call(option_symbol="ضخود1130", trading_days=100, IV=False, leverage=True, P_BSM=False, sort="Maturity")

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

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

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

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


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

df = tso.download("خودرو", j_date=True, start="1402-01-01", end=None, adjust_price=True, drop_unadjusted=False)
df = tso.download(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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tse_option-0.1.2.3.tar.gz (10.3 kB view hashes)

Uploaded Source

Built Distribution

tse_option-0.1.2.3-py3-none-any.whl (8.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page