期权新增买卖方向和盈亏算法展示

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-07-26 13:49:54 +08:00
parent c8ed098bfc
commit 8076cbbd51
4 changed files with 108 additions and 8 deletions
+5 -1
View File
@@ -156,6 +156,7 @@ class OptionTrade(Base):
product_code: Mapped[str] = mapped_column(String(10))
contract_code: Mapped[str] = mapped_column(String(10), index=True)
option_type: Mapped[str] = mapped_column(String(4))
direction: Mapped[str] = mapped_column(String(4))
strike_price: Mapped[float] = mapped_column(Float)
open_date: Mapped[date] = mapped_column(Date)
open_price: Mapped[float] = mapped_column(Float)
@@ -170,5 +171,8 @@ class OptionTrade(Base):
if self.close_price is None:
return None
mul = 20 # glass futures point value
result = (self.close_price - self.open_price) * mul - (self.open_fee or 0) - (self.close_fee or 0)
if self.direction == "sell":
result = (self.open_price - self.close_price) * mul - (self.open_fee or 0) - (self.close_fee or 0)
else:
result = (self.close_price - self.open_price) * mul - (self.open_fee or 0) - (self.close_fee or 0)
return round(result, 2)