期权行权
行权检查
功能说明
行权检验(预估行权/作废后正股持仓变化)。 对应 API method: option_exercise_check。 客户端会空账户字段由客户端填入默认账户。
方法签名
func (c *TradeClient) OptionExerciseCheck(req model.OptionExerciseCheckRequest) (*model.OptionExerciseCheckResult, error)需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。
参数
model.OptionExerciseCheckRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Type | string | 否 | 空值省略 | 无;Exercise |
ExecutingDate | string | 否 | 空值省略 | 无;yyyy-MM-dd,Exercise 类型建议填 |
IsForce | *bool | 否 | 空值省略 | 无;Exercise 类型建议填 |
ItmRate | *int | 否 | 空值省略 | 无;0–10,Expire 类型专用 |
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
返回
(*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,
"exerciseLimit": 10
}获取行权持仓
功能说明
查询可行权持仓列表。 对应 API method: option_exercise_position。 客户端会空账户字段由客户端填入默认账户。
方法签名
func (c *TradeClient) OptionExercisePositions(req model.OptionExercisePositionRequest) (*model.OptionExercisePositionPageResult, error)需要配置中可访问的交易账户。机构账户可通过 SecretKey 鉴权。
参数
model.OptionExercisePositionRequest
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
Type | string | 否 | 空值省略 | 无;Exercise |
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
返回
(*model.OptionExercisePositionPageResult, error)。关键字段来自 model.OptionExercisePositionPageResult:
| 字段 | 类型 | 说明 |
|---|---|---|
| PageNum | int | 当前页码 |
| PageSize | int | 每页大小 |
| ItemCount | int | 总记录数 |
| PageCount | int | 总页数 |
| Items | []OptionExercisePosition | 可行权持仓列表 |
示例
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": [
{
"identifier": "AAPL 250815C00300000",
"symbol": "AAPL",
"expiry": "2025-08-15",
"strike": 300.0,
"right": "CALL",
"position": 10,
"exerciseQuantity": 0
}
]
}提交行权
功能说明
提交行权或作废申请。 对应 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 |
ExecutingDate | string | 条件必填 | 空值省略 | 无;Exercise 必填,yyyy-MM-dd;Type=Exercise 时必填;yyyy-MM-dd |
IsForce | *bool | 条件必填 | 空值省略 | 无;Exercise 必填;Type=Exercise 时必填 |
ItmRate | *int | 否 | 空值省略 | 无;0–10,Expire 专用;Type=Expire 专用;0-10 |
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
返回
(bool, error);true 表示服务端接受操作。
示例
result, err := tc.OptionExerciseSubmit(model.OptionExerciseSubmitRequest{
Account: "U123456",
ContractId: 123456,
Type: "Exercise",
Quantity: 1,
ExecutingDate: "2025-06-20",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
true获取行权记录
功能说明
分页查询已提交的行权记录。 对应 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 |
OrderBy | string | 否 | 空值省略 | 无;symbol |
Lang | string | 否 | 空值省略 | 无;可选值:zh_CN, zh_TW, en_US |
返回
(*model.OptionExerciseRecordPageResult, error)。关键字段来自 model.OptionExerciseRecordPageResult:
| 字段 | 类型 | 说明 |
|---|---|---|
| PageNum | int | 当前页码 |
| PageSize | int | 每页大小 |
| ItemCount | int | 总记录数 |
| PageCount | int | 总页数 |
| Items | []OptionExerciseRecord | 行权记录列表 |
示例
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,
"identifier": "AAPL 250815C00300000",
"symbol": "AAPL",
"expiry": "2025-08-15",
"strike": 300.0,
"right": "CALL",
"quantity": 5,
"status": "Submitted",
"createTime": 1785528000000
}
]
}取消行权
功能说明
撤销行权申请。 对应 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 |
返回
(bool, error);true 表示服务端接受操作。
示例
result, err := tc.OptionExerciseCancel(model.OptionExerciseCancelRequest{
Account: "U123456",
Lang: "en_US",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%#v\n", result)返回示例
trueUpdated 8 days ago
