investfly.models.PortfolioModels

class PositionType(builtins.str, enum.Enum):

PositionType Enum

LONG = LONG
SHORT = SHORT
CLOSE = CLOSE
Inherited Members
enum.Enum
name
value
builtins.str
encode
replace
split
rsplit
join
capitalize
casefold
title
center
count
expandtabs
find
partition
index
ljust
lower
lstrip
rfind
rindex
rjust
rstrip
rpartition
splitlines
strip
swapcase
translate
upper
startswith
endswith
removeprefix
removesuffix
isascii
islower
isupper
istitle
isspace
isdecimal
isdigit
isnumeric
isalpha
isalnum
isidentifier
isprintable
zfill
format
format_map
maketrans
class TradeType(builtins.str, enum.Enum):

Trade Type Enum

BUY = BUY
SELL = SELL
SHORT = SHORT
COVER = COVER
Inherited Members
enum.Enum
name
value
builtins.str
encode
replace
split
rsplit
join
capitalize
casefold
title
center
count
expandtabs
find
partition
index
ljust
lower
lstrip
rfind
rindex
rjust
rstrip
rpartition
splitlines
strip
swapcase
translate
upper
startswith
endswith
removeprefix
removesuffix
isascii
islower
isupper
istitle
isspace
isdecimal
isdigit
isnumeric
isalpha
isalnum
isidentifier
isprintable
zfill
format
format_map
maketrans
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'>
Inherited Members
enum.Enum
name
value
builtins.str
encode
replace
split
rsplit
join
capitalize
casefold
title
center
count
expandtabs
find
partition
index
ljust
lower
lstrip
rfind
rindex
rjust
rstrip
rpartition
splitlines
strip
swapcase
translate
upper
startswith
endswith
removeprefix
removesuffix
isascii
islower
isupper
istitle
isspace
isdecimal
isdigit
isnumeric
isalpha
isalnum
isidentifier
isprintable
zfill
format
format_map
maketrans
class Broker(builtins.str, enum.Enum):

Broker Type Enum

INVESTFLY = INVESTFLY
TRADIER = TRADIER
TDAMERITRADE = TDAMERITRADE
BACKTEST = BACKTEST
Inherited Members
enum.Enum
name
value
builtins.str
encode
replace
split
rsplit
join
capitalize
casefold
title
center
count
expandtabs
find
partition
index
ljust
lower
lstrip
rfind
rindex
rjust
rstrip
rpartition
splitlines
strip
swapcase
translate
upper
startswith
endswith
removeprefix
removesuffix
isascii
islower
isupper
istitle
isspace
isdecimal
isdigit
isnumeric
isalpha
isalnum
isidentifier
isprintable
zfill
format
format_map
maketrans
@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: int | None = None, maxAmount: float | None = None, limitPrice: float | None = None)
tradeType: TradeType
orderType: OrderType = <OrderType.MARKET_ORDER: 'MARKET_ORDER'>
quantity: int | None = None
maxAmount: float | None = None
limitPrice: float | None = None
def toDict(self) -> Dict[str, Any]:
@dataclass
class OrderStatus:

Trade Order Status

OrderStatus(orderId: int, status: str, message: str | None = None)
orderId: int
status: str
message: str | None = None
@staticmethod
def fromDict(jsonDict: Dict[str, Any]) -> OrderStatus:
@dataclass
class PendingOrder(TradeOrder):
PendingOrder( security: investfly.models.MarketData.Security, tradeType: TradeType, orderType: OrderType = <OrderType.MARKET_ORDER: 'MARKET_ORDER'>, quantity: int | None = None, maxAmount: float | None = None, limitPrice: float | None = None, orderId: str | None = None, status: str | None = None, scheduledDate: datetime.datetime | None = None)
orderId: str | None = None
status: str | None = None
scheduledDate: datetime.datetime | None = None
@staticmethod
def fromDict(jsonDict: Dict[str, Any]) -> Any:
@dataclass()
class Balances:
Balances( buyingPower: float, cashBalance: float, currentValue: float, initialAmount: float | None = None)
buyingPower: float
cashBalance: float
currentValue: float
initialAmount: float | None = None
@staticmethod
def fromDict(jsonDict: Dict[str, Any]) -> Balances:
@dataclass
class CompletedTrade:
CompletedTrade( security: investfly.models.MarketData.Security, date: datetime.datetime, price: float, quantity: int, tradeType: TradeType)
date: datetime.datetime
price: float
quantity: int
tradeType: TradeType
@staticmethod
def fromDict( jsonDict: Dict[str, Any]) -> CompletedTrade:
@dataclass
class ClosedPosition:
ClosedPosition( security: investfly.models.MarketData.Security, position: PositionType, openDate: datetime.datetime, closeDate: datetime.datetime, openPrice: float, closePrice: float, quantity: int, profitLoss: float | None = None, percentChange: float | None = None)
position: PositionType
openDate: datetime.datetime
closeDate: datetime.datetime
openPrice: float
closePrice: float
quantity: int
profitLoss: float | None = None
percentChange: float | None = None
@staticmethod
def fromDict( jsonDict: Dict[str, Any]) -> ClosedPosition:
def toDict(self) -> Dict[str, Any]:
@dataclass
class OpenPosition:
OpenPosition( security: investfly.models.MarketData.Security, position: PositionType, avgPrice: float, quantity: int, purchaseDate: datetime.datetime, currentPrice: float | None = None, currentValue: float | None = None, profitLoss: float | None = None, percentChange: float | None = None)
position: PositionType
avgPrice: float
quantity: int
purchaseDate: datetime.datetime
currentPrice: float | None = None
currentValue: float | None = None
profitLoss: float | None = None
percentChange: float | None = None
@staticmethod
def fromDict( jsonDict: Dict[str, Any]) -> OpenPosition:
def toDict(self) -> Dict[str, Any]:
class Portfolio:
Portfolio( portfolioId: str, broker: Broker, balances: Balances)
portfolioId
broker
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)
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
def toDict(self) -> Dict[str, Any]:
@staticmethod
def fromDict( jsonDict: Dict[str, Any]) -> PortfolioPerformance: