LAst functions added

This commit is contained in:
james
2023-02-22 16:43:07 -05:00
parent 9927f17855
commit 6788aa2c33
5 changed files with 65 additions and 34 deletions

View File

@@ -48,7 +48,7 @@ ESTR_PARAMETER_TO_ECB_ID = {
@log_start_end(log=logger)
def plot_estr(
series_id: str = "EST.B.EU000A2X2A25.WT",
parameter: str = "EST.B.EU000A2X2A25.WT",
start_date: Optional[str] = None,
end_date: Optional[str] = None,
export: str = "",
@@ -72,7 +72,7 @@ def plot_estr(
external_axes: Optional[List[plt.Axes]]
External axes (1 axis is expected in the list)
"""
series_id = ESTR_PARAMETER_TO_ECB_ID.get(series_id, "")
series_id = ESTR_PARAMETER_TO_ECB_ID.get(parameter, "")
df = ecb_model.get_series_data(
series_id, start_date if start_date else "", end_date if end_date else ""

View File

@@ -182,7 +182,7 @@ class FixedIncomeController(BaseController):
)
elif ns_parser.source == "ECB":
ecb_view.plot_estr(
series_id=ns_parser.parameter,
parameter=ns_parser.parameter,
start_date=ns_parser.start_date,
end_date=ns_parser.end_date,
export=ns_parser.export,
@@ -729,7 +729,7 @@ class FixedIncomeController(BaseController):
)
if ns_parser:
fred_view.plot_tmc(
series_id=ns_parser.parameter,
parameter=ns_parser.parameter,
start_date=ns_parser.start_date,
end_date=ns_parser.end_date,
export=ns_parser.export,
@@ -758,7 +758,7 @@ class FixedIncomeController(BaseController):
type=str,
help="Selected Treasury Constant Maturity",
default="10_year",
choices=fred_view.FFRMC_PARAMETER_TO_FRED_ID.keys(),
choices=fred_model.FFRMC_PARAMETER_TO_FRED_ID.keys(),
)
parser.add_argument(
"-s",
@@ -781,7 +781,7 @@ class FixedIncomeController(BaseController):
)
if ns_parser:
fred_view.plot_ffrmc(
series_id=ns_parser.parameter,
parameter=ns_parser.parameter,
start_date=ns_parser.start_date,
end_date=ns_parser.end_date,
export=ns_parser.export,
@@ -1530,7 +1530,7 @@ class FixedIncomeController(BaseController):
)
if ns_parser:
fred_view.plot_tbffr(
series_id=ns_parser.parameter,
parameter=ns_parser.parameter,
start_date=ns_parser.start_date,
end_date=ns_parser.end_date,
export=ns_parser.export,

View File

@@ -5,7 +5,7 @@ import logging
import os
import pathlib
from datetime import datetime, timedelta
from typing import Dict, Optional, Tuple, List
from typing import Dict, List, Optional, Tuple
import certifi
import pandas as pd
@@ -1023,3 +1023,39 @@ def get_hqm(
console.print(f"[red]Yield data not found at {date_of_yield}.[/red]\n")
return df, date_of_yield
def get_tbffr(
parameter: str = "3_month",
start_date: Optional[str] = None,
end_date: Optional[str] = None,
) -> pd.DataFrame:
series_id = TBFFR_PARAMETER_TO_FRED_ID[parameter]
return get_series_data(series_id, start_date, end_date)
def get_icespread(
category: str = "all",
area: str = "us",
grade: str = "non_sovereign",
) -> pd.DataFrame:
return get_icebofa(data_type="spread", category=category, area=area, grade=grade)
def get_ffrmc(
parameter: str = "10_year",
start_date: Optional[str] = None,
end_date: Optional[str] = None,
) -> pd.DataFrame:
series_id = FFRMC_PARAMETER_TO_FRED_ID[parameter]
return get_series_data(series_id, start_date, end_date)
def get_tmc(
parameter: str = "10_year",
start_date: Optional[str] = None,
end_date: Optional[str] = None,
) -> pd.DataFrame:
series_id = TMC_PARAMETER_TO_FRED_ID[parameter]
return get_series_data(series_id, start_date, end_date)

View File

@@ -1470,7 +1470,7 @@ def plot_ecbmrofr(
@log_start_end(log=logger)
@check_api_key(["API_FRED_KEY"])
def plot_tmc(
series_id: str = "T10Y3M",
parameter: str = "3_month",
start_date: Optional[str] = None,
end_date: Optional[str] = None,
export: str = "",
@@ -1496,11 +1496,10 @@ def plot_tmc(
external_axes: Optional[List[plt.Axes]]
External axes (1 axis is expected in the list)
"""
if series_id in TMC_PARAMETER_TO_FRED_ID:
series_id = TMC_PARAMETER_TO_FRED_ID[series_id]
series_id = fred_model.TMC_PARAMETER_TO_FRED_ID[parameter]
df = fred_model.get_series_data(
series_id=series_id, start_date=start_date, end_date=end_date
df = fred_model.get_tmc(
parameter=parameter, start_date=start_date, end_date=end_date
)
# This plot has 1 axis
@@ -1542,7 +1541,7 @@ def plot_tmc(
@log_start_end(log=logger)
@check_api_key(["API_FRED_KEY"])
def plot_ffrmc(
series_id: str = "T10YFF",
parameter: str = "10_year",
start_date: Optional[str] = None,
end_date: Optional[str] = None,
export: str = "",
@@ -1568,12 +1567,9 @@ def plot_ffrmc(
external_axes: Optional[List[plt.Axes]]
External axes (1 axis is expected in the list)
"""
if series_id in FFRMC_PARAMETER_TO_FRED_ID:
series_id = FFRMC_PARAMETER_TO_FRED_ID[series_id]
series_id = fred_model.FFRMC_PARAMETER_TO_FRED_ID[parameter]
df = fred_model.get_series_data(
series_id=series_id, start_date=start_date, end_date=end_date
)
df = fred_model.get_ffrmc(parameter, start_date, end_date)
# This plot has 1 axis
if not external_axes:
@@ -1788,7 +1784,7 @@ def plot_usrates(
@log_start_end(log=logger)
@check_api_key(["API_FRED_KEY"])
def plot_tbffr(
series_id: str = "TB3SMFFM",
parameter: str = "TB3SMFFM",
start_date: Optional[str] = None,
end_date: Optional[str] = None,
export: str = "",
@@ -1810,11 +1806,10 @@ def plot_tbffr(
external_axes: Optional[List[plt.Axes]]
External axes (1 axis is expected in the list)
"""
if series_id in TBFFR_PARAMETER_TO_FRED_ID:
series_id = TBFFR_PARAMETER_TO_FRED_ID[series_id]
series_id = fred_model.TBFFR_PARAMETER_TO_FRED_ID[parameter]
df = fred_model.get_series_data(
series_id=series_id, start_date=start_date, end_date=end_date
df = fred_model.get_tbffr(
parameter=parameter, start_date=start_date, end_date=end_date
)
# This plot has 1 axis

View File

@@ -212,7 +212,7 @@ def test_call_func_expect_queue(expected_queue, func, queue):
"fred_view.plot_estr",
[],
dict(
series_id="total_volume",
parameter="total_volume",
start_date=MOCK_START,
end_date=MOCK_END,
export="csv",
@@ -231,7 +231,7 @@ def test_call_func_expect_queue(expected_queue, func, queue):
"ecb_view.plot_estr",
[],
dict(
series_id="total_volume",
parameter="total_volume",
start_date=MOCK_START,
end_date=MOCK_END,
export="csv",
@@ -249,7 +249,7 @@ def test_call_func_expect_queue(expected_queue, func, queue):
"fred_view.plot_sofr",
[],
dict(
series_id="180_day_average",
parameter="180_day_average",
start_date=MOCK_START,
end_date=MOCK_END,
export="csv",
@@ -267,7 +267,7 @@ def test_call_func_expect_queue(expected_queue, func, queue):
"fred_view.plot_sonia",
[],
dict(
series_id="index",
parameter="index",
start_date=MOCK_START,
end_date=MOCK_END,
export="csv",
@@ -285,7 +285,7 @@ def test_call_func_expect_queue(expected_queue, func, queue):
"fred_view.plot_ameribor",
[],
dict(
series_id="2_year_term_structure",
parameter="2_year_term_structure",
start_date=MOCK_START,
end_date=MOCK_END,
export="csv",
@@ -304,7 +304,7 @@ def test_call_func_expect_queue(expected_queue, func, queue):
"fred_view.plot_fed",
[],
dict(
series_id="monthly",
parameter="monthly",
start_date=MOCK_START,
end_date=MOCK_END,
export="csv",
@@ -342,7 +342,7 @@ def test_call_func_expect_queue(expected_queue, func, queue):
"fred_view.plot_dwpcr",
[],
dict(
series_id="annual",
parameter="annual",
start_date=MOCK_START,
end_date=MOCK_END,
export="csv",
@@ -450,7 +450,7 @@ def test_call_func_expect_queue(expected_queue, func, queue):
"fred_view.plot_tmc",
[],
dict(
series_id="3_month",
parameter="3_month",
start_date=MOCK_START,
end_date=MOCK_END,
sheet_name=None,
@@ -466,7 +466,7 @@ def test_call_func_expect_queue(expected_queue, func, queue):
"fred_view.plot_ffrmc",
[],
dict(
series_id="10_year",
parameter="10_year",
start_date=MOCK_START,
end_date=MOCK_END,
sheet_name=None,
@@ -482,7 +482,7 @@ def test_call_func_expect_queue(expected_queue, func, queue):
"fred_view.plot_tbffr",
[],
dict(
series_id="3_month",
parameter="3_month",
start_date=MOCK_START,
end_date=MOCK_END,
sheet_name=None,