期权行权
行权检查
功能说明
行权检验(预估行权/作废后正股持仓变化)。 对应 API method: option_exercise_check。 客户端会空账户字段由客户端填入默认账户。
方法签名
func (c *TradeClient) OptionExerciseCheck(req model.OptionExerciseCheckRequest) (*model.OptionExerciseCheckResult, error)需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。
参数
model.OptionExerciseCheckRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Type | string | 是 | 空值省略 | Exercise 或 Expire |
ExecutingDate | string | 否 | 空值省略 | 无;yyyy-MM-dd,Exercise 类型建议填 |
IsForce | *bool | 否 | 空值省略 | 无;Exercise 类型建议填 |
ItmRate | *int | 否 | 空值省略 | 无;0–10,Expire 类型专用 |
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
Account | string | 否 | 空值时使用客户端默认账户 | 交易账户;留空时使用客户端默认账户 |
SecretKey | string | 否 | 空值时可使用客户端配置 | 机构账户鉴权密钥;客户端已配置时可自动填充 |
ContractId | int64 | 是 | 零值时省略 | 合约 ID |
Quantity | float64 | 是 | 零值时省略 | 行权或作废数量 |
返回
(*model.OptionExerciseCheckResult, error)。关键字段来自 model.OptionExerciseCheckResult:
| 字段 | 类型 | 说明 |
|---|---|---|
| AvailableQuantity | float64 | 可行权数量 |
| Position | float64 | 期权持仓数量 |
| StkPosition | float64 | 正股持仓 |
| StkPositionChange | float64 | 正股持仓变化 |
| StkPositionBefore | float64 | 行权前正股持仓 |
| StkPositionAfter | float64 | 行权后正股持仓 |
| Symbol | string | 股票代码 |
示例
result, err := tc.OptionExerciseCheck(model.OptionExerciseCheckRequest{
Account: "U123456",
ContractId: 123456,
Type: "Exercise",
Quantity: 1,
ExecutingDate: "2025-06-20",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
{
"availableQuantity": 5,
"position": 10,
"stkPosition": 0,
"stkPositionChange": 100,
"stkPositionBefore": 0,
"stkPositionAfter": 100,
"symbol": "AAPL"
}调用频率
基础限流为 60 次/分钟。
获取行权持仓
功能说明
查询可行权持仓列表。 对应 API method: option_exercise_position。 客户端会空账户字段由客户端填入默认账户。
方法签名
func (c *TradeClient) OptionExercisePositions(req model.OptionExercisePositionRequest) (*model.OptionExercisePositionPageResult, error)需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。
参数
model.OptionExercisePositionRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Type | string | 是 | 空值省略 | Exercise 或 Expire |
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
Account | string | 否 | 空值时使用客户端默认账户 | 交易账户;留空时使用客户端默认账户 |
SecretKey | string | 否 | 空值时可使用客户端配置 | 机构账户鉴权密钥;客户端已配置时可自动填充 |
返回
(*model.OptionExercisePositionPageResult, error)。关键字段来自 model.OptionExercisePositionPageResult:
| 字段 | 类型 | 说明 |
|---|---|---|
| PageNum | int | 当前页码 |
| PageSize | int | 每页大小 |
| ItemCount | int | 总记录数 |
| PageCount | int | 总页数 |
| Items | []OptionExercisePosition | 可行权持仓列表 |
OptionExercisePosition 字段 | 类型 | 说明 |
|---|---|---|
| ContractId | int64 | 合约 ID |
| Symbol | string | 期权代码 |
| StkSymbol | string | 正股代码 |
| ExpireDate | string | 到期日 |
| Strike | string | 行权价 |
| CallPut | string | 看涨或看跌方向 |
| Market | string | 市场 |
| AccountId | int64 | 账户数字 ID |
| Position | float64 | 持仓数量 |
| AvailableQuantity | float64 | 可用数量 |
示例
result, err := tc.OptionExercisePositions(model.OptionExercisePositionRequest{
Account: "U123456",
Type: "Exercise",
Lang: "en_US",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
{
"pageNum": 1,
"pageSize": 20,
"itemCount": 1,
"pageCount": 1,
"items": [
{
"contractId": 55678,
"symbol": "AAPL",
"stkSymbol": "AAPL",
"expireDate": "20250815",
"strike": "300",
"callPut": "CALL",
"market": "US",
"accountId": 123,
"position": 10,
"availableQuantity": 10
}
]
}调用频率
基础限流为 60 次/分钟。
提交行权
功能说明
提交行权或作废申请。对应 API method: option_exercise_submit。Exercise 类型:ExecutingDate 和 IsForce 必填。Expire 类型:ItmRate 必填(0–10)。客户端会为空账户字段填入默认账户。
方法签名
func (c *TradeClient) OptionExerciseSubmit(req model.OptionExerciseSubmitRequest) (bool, error)需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。
参数
model.OptionExerciseSubmitRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Type | string | 是 | 空值省略 | Exercise 或 Expire |
ExecutingDate | string | 条件必填 | 空值省略 | 无;Exercise 必填,yyyy-MM-dd;Type=Exercise 时必填;yyyy-MM-dd |
IsForce | *bool | 条件必填 | 空值省略 | 无;Exercise 必填;Type=Exercise 时必填 |
ItmRate | *int | 条件必填 | 空值省略 | Type=Expire 时必填,范围 0–10 |
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
Account | string | 否 | 空值时使用客户端默认账户 | 交易账户;留空时使用客户端默认账户 |
SecretKey | string | 否 | 空值时可使用客户端配置 | 机构账户鉴权密钥;客户端已配置时可自动填充 |
ContractId | int64 | 是 | 零值时省略 | 合约 ID |
Quantity | float64 | 是 | 零值时省略 | 行权或作废数量 |
返回
(bool, error);true 表示服务端接受操作。
示例
isForce := false
result, err := tc.OptionExerciseSubmit(model.OptionExerciseSubmitRequest{
Account: "U123456",
ContractId: 123456,
Type: "Exercise",
Quantity: 1,
ExecutingDate: "2025-06-20",
IsForce: &isForce,
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
true调用频率
基础限流为 60 次/分钟。
获取行权记录
功能说明
分页查询已提交的行权记录。 对应 API method: option_exercise_record。 客户端会空账户字段由客户端填入默认账户。
方法签名
func (c *TradeClient) OptionExerciseRecords(req model.OptionExercisePageRequest) (*model.OptionExerciseRecordPageResult, error)需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。
参数
model.OptionExercisePageRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Page | int | 否 | 空值省略 | 无;从 1 开始,默认 1;从 1 开始;服务端默认 1 |
Size | int | 否 | 空值省略 | 无;1–100,默认 20;1-100;服务端默认 20 |
Status | string | 否 | 空值省略 | 无;New |
Type | string | 否 | 空值省略 | Exercise 或 Expire |
OrderBy | string | 否 | 空值省略 | 无;symbol |
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
Account | string | 否 | 空值时使用客户端默认账户 | 交易账户;留空时使用客户端默认账户 |
SecretKey | string | 否 | 空值时可使用客户端配置 | 机构账户鉴权密钥;客户端已配置时可自动填充 |
Symbol | string | 否 | 空值时省略 | 标的代码 |
返回
(*model.OptionExerciseRecordPageResult, error)。关键字段来自 model.OptionExerciseRecordPageResult:
| 字段 | 类型 | 说明 |
|---|---|---|
| PageNum | int | 当前页码 |
| PageSize | int | 每页大小 |
| ItemCount | int | 总记录数 |
| PageCount | int | 总页数 |
| Items | []OptionExerciseRecord | 行权记录列表 |
OptionExerciseRecord 字段 | 类型 | 说明 |
|---|---|---|
| Id | int64 | 记录 ID |
| ContractId | int64 | 合约 ID |
| Symbol | string | 期权代码 |
| StkSymbol | string | 正股代码 |
| ExpireDate | string | 到期日 |
| Strike | string | 行权价 |
| CallPut | string | 看涨或看跌方向 |
| Type | string | 申请类型 |
| RequestQuantity | float64 | 申请数量 |
| Quantity | float64 | 执行数量 |
| Status | string | 状态 |
| ExecutingDate | string | 执行日期 |
| ItmRate | int | 价内比例 |
| IsForce | bool | 是否强制执行 |
| Reason | string | 原因 |
| AccountId | int64 | 账户数字 ID |
示例
result, err := tc.OptionExerciseRecords(model.OptionExercisePageRequest{
Account: "U123456",
Page: 1,
Size: 20,
Type: "Exercise",
Symbol: "AAPL",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
{
"pageNum": 1,
"pageSize": 20,
"itemCount": 1,
"pageCount": 1,
"items": [
{
"id": 998877,
"contractId": 55678,
"symbol": "AAPL",
"stkSymbol": "AAPL",
"expireDate": "20250815",
"strike": "300",
"callPut": "CALL",
"type": "Exercise",
"requestQuantity": 5,
"quantity": 5,
"status": "New",
"executingDate": "2025-08-15",
"itmRate": 0,
"isForce": false,
"reason": "",
"accountId": 123
}
]
}调用频率
基础限流为 60 次/分钟。
取消行权
功能说明
撤销行权申请。 对应 API method: option_exercise_cancel。 客户端会空账户字段由客户端填入默认账户。
方法签名
func (c *TradeClient) OptionExerciseCancel(req model.OptionExerciseCancelRequest) (bool, error)需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。
参数
model.OptionExerciseCancelRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
Account | string | 否 | 空值时使用客户端默认账户 | 交易账户;留空时使用客户端默认账户 |
SecretKey | string | 否 | 空值时可使用客户端配置 | 机构账户鉴权密钥;客户端已配置时可自动填充 |
Id | int64 | 是 | 零值时省略 | 行权申请记录 ID |
返回
(bool, error);true 表示服务端接受操作。
示例
result, err := tc.OptionExerciseCancel(model.OptionExerciseCancelRequest{
Account: "U123456",
Id: 998877,
Lang: "en_US",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
true调用频率
基础限流为 60 次/分钟。
Updated 6 days ago
