def get_yield_curve_bus_adj(date):
    data = parse_xml(get(construct_url(date.year, date.month, date.day)))
    curr_date = date
    day_adjusted = 0
    while len(data) == 0:
        if day_adjusted == go_back_days:
            raise Exception('went back '+ str(day_adjusted) + ' business days (from '+str(date)+' ), no yield data found.')

        curr_date = curr_date - timedelta(days=1)
        data = parse_xml(get(construct_url(curr_date.year, curr_date.month, curr_date.day)))
        #print(curr_date, data)
        if is_bday(curr_date):
            day_adjusted += 1
    return data
def get_yield_curve(year=None, month=None, day=None):
    if day:
        return get_yield_curve_bus_adj(datetime(year, month, day))
    return parse_xml(get(construct_url(year, month, day)))
def get_yield_curve_curr_month():
    url = 'https://www.treasury.gov/resource-center/data-chart-center/interest-rates/pages/XmlView.aspx?data=yield'
    return parse_xml(get(url))
예제 #4
0
def test_get():
    print("get xml from us treasury gov")
    url = "https://www.treasury.gov/resource-center/data-chart-center/interest-rates/pages/XmlView.aspx?data=yield"
    assert len(get(url)) > 0