Telegram Group & Telegram Channel
ХОЛОДНЫЙ РАСЧЕТ ∅
🦅 Обязательная продажа валюты не впечатлила денежный рынок Ожидания по траектории ключевой ключевой ставке до мая 2024 снизились на в пределах 0.1-0.2пп: пик все еще ~15.5% в апреле, снижение с 2кв24 🧙 Оценка ожидания по ставки из ROISfix @c0ldness
🐍 Вермишельный график ожиданий из свопов ROISfix: Рецепт приготовления

from nelson_siegel_svensson import NelsonSiegelCurve
from nelson_siegel_svensson.calibrate import calibrate_ns_ols
import numpy as np
from datetime import datetime as dt
from datetime import timedelta

df_roisfix = # IMPORT ROISFIX DATA

# FIXED EXCESS RETURN FOR FIXED LEG (ANNUALIZED)
term_prem = 0.028*12

maturities = [1/52,2/52,1/12,2/12,3/12,6/12,1,2]
li_term_prem = [x*term_prem for x in maturities]

df_roisfix_ex_exret = df_roisfix.sub(li_term_prem,axis=1).copy(deep=True)

col_mat = np.linspace(1,180,30)
col_date = df_roisfix_ex_exret_resample.index.to_list()

ix_date = pd.date_range(start=dt(2011,1,1), end=dt(2023,9,13) + timedelta(days=300),freq='D')
df_rates = pd.DataFrame(columns=col_date,index=ix_date)

for ix, row in df_roisfix_ex_exret_resample.iterrows():
try:
vals = row.dropna().values
curve_fit, status = calibrate_ns_ols(np.array( maturities[:len(vals)]),vals)
NSS_Fwd = NelsonSiegelCurve.forward(curve_fit,np.array([x/360 for x in col_mat]))
df_rates.loc[pd.date_range(start=ix+ timedelta(days=6), end=ix + timedelta(days=180),freq='6D'),ix] = NSS_Fwd
# print(ix)
except:
pass

df_rates.tail()
🫡 Спасибо за посещение нашего научного макротелеграм-семинара

@c0ldness



group-telegram.com/c0ldness/2107
Create:
Last Update:

🐍 Вермишельный график ожиданий из свопов ROISfix: Рецепт приготовления

from nelson_siegel_svensson import NelsonSiegelCurve
from nelson_siegel_svensson.calibrate import calibrate_ns_ols
import numpy as np
from datetime import datetime as dt
from datetime import timedelta

df_roisfix = # IMPORT ROISFIX DATA

# FIXED EXCESS RETURN FOR FIXED LEG (ANNUALIZED)
term_prem = 0.028*12

maturities = [1/52,2/52,1/12,2/12,3/12,6/12,1,2]
li_term_prem = [x*term_prem for x in maturities]

df_roisfix_ex_exret = df_roisfix.sub(li_term_prem,axis=1).copy(deep=True)

col_mat = np.linspace(1,180,30)
col_date = df_roisfix_ex_exret_resample.index.to_list()

ix_date = pd.date_range(start=dt(2011,1,1), end=dt(2023,9,13) + timedelta(days=300),freq='D')
df_rates = pd.DataFrame(columns=col_date,index=ix_date)

for ix, row in df_roisfix_ex_exret_resample.iterrows():
try:
vals = row.dropna().values
curve_fit, status = calibrate_ns_ols(np.array( maturities[:len(vals)]),vals)
NSS_Fwd = NelsonSiegelCurve.forward(curve_fit,np.array([x/360 for x in col_mat]))
df_rates.loc[pd.date_range(start=ix+ timedelta(days=6), end=ix + timedelta(days=180),freq='6D'),ix] = NSS_Fwd
# print(ix)
except:
pass

df_rates.tail()
🫡 Спасибо за посещение нашего научного макротелеграм-семинара

@c0ldness

BY ХОЛОДНЫЙ РАСЧЕТ ∅




Share with your friend now:
group-telegram.com/c0ldness/2107

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

This provided opportunity to their linked entities to offload their shares at higher prices and make significant profits at the cost of unsuspecting retail investors. "He has to start being more proactive and to find a real solution to this situation, not stay in standby without interfering. It's a very irresponsible position from the owner of Telegram," she said. The Russian invasion of Ukraine has been a driving force in markets for the past few weeks. Perpetrators of such fraud use various marketing techniques to attract subscribers on their social media channels. Telegram Messenger Blocks Navalny Bot During Russian Election
from vn


Telegram ХОЛОДНЫЙ РАСЧЕТ ∅
FROM American