Extend semi-auto with ITM/ATM/OTM, offset, and 1:4 sizing.

Moneyness and perp:option units are plan-only; OTM enforces leverage >=180.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-08-08 11:42:57 +08:00
parent 4585dba3c3
commit 457838ef64
17 changed files with 428 additions and 41 deletions
+4
View File
@@ -45,6 +45,10 @@ class SemiParamsBody(BaseModel):
semi_perp_exit_unit: float | None = Field(default=None, ge=0.1, le=1_000_000)
semi_min_option_hours: float | None = Field(default=None, ge=1, le=720)
semi_min_option_leverage: float | None = Field(default=None, ge=1, le=10000)
semi_moneyness: Literal["itm", "atm", "otm"] | None = None
semi_otm_max_offset: float | None = Field(default=None, ge=1, le=5000)
semi_perp_unit: float | None = Field(default=None, ge=0.01, le=100)
semi_option_unit: float | None = Field(default=None, ge=0.01, le=100)
@router.post("/semi/arm")