Option Exercise
These five operations are both TradeApiService constants and asynchronous TradeClient convenience methods.
Exercise Check
Operation
TradeApiService.OPTION_EXERCISE_CHECK = option_exercise_check; convenience method: CheckOptionExerciseAsync.
Request
TigerRequest<OptionExerciseCheckResponse>ModelValue: OptionExerciseCheckModel.
Parameters
| SDK property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no SDK validation | see operation constraints |
Account | string (nullable) | account | null | Auto-filled if empty | If empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty |
SecretKey | string | secret_key | null | no SDK validation | see operation constraints |
ContractId | long | contract_id | CLR default; omitted during serialization | no SDK validation | see operation constraints |
Type | string | type | null | no SDK validation | see operation constraints |
Quantity | double | quantity | CLR default; omitted during serialization | no SDK validation | see operation constraints |
ExecutingDate | string | executing_date | null | no SDK validation | see operation constraints |
IsForce | bool (nullable) | is_force | null | no SDK validation | see operation constraints |
ItmRate | int (nullable) | itm_rate | null | no SDK validation | see operation constraints |
Return
OptionExerciseCheckResponse inherits TigerResponse; its data property is OptionExerciseCheckItem.
Example
OptionExerciseCheckResponse response = await tradeClient.CheckOptionExerciseAsync(1234567890L, "Exercise", 1, "2026-08-21", false);
if (!response.IsSuccess()) throw new InvalidOperationException(response.Message);Response type
OptionExerciseCheckItem? data = response?.Data; // null when response or data is absentData fields (OptionExerciseCheckItem)
| Field | API field | C# type | Description |
|---|---|---|---|
AvailableQuantity | availableQuantity | double? | Quantity available to exercise. |
Position | position | double? | Option position quantity. |
StkPosition | stkPosition | double? | Underlying stock position quantity. |
StkPositionChange | stkPositionChange | double? | Change in underlying stock position. |
StkPositionBefore | stkPositionBefore | double? | Underlying stock position before exercise. |
StkPositionAfter | stkPositionAfter | double? | Underlying stock position after exercise. |
Symbol | symbol | string | Option symbol. |
Rate limit
Base tier: 60 requests per minute.
Source and related APIs
See orders and request/response conventions.
Exercise Positions
Operation
TradeApiService.OPTION_EXERCISE_POSITION = option_exercise_position; convenience method: GetOptionExercisePositionsAsync.
Request
TigerRequest<OptionExercisePositionResponse>ModelValue: OptionExercisePositionModel.
Parameters
| SDK property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no SDK validation | see operation constraints |
Account | string (nullable) | account | null | Auto-filled if empty | If empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty |
SecretKey | string | secret_key | null | no SDK validation | see operation constraints |
Type | string | type | null | no SDK validation | see operation constraints |
Return
OptionExercisePositionResponse inherits TigerResponse; its data property is OptionExercisePositionPage.
Example
OptionExercisePositionResponse response = await tradeClient.GetOptionExercisePositionsAsync("Exercise");
if (!response.IsSuccess()) throw new InvalidOperationException(response.Message);Response type
OptionExercisePositionPage? data = response?.Data; // null when response or data is absentData fields (OptionExercisePositionPage)
| Field | API field | C# type | Description |
|---|---|---|---|
Items | items | List<OptionExercisePosition> | Exercise-position records. |
PageNum | pageNum | int? | Current page number. |
PageSize | pageSize | int? | Records per page. |
ItemCount | itemCount | int? | Total record count. |
PageCount | pageCount | int? | Total page count. |
Each OptionExercisePosition in Items:
| Field | API field | C# type | Description |
|---|---|---|---|
ContractId | contractId | long? | Option contract ID. |
Symbol | symbol | string | Option symbol. |
StkSymbol | stkSymbol | string | Underlying stock symbol. |
ExpireDate | expireDate | string | Option expiration date. |
Strike | strike | string | Option strike price. |
CallPut | callPut | string | Option call or put indicator. |
Market | market | string | Market identifier. |
AccountId | accountId | long? | Account ID. |
Position | position | double? | Option position quantity. |
AvailableQuantity | availableQuantity | double? | Quantity available to exercise. |
Rate limit
Base tier: 60 requests per minute.
Source and related APIs
See orders and request/response conventions.
Submit Exercise
Operation
TradeApiService.OPTION_EXERCISE_SUBMIT = option_exercise_submit; convenience method: SubmitOptionExerciseAsync.
Request
TigerRequest<OptionExerciseSubmitResponse>ModelValue: OptionExerciseSubmitModel.
Parameters
| SDK property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no SDK validation | see operation constraints |
Account | string (nullable) | account | null | Auto-filled if empty | If empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty |
SecretKey | string | secret_key | null | no SDK validation | see operation constraints |
ContractId | long | contract_id | CLR default; omitted during serialization | no SDK validation | see operation constraints |
Type | string | type | null | no SDK validation | see operation constraints |
Quantity | double | quantity | CLR default; omitted during serialization | no SDK validation | see operation constraints |
ExecutingDate | string | executing_date | null | no SDK validation | see operation constraints |
IsForce | bool (nullable) | is_force | null | no SDK validation | see operation constraints |
ItmRate | int (nullable) | itm_rate | null | no SDK validation | see operation constraints |
Return
OptionExerciseSubmitResponse inherits TigerResponse; its data property is object.
Example
OptionExerciseSubmitResponse response = await tradeClient.SubmitOptionExerciseAsync(1234567890L, "Exercise", 1, "2026-08-21", false);
if (!response.IsSuccess()) throw new InvalidOperationException(response.Message);Response type
object? data = response?.Data; // null when response or data is absentData fields
| Type | SDK contract |
|---|---|
object | The SDK defines no members or keys. |
Rate limit
Base tier: 60 requests per minute.
Source and related APIs
See orders and request/response conventions.
Exercise Records
Operation
TradeApiService.OPTION_EXERCISE_RECORD = option_exercise_record; convenience method: GetOptionExerciseRecordsAsync.
Request
TigerRequest<OptionExerciseRecordResponse>ModelValue: OptionExerciseRecordModel.
Parameters
| SDK property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no SDK validation | see operation constraints |
Account | string (nullable) | account | null | Auto-filled if empty | If empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty |
SecretKey | string | secret_key | null | no SDK validation | see operation constraints |
Type | string | type | null | no SDK validation | see operation constraints |
Status | string | status | null | no SDK validation | see operation constraints |
Symbol | string | symbol | null | no SDK validation | see operation constraints |
OrderBy | string | order_by | null | no SDK validation | see operation constraints |
Page | int | page | 1 | no SDK validation | see operation constraints |
Size | int | size | 20 | no SDK validation | see operation constraints |
Return
OptionExerciseRecordResponse inherits TigerResponse; its data property is OptionExerciseRecordPage.
Example
OptionExerciseRecordResponse response = await tradeClient.GetOptionExerciseRecordsAsync(page: 1, size: 20);
if (!response.IsSuccess()) throw new InvalidOperationException(response.Message);Response type
OptionExerciseRecordPage? data = response?.Data; // null when response or data is absentData fields (OptionExerciseRecordPage)
| Field | API field | C# type | Description |
|---|---|---|---|
Items | items | List<OptionExerciseRecord> | Exercise records. |
PageNum | pageNum | int? | Current page number. |
PageSize | pageSize | int? | Records per page. |
ItemCount | itemCount | int? | Total record count. |
PageCount | pageCount | int? | Total page count. |
Each OptionExerciseRecord in Items:
| Field | API field | C# type | Description |
|---|---|---|---|
Id | id | long? | Exercise record ID. |
AccountId | accountId | long? | Account ID. |
ContractId | contractId | long? | Option contract ID. |
Symbol | symbol | string | Option symbol. |
StkSymbol | stkSymbol | string | Underlying stock symbol. |
ExpireDate | expireDate | string | Option expiration date. |
Strike | strike | string | Option strike price. |
CallPut | callPut | string | Option call or put indicator. |
Type | type | string | Exercise or expiration type. |
RequestQuantity | requestQuantity | double? | Requested exercise quantity. |
Quantity | quantity | double? | Processed quantity. |
Status | status | string | Exercise record status. |
ExecutingDate | executingDate | string | Scheduled execution date. |
ItmRate | itmRate | int? | In-the-money rate. |
IsForce | isForce | bool? | Whether the request was forced. |
Reason | reason | string | Status reason. |
Rate limit
Base tier: 60 requests per minute.
Source and related APIs
See orders and request/response conventions.
Cancel Exercise
Operation
TradeApiService.OPTION_EXERCISE_CANCEL = option_exercise_cancel; convenience method: CancelOptionExerciseAsync.
Request
TigerRequest<OptionExerciseCancelResponse>ModelValue: OptionExerciseCancelModel.
Parameters
| SDK property | C# type | API field | SDK default | Required | Constraints |
|---|---|---|---|---|---|
Lang | Language | lang | CLR default; omitted during serialization | no SDK validation | see operation constraints |
Account | string (nullable) | account | null | Auto-filled if empty | If empty, TradeClient injects TigerConfig.DefaultAccount; validation fails if it remains empty |
SecretKey | string | secret_key | null | no SDK validation | see operation constraints |
Id | long | id | CLR default; omitted during serialization | no SDK validation | see operation constraints |
Return
OptionExerciseCancelResponse inherits TigerResponse; its data property is object.
Example
OptionExerciseCancelResponse response = await tradeClient.CancelOptionExerciseAsync(1234567890L);
if (!response.IsSuccess()) throw new InvalidOperationException(response.Message);Response type
object? data = response?.Data; // null when response or data is absentData fields
| Type | SDK contract |
|---|---|
object | The SDK defines no members or keys. |
Rate limit
Base tier: 60 requests per minute.
Source and related APIs
See orders and request/response conventions.
Updated 23 days ago
