investfly.models.PortfolioModels
class
PositionType(builtins.str, enum.Enum):
PositionType Enum
class
TradeType(builtins.str, enum.Enum):
Trade Type Enum
class
OrderType(builtins.str, enum.Enum):
Order Type Enum
MARKET_ORDER =
<OrderType.MARKET_ORDER: 'MARKET_ORDER'>
LIMIT_ORDER =
<OrderType.LIMIT_ORDER: 'LIMIT_ORDER'>
STOP_ORDER =
<OrderType.STOP_ORDER: 'STOP_ORDER'>
ONE_CANCEL_OTHER =
<OrderType.ONE_CANCEL_OTHER: 'ONE_CANCEL_OTHER'>
CUSTOM_CONDITION =
<OrderType.CUSTOM_CONDITION: 'CUSTOM_CONDITION'>
class
Broker(builtins.str, enum.Enum):
Broker Type Enum
@dataclass
class
TradeOrder:
A class that represents a Trade Order
TradeOrder( security: investfly.models.MarketData.Security, tradeType: TradeType, orderType: OrderType = <OrderType.MARKET_ORDER: 'MARKET_ORDER'>, quantity: float | None = None, maxAmount: float | None = None, limitPrice: float | None = None)
security: investfly.models.MarketData.Security
tradeType: TradeType
@dataclass
class
OrderStatus:
Trade Order Status
PendingOrder( security: investfly.models.MarketData.Security, tradeType: TradeType, orderType: OrderType = <OrderType.MARKET_ORDER: 'MARKET_ORDER'>, quantity: float | None = None, maxAmount: float | None = None, limitPrice: float | None = None, orderId: str | None = None, status: str | None = None, scheduledDate: datetime.datetime | None = None)
Inherited Members
@dataclass()
class
Balances:
Balances( buyingPower: float, cashBalance: float, currentValue: float, initialAmount: float | None = None)
@dataclass
class
CompletedTrade:
CompletedTrade( security: investfly.models.MarketData.Security, date: datetime.datetime, price: float, quantity: float, tradeType: TradeType)
security: investfly.models.MarketData.Security
tradeType: TradeType
@dataclass
class
ClosedPosition:
ClosedPosition( security: investfly.models.MarketData.Security, position: PositionType, openDate: datetime.datetime, closeDate: datetime.datetime, openPrice: float, closePrice: float, quantity: float, profitLoss: float | None = None, percentChange: float | None = None)
security: investfly.models.MarketData.Security
position: PositionType
@dataclass
class
OpenPosition:
OpenPosition( security: investfly.models.MarketData.Security, position: PositionType, avgPrice: float, quantity: float, purchaseDate: datetime.datetime, currentPrice: float | None = None, currentValue: float | None = None, profitLoss: float | None = None, percentChange: float | None = None)
security: investfly.models.MarketData.Security
position: PositionType
class
Portfolio:
balances: Balances
openPositions: List[OpenPosition]
pendingOrders: List[PendingOrder]
completedTrades: List[CompletedTrade]
@dataclass
class
PortfolioPerformance:
PortfolioPerformance( netReturn: float | None = None, annualizedReturn: float | None = None, profitFactor: float | None = None, totalTrades: int | None = None, winRatioPct: float | None = None, avgProfitPerTradePct: float | None = None, avgLossPerTradePct: float | None = None, meanReturnPerTradePct: float | None = None, sharpeRatioPerTrade: float | None = None, maxDrawdownPct: float | None = None, portfolioValues: Optional[List[investfly.models.CommonModels.DatedValue]] = None)