跳转到内容

YIELD_LAST

YIELD_LAST 表示 last 口径对应的收益率历史数据。它主要用于固定收益产品,不应用普通股票价格思维理解。

官方参考:Historical Bar Data

app.reqHistoricalData(
1015,
contract,
"",
"1 M",
"1 day",
"YIELD_LAST",
1,
1,
False,
[],
)

如果你的报表同时展示债券价格和收益率,建议把 YIELD_LAST 存在独立字段中,例如:

row = {
"date": bar.date,
"yield_last": float(bar.close),
"data_type": "YIELD_LAST",
}

这样可以避免后续图表、回测或导出报表把收益率误显示为价格。

如果用普通股票请求,常见结果是没有对应收益率历史数据,例如:

BAR_TOTAL_COUNT=reqId=4215;name=yield_last;count=0
ERROR=reqId=4215;name=yield_last;code=162;msg=历史市场数据服务错误消息:No historical market data for AAPL/STK@NASDAQBBO LastYield 1d

这说明 YIELD_LAST 不是股票 last price 的替代写法。股票成交价历史数据应使用 TRADES