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: |

"The inflation fire was already hot and now with war-driven inflation added to the mix, it will grow even hotter, setting off a scramble by the world’s central banks to pull back their stimulus earlier than expected," Chris Rupkey, chief economist at FWDBONDS, wrote in an email. "A spike in inflation rates has preceded economic recessions historically and this time prices have soared to levels that once again pose a threat to growth." In a message on his Telegram channel recently recounting the episode, Durov wrote: "I lost my company and my home, but would do it again – without hesitation." But the Ukraine Crisis Media Center's Tsekhanovska points out that communications are often down in zones most affected by the war, making this sort of cross-referencing a luxury many cannot afford. Investors took profits on Friday while they could ahead of the weekend, explained Tom Essaye, founder of Sevens Report Research. Saturday and Sunday could easily bring unfortunate news on the war front—and traders would rather be able to sell any recent winnings at Friday’s earlier prices than wait for a potentially lower price at Monday’s open. A Russian Telegram channel with over 700,000 followers is spreading disinformation about Russia's invasion of Ukraine under the guise of providing "objective information" and fact-checking fake news. Its influence extends beyond the platform, with major Russian publications, government officials, and journalists citing the page's posts.
from kr


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