tse-option 0.1.3.0
Option pricing in Tehran Stock Exchange (TSE) and Iran Farabourse (IFB)
Requires Python: >=3.7
Keywords: Tehran Stock Exchange, TSE, Iran Farabourse, IFB, Option pricing, BSM

# tse_option



این پکیج جهت بررسی و قیمت گذاری اوراق اختیار معامله موجود در بورس اوراق بهادار تهران و فرابورس ایران ایجاد شده است. لازم به یادآوری است که در این ماژول از مدل ارائه شده توسط بلک-شولز-مرتون در سال 1973 برای قیمت گذاری اختیار معامله استفاده شد است. سعی بر آن است که در نسخه های بعدی سایر مدل های قیمت گذاری نیز اضافه شوند. 

برخی از توابع این پروژه،از ماژول های [finpy_tse](https://github.com/ARahimiQuant/finpy-tse) و [tsemodule5](https://github.com/python4financeacademy/tsemodule5) اقتباس شده اند. همچنین باید تشکر کنم از آقای حمید ماهان که برای رفع مشکل دریافت دیتای فرابورس کمک کردند..

----------------------------------------------

**توجه****: کلیه خروجی این ماژول از جمله قیمت گذاری و محاسبه تلاطم ضمنی و ... به جهت تسهیل در تصمیم گیری سرمایه گذاران است و هیچگونه پیشنهادی برای خرید یا فروش آن محسوب نمی شود. لذا تمامی عواقب سرمایه گذاری به عهده شخص سرمایه گذار است و توسعه دهنده هیچ مسئولیتی در قبال زیان های احتمالی ندارند.** 

----------------------------------------------


**تغییرات نسخه جدید(0.1.1.0)**: 


1- امکان دانلود تاریخچه قیمت سهام و اوراق اختیار معامله


2- رفع برخی مشکلات


----------------------------------------------


**تغییرات نسخه جدید(0.1.2.1)**: 


1- بروزرسانی لینک های tsetmc


2- امکان دریافت همزمان تاریخچه قیمت چندین نماد(مانند yfinance)


3- بروزرسانی لینک سایت tse.ir


----------------------------------------------


**تغییرات نسخه جدید(0.1.2.3)**: 


1- رفع مشکل محاسبه نرخ بهره بدون ریسک (میانگین نرخ اخزا)


2- بهبود کلی و رفع برخی مشکلات


----------------------------------------------


**تغییرات نسخه جدید(0.1.3.0)**: 


1- امکان دریافت دیتای پوت آپشن های بورس تهران


2- رفع مشکل دریافت دیتای فرابورس


3- اضافه شدن ستون وجه تضمین


----------------------------------------------


### بروزرسانی
```python
pip install tse-option --upgrade
```

### نصب
```python
pip install tse-option
```

### فراخوانی
```python
import tse_option as tso
```

-----------------------------------------------------------------


#### زنجیره قراردادهای یک سهم
```python
df = tso.option_chain(symbol="خودرو", trading_days=100, IV=False, leverage=True, P_BSM=False, sort="Maturity")
```

| arguments   |    توضیحات |
|:------------|:-----------|
| symbol      | نماد دارایی پایه |
| trading_days| تعداد روز معاملاتی برای محاسبه تلاطم تاریخی |
| IV          | تلاطم ضمنی (Implied Volatility) |
| leverage       | محاسبه اهرم |
| P_BSM       | نسبت قیمت بازار به BSM |
| sort        | نحوه مرتب سازی |


(می توان از متغیرهایی چون زمان باقی مانده تا سررسید(Maturity)،قیمت اعمال(Strike Price) و موقعیت های باز(Open Interest) برای مرتب سازی استفاده کرد)


-----------------------------------------------------------------

#### اختیار خرید
```python
df = tso.call(option_symbol="ضخود1130", trading_days=100, IV=False, leverage=True, P_BSM=False)
```


| arguments   |    توضیحات |
|:------------|:-----------|
| option_symbol      | نماد اختیار خرید |
| trading_days| تعداد روز معاملاتی برای محاسبه تلاطم تاریخی |
| IV          | تلاطم ضمنی (Implied Volatility) |
| leverage       | محاسبه اهرم |
| P_BSM       | نسبت قیمت بازار به BSM |


-----------------------------------------------------------------

#### اختیار فروش
```python
df = tso.put(option_symbol="طخود1138", trading_days=100, IV=False, leverage=True, P_BSM=False)
```


| arguments   |    توضیحات |
|:------------|:-----------|
| option_symbol      | نماد اختیار فروش |
| trading_days| تعداد روز معاملاتی برای محاسبه تلاطم تاریخی |
| IV          | تلاطم ضمنی (Implied Volatility) |
| leverage       | محاسبه اهرم |
| P_BSM       | نسبت قیمت بازار به BSM |


-----------------------------------------------------------------

#### دریافت تاریخچه قیمت
```python
df = tso.download("خودرو", j_date=True, start="1402-01-01", end=None, adjust_price=True, drop_unadjusted=False)
```
```python
df = tso.download(symbols=["خودرو","فولاد","وبملت"], j_date=False, start="2023-01-01", end=None, adjust_price=False, drop_unadjusted=False)
```

| arguments   |    توضیحات |
|:------------|:-----------|
| symbols      | نماد یا نمادها |
| j_date| تاریخ جلالی |
| start          | تاریخ شروع |
| end       | تاریخ پایان |
| adjust_price       | قیمت تعدیل شده |
| drop_unadjusted       | حذف قیمت های تعدیل نشده |


-----------------------------------------------------------------


برای مشاهده مثال های بیشتر [اینجا](https://github.com/sm-sokout/tse-option/blob/master/Example/Example.ipynb) کلیک کنید.

-----------------------------------------------------------------


My Telegram Channel: [@AlgoEdge](https://t.me/algorithm_edge)


در صورت برخورد با هرگونه خطا، ممنون میشم به من اطلاع بدین (sm.sokut@gmail.com)


This project on github [tse-option](https://github.com/sm-sokout/tse-option)