> For the complete documentation index, see [llms.txt](https://docs.nexus.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nexus.xyz/exchange/zh-cn/trading/trading/perpetuals/price-oracles.md).

# 价格预言机

标记价格和指数价格如何构建，以及施加在它们之上的新鲜度保护和偏离保护。

每个永续合约市场都由一个外部预言机定价，该预言机产生**标记价格**和**指数价格**。它们驱动保证金和强平。按设计，它们与订单簿上的最新成交脱钩，因此流动性稀薄的订单簿上的活动无法扭曲风险计算。

资金费是例外，这同样是有意为之。它依据**永续参考价格**（我们订单簿上近期成交的成交量加权中位数）相对于指数来定价。按其构造方式，标记价格中有95%是指数，因此以标记价格为基准衡量会将永续合约的真实偏离低估约20倍。参见“资金费率”。

### 数据源

**数据源是按市场配置的，而不是一个全交易所统一的数据源**。随着数据源被评估和切换，它会发生变化，因此请依据下面的模式，而不是任何特定供应商的名称。

每个市场都配置为以下三种模式之一：

| 模式        | 行为                         |
| --------- | -------------------------- |
| **单一数据源** | 一个已配置的发布方。如果它过期，该市场没有备用来源  |
| **故障切换**  | 一个主发布方加一个指定的备用来源，构成有序链     |
| **合成**    | 一个派生价格，用于没有外部发布方覆盖该标的资产的情况 |

**已配置的32个市场集合与已部署的集合并不具有相同的数据源构成，而且很容易把前者误认为后者**。大多数已配置的市场指定的是单一数据源。已部署的市场则随着时间推移被迁移到了**以 Pyth 为主来源的故障切换链**上，侧重点正好相反。不要根据整个配置中的数量来推断某个市场的数据源。

要了解特定市场当前的数据源和模式，请读取 `GET /markets/{market_id}/risk-params`，而不要凭假设。

每个市场的标记价格通过内部预言机服务发布到引擎中；引擎本身在交易路径上从不发起对外网络调用。

### 新鲜度保护与偏离保护

每个市场都配置了两个保护阈值（按市场设置，位于引擎配置中）：

| 保护     | 当前测试网取值                                 | 行为                     |
| ------ | --------------------------------------- | ---------------------- |
| **过期** | `oracle_staleness_seconds = 30`         | 早于该阈值的数据被视为过期。         |
| **偏离** | `oracle_deviation_threshold = 0.1`（10%） | 单次跳变超过该阈值的更新会被视为异常而拒绝。 |

单调时间戳保护（`ts ≥ last_update_time`）会拒绝乱序的更新，因此延迟到达的数据包无法覆盖更新的价格。

### 故障关闭方向

预言机正在加固以实现**故障关闭**：当数据源过期或未通过其保护检查时，安全的做法是暂停该市场中新的增加风险的操作，而不是基于可疑价格进行交易。过期处理和多数据源备用机制正在当前各发布关口中持续加强。

**除了预言机自身的保护之外，交易所还对价格设置了两重边界**：订单相对标记价格的价格区间，以及最大波动熔断机制，两者在每个市场上均已启用。[价格发现边界](/exchange/zh-cn/trading/trading/perpetuals/discovery-bounds.md)记录了这两者。

标记价格的混合方式、重新锚定规则以及过期保护，在 [Math Engine 的预言机章节](https://docs.nexus.xyz/math-engine/oracle)中有正式推导。关于哪些市场更换过数据源以及更换频率的带日期记录，请参阅[参数变更](/exchange/zh-cn/consolidated-resources/parameter-changes.md)。

> **状态**：预言机集成已在测试网上线，并启用上述保护。按市场的故障切换已部署在部分已上线市场上；每个市场的数据源分配属于配置，仍在调整中，因此请将特定的供应商搭配视为当前状态，而非最终定论。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.nexus.xyz/exchange/zh-cn/trading/trading/perpetuals/price-oracles.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
