mcpField
U
usfiscaldata

usfiscaldata

github.com/crazymsn数据与数据库2335 次安装22 周前更新
代码仓库

关于 usfiscaldata

usfiscaldata 技能用于查询美国财政部 Fiscal Data REST API,该 API 提供无需认证的联邦财政数据。内容涵盖端点、查询参数、响应处理及数据操作示例。

主要功能

  1. 01债务与财政部报表数据
  2. 02利率与汇率数据
  3. 03证券与储蓄债券数据
  4. 04字段选择、筛选与排序
  5. 05分页与响应处理
  6. 06Python、R 和 pandas 示例

适用场景

  1. 01查询当前及历史联邦债务
  2. 02分析财政部现金流与报表
  3. 03获取汇率或利率数据
  4. 04探索国债拍卖与储蓄债券数据

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/crazymsn/academic-skills --skill usfiscaldata

安装后在 Claude Code 中输入/usfiscaldata确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
api-basics.md
datasets-debt.md
datasets-fiscal.md
datasets-interest-rates.md
datasets-securities.md
examples.md
parameters.md
response-format.md

详细介绍

美国财政部财政数据 API

美国财政部提供的免费开放式 REST API,包含联邦财政数据。无需 API 密钥或注册。

基础 URL: https://api.fiscaldata.treasury.gov/services/api/fiscal_service

快速入门

import requests
import pandas as pd

BASE_URL = "https://api.fiscaldata.treasury.gov/services/api/fiscal_service"

# Get the current national debt (Debt to the Penny)
resp = requests.get(f"{BASE_URL}/v2/accounting/od/debt_to_penny", params={
    "sort": "-record_date",
    "page[size]": 1
})
data = resp.json()["data"][0]
print(f"Total public debt as of {data['record_date']}: ${float(data['tot_pub_debt_out_amt']):,.0f}")
# Get Treasury exchange rates for recent quarters
resp = requests.get(f"{BASE_URL}/v1/accounting/od/rates_of_exchange", params={
    "fields": "country_currency_desc,exchange_rate,record_date",
    "filter": "record_date:gte:2024-01-01",
    "sort": "-record_date",
    "page[size]": 100
})
df = pd.DataFrame(resp.json()["data"])

身份验证

无需身份验证。该 API 完全开放且免费。

核心参数

参数示例说明
fields=fields=record_date,tot_pub_debt_out_amt选择特定列
filter=filter=record_date:gte:2024-01-01筛选记录
sort=sort=-record_date排序(前缀 - 表示降序)
format=format=json输出格式:json、csv、xml
page[size]=page[size]=100每页记录数(默认 100)
page[number]=page[number]=2页码(从 1 开始)

筛选运算符: lt、lte、gt、gte、eq、in

# Multiple filters separated by comma
"filter=country_currency_desc:in:(Canada-Dollar,Mexico-Peso),record_date:gte:2024-01-01"

主要数据集和端点

债务
数据集端点频率
精确到美分的债务/v2/accounting/od/debt_to_penny每日
历史未偿债务/v2/accounting/od/historical_debt_outstanding每年
联邦债务明细表/v1/accounting/od/schedules_fed_debt每月
每日和每月报表
数据集端点频率
DTS 运营现金余额/v1/accounting/dts/operating_cash_balance每日
DTS 存款和取款/v1/accounting/dts/deposits_withdrawals_operating_cash每日
月度财政部报表(MTS)/v1/accounting/mts/mts_table_1(16 张表)每月
利率和汇率
数据集端点频率
美国国债平均利率/v2/accounting/od/avg_interest_rates每月
财政部公布的汇率/v1/accounting/od/rates_of_exchange每季度
公共债务利息支出/v2/accounting/od/interest_expense每月
证券和拍卖
数据集端点频率
美国国债证券拍卖数据/v1/accounting/od/auctions_query按需
美国国债证券即将举行的拍卖/v1/accounting/od/upcoming_auctions按需
平均利率/v2/accounting/od/avg_interest_rates每月
储蓄债券
数据集端点频率
I 债券利率/v2/accounting/od/i_bond_interest_rates每半年
美国财政部储蓄债券:发行、赎回和到期/v1/accounting/od/sb_issues_redemptions每月

响应结构

{
  "data": [...],
  "meta": {
    "count": 100,
    "total-count": 3790,
    "total-pages": 38,
    "labels": {"field_name": "Human Readable Label"},
    "dataTypes": {"field_name": "STRING|NUMBER|DATE|CURRENCY"},
    "dataFormats": {"field_name": "String|10.2|YYYY-MM-DD"}
  },
  "links": {"self": "...", "first": "...", "prev": null, "next": "...", "last": "..."}
}

注意: 所有值均以字符串形式返回。请根据需要转换(例如,float()、pd.to_datetime())。空值以字符串 "null" 表示。

常见模式

将所有分页加载到 DataFrame 中
def fetch_all_pages(endpoint, params=None):
    params = params or {}
    params["page[size]"] = 10000  # max size to minimize requests
    resp = requests.get(f"{BASE_URL}{endpoint}", params=params)
    result = resp.json()
    df = pd.DataFrame(result["data"])
    return df
聚合(自动求和)

省略分组字段会触发自动聚合:

# Sum all deposits/withdrawals by record_date and transaction type
resp = requests.get(f"{BASE_URL}/v1/accounting/dts/deposits_withdrawals_operating_cash", params={
    "fields": "record_date,transaction_type,transaction_today_amt"
})

参考文件

评论

支持 Markdown