我有以下Bloomberg BDS excel公式:(由于excel中的设置不同,“;”被替换为",“)
=@BSD(”TSLA US Equity”;”CHAIN_TICKERS”;”CHAIN_EXP_DT_OVRD=20210917”;”CHAIN_PUT_CALL_TYPE_OVRD=CALL”;”CHAIN_POINTS_OVRD=1000”)
在本例中,我从中获得了TSLA的所有看涨期权报价器的列表,到期时间为17/09/2021 (DDMMYYYY)。
在尝试将其转换为Bloomberg的XBBG API时,我做了以下工作(基于之前来自SO的有用建议):
import xbbg as blp
df = blp.bds(['TSLA US Equity'],
['CHAIN_TICKERS'],
CHAIN_EXP_DT_OVRD='CHAIN_EXP_DT_OVRD=20210917',
CHAIN_PUT_CALL_TYPE_OVRD='CHAIN_PUT_CALL_TYPE_OVRD=CALL',
CHAIN_POINTS_OVRD='CHAIN_POINTS_OVRD=1000')
但我只返回了一个数据点,而不是整个列表。
我做错了什么?
发布于 2021-08-31 13:52:52
您指定的参数不正确。该函数不理解DataFrame值,因此会回退到默认值1,这就是为什么返回的CHAIN_POINTS_OVRD只有一个值。
对于xbbg
,您通常可以提供Python类型,覆盖名称将成为bds
调用中的参数名称(没有引号)。因此,在这种情况下,日期替代可以是datetime
值,链点替代可以是数字。
from xbbg import blp
from datetime import datetime
df = blp.bds('TSLA US Equity',
'CHAIN_TICKERS',
CHAIN_EXP_DT_OVRD=datetime(2021,9,17),
CHAIN_PUT_CALL_TYPE_OVRD='CALL',
CHAIN_POINTS_OVRD=1000)
print(df)
输出:
ticker
TSLA US Equity TSLA US 09/17/21 C1
TSLA US Equity TSLA US 09/17/21 C2
TSLA US Equity TSLA US 09/17/21 C3
TSLA US Equity TSLA US 09/17/21 C4
TSLA US Equity TSLA US 09/17/21 C5
... ...
TSLA US Equity TSLA US 09/17/21 C1600
TSLA US Equity TSLA US 09/17/21 C1625
TSLA US Equity TSLA US 09/17/21 C1650
TSLA US Equity TSLA US 09/17/21 C1675
TSLA US Equity TSLA US 09/17/21 C1700
[334 rows x 1 columns]
https://stackoverflow.com/questions/68993926
复制相似问题