跳到主要内容

持仓

获取持仓列表

检索您的持仓的分页列表,支持筛选和搜索选项。

端点: GET /api/v1/positions

查询参数:

参数类型描述
statusstring按持仓状态筛选(open, closed, settled)
pagenumber分页页码
pageSizenumber每页结果数量

持仓状态

持仓可以有以下状态:

状态描述
open持仓活跃,有未实现盈亏
closed持仓已关闭,利润已实现
settled市场已完成结果处理,持仓自动结算

理解持仓

持仓代表您在特定市场结果中的持有。关键属性包括:

  • 结果 ID:您交易的特定结果
  • 数量:持有的份额数量
  • 平均价格:您的平均入场价格
  • 当前价格:最新市场价格
  • 未实现盈亏:当前盈亏(开放持仓)
  • 已实现盈亏:实际盈亏(已关闭持仓)

代码示例

获取所有开放持仓

const API_KEY = 'YOUR_API_KEY';
const BASE_URL = 'https://engine.xmarket.app/api/v1';

async function getOpenPositions() {
const response = await fetch(
`${BASE_URL}/positions?status=open&pageSize=50`,
{
headers: {
'x-api-key': API_KEY,
'Content-Type': 'application/json'
}
}
);

const data = await response.json();
return data.items;
}

// 示例用法
const positions = await getOpenPositions();
positions.forEach(position => {
console.log(`Market: ${position.market.name}`);
console.log(`Outcome: ${position.outcome.name}`);
console.log(`Quantity: ${position.quantity}`);
console.log(`Unrealized P&L: ${position.unrealizedPnL}`);
console.log('---');
});

计算总投资组合价值

async function getPortfolioSummary() {
const response = await fetch(
`${BASE_URL}/positions?status=open&pageSize=1000`,
{
headers: {
'x-api-key': API_KEY,
'Content-Type': 'application/json'
}
}
);

const data = await response.json();
const positions = data.items;

const totalValue = positions.reduce((sum, pos) => {
return sum + (pos.quantity * pos.currentPrice);
}, 0);

const totalUnrealizedPnL = positions.reduce((sum, pos) => {
return sum + pos.unrealizedPnL;
}, 0);

return {
positionCount: positions.length,
totalValue,
totalUnrealizedPnL,
markets: [...new Set(positions.map(p => p.market.id))].length
};
}

// 示例用法
const summary = await getPortfolioSummary();
console.log(`Active Positions: ${summary.positionCount}`);
console.log(`Total Value: $${summary.totalValue.toFixed(2)}`);
console.log(`Total Unrealized P&L: $${summary.totalUnrealizedPnL.toFixed(2)}`);
console.log(`Markets: ${summary.markets}`);

常见用例

投资组合仪表板

获取所有开放持仓以在仪表板中显示当前持有、价值和未实现盈亏。

持仓监控

通过定期轮询持仓端点,根据未实现盈亏阈值设置提醒。

业绩分析

分析已关闭持仓以计算历史业绩指标和胜率。

市场敞口

通过聚合持仓价值计算不同市场类别的敞口。

相关文档