investfly.models.marketdata
Market data models
@dataclass(frozen=True, eq=True)
class
Security:
Class representing a security instrument that is traded in the market
Security( symbol: str, securityType: SecurityType)
class
SecurityType(builtins.str, enum.Enum):
Enum representing Security Type (STOCK, ETF, CRYPTO, FOREX, OPTION)
@dataclass
class
Quote:
Class representing Price Quote
Quote( symbol: str, date: datetime.datetime, lastPrice: float, prevClose: float | None = None, todayChange: float | None = None, todayChangePct: float | None = None, dayOpen: float | None = None, dayHigh: float | None = None, dayLow: float | None = None, volume: int | None = None)
class
QuoteField(builtins.str, enum.Enum):
Enum of all valid fields on Quote object
LASTPRICE =
<QuoteField.LASTPRICE: 'LASTPRICE'>
DAY_OPEN =
<QuoteField.DAY_OPEN: 'DAY_OPEN'>
DAY_HIGH =
<QuoteField.DAY_HIGH: 'DAY_HIGH'>
DAY_LOW =
<QuoteField.DAY_LOW: 'DAY_LOW'>
DAY_VOLUME =
<QuoteField.DAY_VOLUME: 'DAY_VOLUME'>
PREV_DAY_CLOSE =
<QuoteField.PREV_DAY_CLOSE: 'PREV_DAY_CLOSE'>
DAY_CHANGE =
<QuoteField.DAY_CHANGE: 'DAY_CHANGE'>
DAY_CHANGE_PCT =
<QuoteField.DAY_CHANGE_PCT: 'DAY_CHANGE_PCT'>
DAY_CHANGE_OPEN =
<QuoteField.DAY_CHANGE_OPEN: 'DAY_CHANGE_OPEN'>
class
Bar(builtins.dict):
barinterval: BarInterval
class
BarInterval(builtins.str, enum.Enum):
Enum to represent BarInterval
ONE_MINUTE =
<BarInterval.ONE_MINUTE: 'ONE_MINUTE'>
FIVE_MINUTE =
<BarInterval.FIVE_MINUTE: 'FIVE_MINUTE'>
FIFTEEN_MINUTE =
<BarInterval.FIFTEEN_MINUTE: 'FIFTEEN_MINUTE'>
THIRTY_MINUTE =
<BarInterval.THIRTY_MINUTE: 'THIRTY_MINUTE'>
SIXTY_MINUTE =
<BarInterval.SIXTY_MINUTE: 'SIXTY_MINUTE'>
ONE_DAY =
<BarInterval.ONE_DAY: 'ONE_DAY'>
class
BarsGroup:
BarsGroup(barInterval: BarInterval)
bars: List[Bar]
@dataclass
class
StockNews:
class
FinancialField(builtins.str, enum.Enum):
Financial Fields supported by Invesfly
OUTSTANDING_SHARES =
<FinancialField.OUTSTANDING_SHARES: 'OUTSTANDING_SHARES'>
MARKET_CAP =
<FinancialField.MARKET_CAP: 'MARKET_CAP'>
REVENUE =
<FinancialField.REVENUE: 'REVENUE'>
COST_OF_REVENUE =
<FinancialField.COST_OF_REVENUE: 'COST_OF_REVENUE'>
GROSS_PROFIT =
<FinancialField.GROSS_PROFIT: 'GROSS_PROFIT'>
OPERATING_EXPENSE =
<FinancialField.OPERATING_EXPENSE: 'OPERATING_EXPENSE'>
OPERATING_INCOME =
<FinancialField.OPERATING_INCOME: 'OPERATING_INCOME'>
NET_INCOME =
<FinancialField.NET_INCOME: 'NET_INCOME'>
EPS =
<FinancialField.EPS: 'EPS'>
CURR_ASSETS =
<FinancialField.CURR_ASSETS: 'CURR_ASSETS'>
NON_CURR_ASSETS =
<FinancialField.NON_CURR_ASSETS: 'NON_CURR_ASSETS'>
ASSETS =
<FinancialField.ASSETS: 'ASSETS'>
CURR_LIABILITIES =
<FinancialField.CURR_LIABILITIES: 'CURR_LIABILITIES'>
NON_CURR_LIABILITIES =
<FinancialField.NON_CURR_LIABILITIES: 'NON_CURR_LIABILITIES'>
LIABILITIES =
<FinancialField.LIABILITIES: 'LIABILITIES'>
LONG_TERM_DEBT =
<FinancialField.LONG_TERM_DEBT: 'LONG_TERM_DEBT'>
EQUITY =
<FinancialField.EQUITY: 'EQUITY'>
OPEARTING_CASH_FLOW =
<FinancialField.OPEARTING_CASH_FLOW: 'OPEARTING_CASH_FLOW'>
INVESTING_CASH_FLOW =
<FinancialField.INVESTING_CASH_FLOW: 'INVESTING_CASH_FLOW'>
FINANCING_CASH_FLOW =
<FinancialField.FINANCING_CASH_FLOW: 'FINANCING_CASH_FLOW'>
NET_CASH_FLOW =
<FinancialField.NET_CASH_FLOW: 'NET_CASH_FLOW'>
RETURN_ON_EQUITY =
<FinancialField.RETURN_ON_EQUITY: 'RETURN_ON_EQUITY'>
RETURN_ON_ASSETS =
<FinancialField.RETURN_ON_ASSETS: 'RETURN_ON_ASSETS'>
PRICE_TO_EARNINGS_RATIO =
<FinancialField.PRICE_TO_EARNINGS_RATIO: 'PRICE_TO_EARNINGS_RATIO'>
PEG_RATIO =
<FinancialField.PEG_RATIO: 'PEG_RATIO'>
PRICE_TO_SALES_RATIO =
<FinancialField.PRICE_TO_SALES_RATIO: 'PRICE_TO_SALES_RATIO'>
PRICE_TO_BOOK_RATIO =
<FinancialField.PRICE_TO_BOOK_RATIO: 'PRICE_TO_BOOK_RATIO'>
REVENUE_GROWTH =
<FinancialField.REVENUE_GROWTH: 'REVENUE_GROWTH'>
EPS_GROWTH =
<FinancialField.EPS_GROWTH: 'EPS_GROWTH'>
DEBT_EQUITY_RATIO =
<FinancialField.DEBT_EQUITY_RATIO: 'DEBT_EQUITY_RATIO'>
CURRENT_RATIO =
<FinancialField.CURRENT_RATIO: 'CURRENT_RATIO'>
GROSS_MARGIN =
<FinancialField.GROSS_MARGIN: 'GROSS_MARGIN'>
PROFIT_MARGIN =
<FinancialField.PROFIT_MARGIN: 'PROFIT_MARGIN'>
DIVIDEND_YIELD =
<FinancialField.DIVIDEND_YIELD: 'DIVIDEND_YIELD'>