Есть ли способ получить исторические данные об отличных опционах для конкретной цены исполнения?

#python #pandas #loops #options #stock

#питон #панды #петли #Опции #склад

Вопрос:

Я анализирую отличные исторические данные об опционах с конкретных дат до даты истечения срока действия по определенной цене исполнения. Скажем, 25/11/2021-четверг (дни истечения срока действия опциона-четверг), и я хочу проанализировать данные с 15/11/2021, которые являются понедельником для цены исполнения 18/11/2021 (четверг). Таким образом, дата начала будет 15/11/2021, дата окончания-25/11/2021, дата истечения срока действия-18/11/2021 (четверг), а цена исполнения-18/11/2021. Я могу сделать это вручную, но я не могу сделать это в цикле for в течение последовательных четвергов. Я приложил код ниже. Есть ли какая-либо ошибка в моем коде или есть способ получить данные о параметрах для последовательных четвергов?

 for yr in year_list:  for mnth in month_list:  exp_dt= list (get_expiry_date(year=yr, month = mnth))  exp_dt.sort()  strike = nifty_data.loc[nifty_data['Date'].isin(exp_dt)]  strikeprice = list (strike['Close'])  for s, e in zip(strikeprice, exp_dt):  prev_exp_dt = e - timedelta(days=10)  expi = e - timedelta(days = 7)  nifty_opt = get_history(symbol = 'NIFTY',  start = prev_exp_dt, end = e,  index = True, option_type = 'PE',  strike_price = float(s),  expiry_date = expi)  option_data = option_data.append(nifty_opt)  nifty_opt = get_history(symbol = 'NIFTY',  start = prev_exp_dt, end = e,  index = True, option_type = 'CE',  strike_price = float(s),  expiry_date = expi)    option_data = option_data.append(nifty_opt)      

Я получаю пустой фрейм данных для приведенного выше кода.

Ответ №1:

Спасибо, ребята, что нашли время изучить мой пост.

Я понял! А ниже приведен код:

 for yr in yr_list:  for mnth in month_list:  exp_dt= list (get_expiry_date(year=yr, month = mnth))  exp_dt.sort()  strike = nifty_data.loc[nifty_data['Date'].isin(exp_dt)]  strikeprice = list (strike['Strike'])  for e in exp_dt:  prev_exp_dt = e - timedelta(days =3)  for s in strikeprice:  nifty_opt = get_history(symbol = 'NIFTY',  start = prev_exp_dt, end = e,  index = True, option_type = 'PE',  strike_price = float(s),  expiry_date = e)  option_data = option_data.append(nifty_opt)  nifty_opt = get_history(symbol = 'NIFTY',  start = prev_exp_dt, end = e,  index = True, option_type = 'CE',  strike_price = float(s),  expiry_date = e)  option_data = option_data.append(nifty_opt)  

Еще раз спасибо вам! Надеюсь, вам это тоже поможет!!