Python – как переопределить получение Bloomberg blp.bdp (в частности, YAS_BOND_PX)Python

Программы на Python
Ответить
Anonymous
 Python – как переопределить получение Bloomberg blp.bdp (в частности, YAS_BOND_PX)

Сообщение Anonymous »

Я пытаюсь использовать bbg YAS_BOND_PX для расчета цены облигации со спредом, измененным на 75 б.п. По сути копирует функциональность экрана YAS.
Когда я запускаю приведенный ниже код, я получаю следующее:

Базовые данные:px_last BH922181 Corp 86.36
yas_bond_px BH922181 Corp 86.3595
Попытка выборки с переопределениями: {'YAS_YLD_SPREAD': '75'} Ошибка
при получении цены облигации с переопределением {'YAS_YLD_SPREAD': '75'}: данные
не возвращаются для данного тикера с переопределениями: {'YAS_YLD_SPREAD':
'75'}.
Попытка выборки с переопределениями: {'YAS_O_SPREAD': '75'} Ошибка при получении
цены облигации с переопределением {'YAS_O_SPREAD': '75'}: данные не возвращаются для
данного тикера с переопределениями: {'YAS_O_SPREAD': '75 '}.
Попытка выборки с переопределениями: {'YAS_BNCHMRK_YLD_PREC': '75'} Ошибка
при получении цены облигации с переопределением {'YAS_BNCHMRK_YLD_PREC': '75'}: данные
не возвращаются для данного тикера с переопределениями:
{'YAS_BNCHMRK_YLD_PREC ': '75'}.

Поэтому я знаю, что проблема в переопределении.
Буду очень признателен за любую помощь.
from xbbg import blp

# Define the bond ticker and desired spread
ticker = 'BH922181 Corp'

# Fetch basic price data without overrides
base_data = blp.bdp(tickers=ticker, flds='PX_LAST')
base_data2 = blp.bdp(tickers=ticker, flds='YAS_BOND_PX')
print("Base Data:")
print(base_data)
print(base_data2)

# Try other similar overrides or fields related to yield spread
overrides_list = [
{'YAS_YLD_SPREAD': '75'}, # Original attempt
{'YAS_O_SPREAD': '75'}, # Trying an OAS override for price impact
{'YAS_BNCHMRK_YLD_PREC': '75'}, # Changing yield precision
]

# Test fetching data with different overrides
for overrides in overrides_list:
try:
print(f"\nAttempting fetch with overrides: {overrides}")

# Fetch bond price with override
data = blp.bdp(tickers=ticker, flds='YAS_BOND_PX', overrides=overrides)

# Check and print result
if data.empty:
raise ValueError(f"No data returned for the given ticker with overrides: {overrides}. Please check your Bloomberg connection.")

print(f"Price with Override {overrides}:")
print(data)

except Exception as e:
print(f"Error fetching bond price with override {overrides}: {e}")


Подробнее здесь: https://stackoverflow.com/questions/792 ... as-bond-px
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»