#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)
Еще раз спасибо вам! Надеюсь, вам это тоже поможет!!