资产与持仓

获取持仓

功能说明

查询持仓。支持按 Symbol / SecType / Currency / Market 等过滤。 方法签名

func (c *TradeClient) Positions(req model.PositionsRequest) ([]model.Position, error)

需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。

参数

model.PositionsRequest

参数类型必填默认值说明
Accountstring空值时使用客户端默认账户交易账户 ID
SecretKeystring空值省略机构账户鉴权密钥
Symbolstring空值省略标的代码
SecTypestring空值省略无;可选值:ALL, STK, OPT, WAR, IOPT, FUT, FOP, CASH, MLEG, FUND
Currencystring空值省略无;可选值:ALL, USD, HKD, CNH, SGD
Marketstring空值省略无;可选值:ALL, US, HK, CN, SG
SubAccounts[]string空值省略子账户列表
Expirystring空值省略到期日
Strikestring空值省略行权价
Rightstring空值省略无;可选值:PUT, CALL (option side); br, nr when used as quote adjustment
AssetQuoteTypestring空值省略资产报价类型
Langstring空值省略无;可选值:zh_CN, zh_TW, en_US

返回

([]model.Position, error)。关键字段来自 model.Position

字段类型说明
Accountstring账户 ID
Symbolstring股票代码
SecTypestring证券类型
Marketstring市场
Currencystring币种
Positionint64持仓数量
PositionScaleint持仓精度
PositionQtyfloat64持仓数量(含精度)
SalableQtyfloat64可卖数量
AverageCostfloat64持仓均价
AverageCostByAveragefloat64按均价法计算的持仓均价
AverageCostOfCarryfloat64持仓成本(含利息)
MarketValuefloat64持仓市值
RealizedPnlfloat64已实现盈亏
RealizedPnlByAveragefloat64按均价法计算的已实现盈亏
UnrealizedPnlfloat64未实现盈亏
UnrealizedPnlByAveragefloat64按均价法计算的未实现盈亏
UnrealizedPnlByCostOfCarryfloat64按持仓成本计算的未实现盈亏
UnrealizedPnlPercentfloat64未实现盈亏比例
UnrealizedPnlPercentByAveragefloat64按均价法计算的未实现盈亏比例
UnrealizedPnlPercentByCostOfCarryfloat64按持仓成本计算的未实现盈亏比例
ContractIdint64合约 ID
Identifierstring合约标识符
Namestring合约名称
LatestPricefloat64最新价
LastClosePricefloat64昨收价
Multiplierfloat64合约乘数
Statusint状态
UpdateTimestampint64更新时间,毫秒时间戳
MmPercentfloat64维持保证金比例
MmValuefloat64维持保证金值
TodayPnlfloat64今日盈亏
TodayPnlPercentfloat64今日盈亏比例
ComboTypes[]string组合类型
Categories[]string分类列表

示例

