使用python-bloombergapi在循环中添加截止日期

2024-09-28 01:28:49 发布

您现在位置:Python中文网/ 问答频道 /正文

在与彭博API连接后,我想筛选OPT\u EXPIRE\u DT,以查找在我指定日期后40天内的到期日期

我指定了3个日期,每个日期都有一个for循环,用于获取该日期历史选项的ref数据,包括OPT\u EXPIRE\u DT和OPT\u STRIKE\u PX。我想过滤OPT\u EXPIRE\u DT以获取在指定日期后40天内立即过期的选项

dates=[date(2014,12,22),date(2015,1,12),date(2015,1,13)]
for d in dates:
    option_chain=con.bulkref_hist(["HSI Index"],"OPT_CHAIN",[d.strftime("%Y-%M-%D")], ovrds=[("SINGLE_DATE_OVERRIDE",d.strftime("%Y%M%D"))])      
    option_chain_long_data=con.ref(list(option_chain.value),["OPT_STRIKE_PX","OPT_PUT_CALL","OPT_EXPIRE_DT"])
    ocld_filter=option_chain_long_data.copy()
    mask=(ocld_filter.OPT_EXPIRE_DT<(d+timedelta(days=40))&(ocld_filter.OPT_STRIKE_PX>18000)&(ocld_filter.OPT_STRIKE_PX<30000))

错误与最后一行有关。类型错误为TypeError:无法将dtyped[bool]数组与[bool]类型的标量进行比较。但是,我不明白为什么要比较两种不同的类型,因为它们都是日期类型


Tags: ref类型chainfordate选项dtfilter

热门问题