如何解决彭博API-Python中的历史索引成员
我正在尝试使用Python中的Bloomberg API获取索引成员。我没有获取当前成分股的问题,但我想要一个历史记录列表(例如:自1995年第一季度起,罗素1000或标准普尔500成分股位于何处)。
要获取当前的索引成员,我可以使用以下内容:
在excel中,我可以使用INDX_MEMBERS来获取成分:
=BDS("Index Ticker",INDX_MEMBERS)
在Python中:
import pybbg
def Main():
bbg = pybbg.Pybbg()
IndexConst = bbg.bds('IndexName','INDX_MEMBERS')
或:
from tia.bbg import LocalTerminal
resp = LocalTerminal.get_reference_data(index_ticker + ' INDEX','INDX_MEMBERS')
members = resp.as_frame().iloc[0,0]
问题是如何获取历史索引成员/组成部分。例如,我将生成季度日期,然后我想知道每个日期的成分列表。
['2020-06-30', '2020-03-31', '2019-12-31', '2019-09-30', '2019-06-30', '2019-03-31', '2018-12-31'...'1980-06-30',]
我尝试了许多解决方案,包括下面一个空框架的解决方案:
from tia.bbg import LocalTerminal
date_start = datetime.date(2010,6,28)
date_end = datetime.date(2020,28)
members_russell1000_3 = LocalTerminal.get_historical('RIY Index','INDX_MEMBERS',start=date_start,end=date_end,).as_frame()
或以下解决方案,无论在什么日期(现在或20年前),我都会收到相同的成分清单:
from xbbg import blp
members = blp.bds('RIY Index',DVD_Start_Dt=k[1],DVD_End_Dt=k[1])
上述示例的变量说明:
- “ RIY指数”-罗素1000指数行情指标
- 'INDX_MEMBERS'-彭博字段(flds),用于获取索引成分列表
或者,如果我能够获得具有日期的索引成分变化的历史列表(我已经有当前成分),我会很高兴
解决方法
您需要使用INDX_MWEIGHT_PX
字段和END_DATE_OVERRIDE
替代(日期格式:yyyymmdd)。这是一个参考数据请求,因此在python库中可能是bds
而不是bdh
,但我从未使用过,所以不是100%确定,您可能需要尝试一些解决方案,直到找到正确的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。