result, err := tc.Positions(model.PositionsRequest{
	Account: "U123456",
	Symbol: "AAPL",
	SecType: "STK",
	Currency: "USD",
	Market: "US",
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)

返回示例

[
  {
    "symbol": "AAPL",
    "secType": "STK",
    "market": "US",
    "currency": "USD",
    "position": 100,
    "averageCost": 150.25,
    "latestPrice": 308.91,
    "marketValue": 30891.00,
    "unrealizedPnl": 15866.00,
    "realizedPnl": 0.0,
    "account": "12345678"
  },
  {
    "symbol": "MSFT",
    "secType": "STK",
    "market": "US",
    "currency": "USD",
    "position": 50,
    "averageCost": 380.50,
    "latestPrice": 425.30,
    "marketValue": 21265.00,
    "unrealizedPnl": 2240.00,
    "realizedPnl": 0.0,
    "account": "12345678"
  }
]

调用频率

基础限流为 60 次/分钟


获取环球账户资产

功能说明

查询环球账户资产。综合/模拟账户虽可调用,但多数字段为空,建议使用 PrimeAssets。支持子账户列表、按市场/币种聚合等选项。 方法签名

func (c *TradeClient) Assets(req model.AssetsRequest) ([]model.Asset, error)

需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。

参数

model.AssetsRequest

参数类型必填默认值说明
Accountstring空值时使用客户端默认账户交易账户 ID
SecretKeystring空值省略机构账户鉴权密钥
Segmentboolfalse 时省略是否返回分品种资产
MarketValueboolfalse 时省略是否返回市值数据
SubAccounts[]string空值省略子账户列表
BaseCurrencystring空值省略基础币种
Consolidated*boolnil 时省略是否合并展示资产;指针可区分显式 false 与省略
Langstring空值省略无;可选值:zh_CN, zh_TW, en_US

返回

([]model.Asset, error)。关键字段来自 model.Asset

字段类型说明
Accountstring账户 ID
Capabilitystring账户类型
Currencystring币种
BuyingPowerfloat64购买力
CashValuefloat64现金余额
NetLiquidationfloat64总资产(净清算值)
RealizedPnLfloat64已实现盈亏
UnrealizedPnLfloat64未实现盈亏
Segments[]AssetSegment分品种资产列表
AssetSegment 字段类型说明
Accountstring账户 ID
Categorystring分段类别
Titlestring分段名称
NetLiquidationfloat64净清算值
CashValuefloat64现金余额
AvailableFundsfloat64可用资金
EquityWithLoanfloat64含贷款权益
ExcessLiquidityfloat64超额流动性
AccruedCashfloat64应计现金
AccruedDividendfloat64应计股息
InitMarginReqfloat64初始保证金要求
MaintMarginReqfloat64维持保证金要求
GrossPositionValuefloat64持仓总市值
Leveragefloat64杠杆率

示例

result, err := tc.Assets(model.AssetsRequest{
	Account: "U123456",
	Lang: "en_US",
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)

返回示例

{
  "account": "12345678",
  "netLiquidation": 125000.00,
  "equityWithLoan": 125000.00,
  "initMarginReq": 35000.00,
  "maintMarginReq": 28000.00,
  "availableFunds": 90000.00,
  "excessLiquidity": 97000.00,
  "buyingPower": 270000.00,
  "cashValue": 50000.00,
  "grossPositionValue": 75000.00,
  "unrealizedPnl": 18106.00,
  "realizedPnl": 3250.00
}

调用频率

基础限流为 60 次/分钟


获取综合/模拟账户资产

功能说明

查询综合/模拟账户资产。 客户端会空账户字段由客户端填入默认账户。

方法签名

func (c *TradeClient) PrimeAssets(req model.AssetsRequest) (*model.PrimeAsset, error)

需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。

参数

model.AssetsRequest

参数类型必填默认值说明
Accountstring空值时使用客户端默认账户交易账户 ID
SecretKeystring空值时使用客户端配置机构账户鉴权密钥
Segmentboolfalse 时省略AssetsRequest 兼容字段;PrimeAssets 返回本身已按分段组织,通常无需设置
MarketValueboolfalse 时省略AssetsRequest 兼容字段;综合账户响应是否采用该开关取决于 API
SubAccounts[]string空值省略子账户列表;机构账户查询适用
BaseCurrencystring空值省略基础币种;综合账户响应是否采用该字段取决于 API
Consolidated*boolnil 时省略是否合并展示资产;指针可区分显式 false 与省略,综合账户适用
Langstring空值省略无;可选值:zh_CN, zh_TW, en_US

返回

(*model.PrimeAsset, error)。关键字段来自 model.PrimeAsset

字段类型说明
AccountIDstring账户 ID
UpdateTimestampint64更新时间戳
Segments[]PrimeAssetSegment分品种资产列表
PrimeAssetSegment 字段类型说明
Capabilitystring账户能力类型
Categorystring分段类别
Currencystring币种
CashBalancefloat64现金余额
CashAvailableForTradefloat64可交易现金
GrossPositionValuefloat64持仓总市值
EquityWithLoanfloat64含贷款权益
NetLiquidationfloat64净清算值
InitMarginfloat64初始保证金
MaintainMarginfloat64维持保证金
OvernightMarginfloat64隔夜保证金
UnrealizedPLfloat64未实现盈亏
UnrealizedPLByCostOfCarryfloat64按持仓成本计算的未实现盈亏
RealizedPLfloat64已实现盈亏
TotalTodayPLfloat64今日总盈亏
ExcessLiquidationfloat64超额流动性
OvernightLiquidationfloat64隔夜流动性
BuyingPowerfloat64购买力
LockedFundsfloat64冻结资金
Leveragefloat64杠杆率
Uncollectedfloat64未结算资金
CurrencyAssets[]CurrencyAsset分币种资产
ConsolidatedSegTypes[]string已合并的分段类型
CurrencyAsset 字段类型说明
Currencystring币种
CashBalancefloat64现金余额
CashAvailableForTradefloat64可交易现金
ForexRatefloat64汇率

示例

result, err := tc.PrimeAssets(model.AssetsRequest{
	Account: "U123456",
	Lang: "en_US",
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)

返回示例

{
  "account": "12345678",
  "totalAssets": 125000.00,
  "netLiquidation": 125000.00,
  "totalCashValue": 50000.00,
  "stockMarketValue": 75000.00,
  "optionMarketValue": 0.0,
  "futureMarketValue": 0.0,
  "unrealizedPnl": 18106.00,
  "realizedPnl": 3250.00
}

调用频率

基础限流为 60 次/分钟


获取历史资产分析

功能说明

按日资产分析(P&L / 净值曲线 / 持仓价值)。 方法签名

func (c *TradeClient) AnalyticsAsset(req model.AnalyticsAssetRequest) ([]model.AnalyticsAsset, error)

需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。

参数

model.AnalyticsAssetRequest

参数类型必填默认值说明
Accountstring空值时使用客户端默认账户交易账户 ID
SubAccountstring空值省略单个子账户
SecretKeystring空值省略机构账户鉴权密钥
SegTypestring空值省略无;可选值:ALL, SEC, FUT, FUND
Currencystring空值省略无;可选值:ALL, USD, HKD, CNH, SGD
SubAccounts[]string空值省略子账户列表
StartDatestring空值省略无;yyyy-MM-dd
EndDatestring空值省略无;yyyy-MM-dd
Langstring空值省略无;可选值:zh_CN, zh_TW, en_US

返回

([]model.AnalyticsAsset, error)。关键字段来自 model.AnalyticsAsset

字段类型说明
Datestring日期
HoldingValuefloat64持仓市值
CashBalancefloat64现金余额
Pnlfloat64盈亏
PnlRatefloat64盈亏率
NetValueIndexfloat64净值指数
Currencystring币种
SegTypestring品种类型

示例

result, err := tc.AnalyticsAsset(model.AnalyticsAssetRequest{
	Account: "U123456",
	Currency: "USD",
	StartDate: "2025-01-01",
	EndDate: "2025-01-31",
	Lang: "en_US",
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)

返回示例

{
  "account": "12345678",
  "summary": {
    "netLiquidation": 125000.00,
    "totalCashValue": 50000.00,
    "grossPositionValue": 75000.00,
    "unrealizedPnl": 18106.00,
    "realizedPnl": 3250.00
  },
  "segments": [
    {"secType": "STK", "marketValue": 75000.00, "unrealizedPnl": 18106.00}
  ]
}

获取聚合资产

功能说明

综合账户 base_currency 维度资产汇总。 客户端会空账户字段由客户端填入默认账户。

方法签名

func (c *TradeClient) AggregateAssets(req model.AggregateAssetsRequest) (*model.AggregateAssets, error)

需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。

参数

model.AggregateAssetsRequest

参数类型必填默认值说明
Accountstring空值时使用客户端默认账户交易账户 ID
SecretKeystring空值省略机构账户鉴权密钥
SegTypestring空值省略无;可选值:ALL, SEC, FUT, FUND
BaseCurrencystring空值省略基础币种
Langstring空值省略无;可选值:zh_CN, zh_TW, en_US

返回

(*model.AggregateAssets, error)。关键字段来自 model.AggregateAssets

字段类型说明
AccountIDstring账户 ID
NetLiquidationfloat64总资产(净清算值)
GrossPositionValuefloat64证券总市值
CashBalancefloat64现金余额
BaseCurrencystring基础币种
CurrencyAssets[]CurrencyAsset分币种资产列表

CurrencyAsset 字段:

字段类型说明
Currencystring币种
CashBalancefloat64现金余额
CashAvailableForTradefloat64可交易现金
ForexRatefloat64汇率

示例

result, err := tc.AggregateAssets(model.AggregateAssetsRequest{
	Account: "U123456",
	Lang: "en_US",
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)

返回示例

[
  {
    "account": "12345678",
    "accountType": "STANDARD",
    "netLiquidation": 125000.00,
    "totalCashValue": 50000.00,
    "currency": "USD"
  }
]

调用频率

基础限流为 60 次/分钟



Did this page help you?