Skip to content

Commit

Permalink
addinf net income loss fields
Browse files Browse the repository at this point in the history
  • Loading branch information
tsugumi-sys committed Jul 24, 2024
1 parent c2f955e commit 610ea11
Show file tree
Hide file tree
Showing 2 changed files with 132 additions and 0 deletions.
96 changes: 96 additions & 0 deletions polygon/rest/models/financials.py
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,66 @@ def from_dict(d):
return Revenues(**d)


@modelclass
class NetIncomeLoss:
"Contains net income loss data for an income statement."
formula: Optional[str] = None
label: Optional[str] = None
order: Optional[int] = None
unit: Optional[str] = None
value: Optional[float] = None
xpath: Optional[str] = None

@staticmethod
def from_dict(d):
return NetIncomeLoss(**d)


@modelclass
class NetIncomeLossAttributableToNoncontrollingInterest:
"Contains net income loss attributable to noncontrolling interest data for an income statement."
formula: Optional[str] = None
label: Optional[str] = None
order: Optional[int] = None
unit: Optional[str] = None
value: Optional[float] = None
xpath: Optional[str] = None

@staticmethod
def from_dict(d):
return NetIncomeLossAttributableToNoncontrollingInterest(**d)


@modelclass
class NetIncomeLossAttributableToParent:
"Contains net income loss attributable to parent data for an income statement."
formula: Optional[str] = None
label: Optional[str] = None
order: Optional[int] = None
unit: Optional[str] = None
value: Optional[float] = None
xpath: Optional[str] = None

@staticmethod
def from_dict(d):
return NetIncomeLossAttributableToParent(**d)


@modelclass
class NetIncomeLossAvailableToCommonStockholdersBasic:
"Contains net income loss available to common stockholders basic data for an income statement."
formula: Optional[str] = None
label: Optional[str] = None
order: Optional[int] = None
unit: Optional[str] = None
value: Optional[float] = None
xpath: Optional[str] = None

@staticmethod
def from_dict(d):
return NetIncomeLossAvailableToCommonStockholdersBasic(**d)


@modelclass
class IncomeStatement:
"Contains income statement data."
Expand All @@ -256,6 +316,16 @@ class IncomeStatement:
gross_profit: Optional[GrossProfit] = None
operating_expenses: Optional[OperatingExpenses] = None
revenues: Optional[Revenues] = None
net_income_loss: Optional[NetIncomeLoss] = None
net_income_loss_attributable_to_noncontrolling_interest: Optional[
NetIncomeLossAttributableToNoncontrollingInterest
] = None
net_income_loss_attributable_to_parent: Optional[
NetIncomeLossAttributableToParent
] = None
net_income_loss_available_to_common_stockholders_basic: Optional[
NetIncomeLossAvailableToCommonStockholdersBasic
] = None

@staticmethod
def from_dict(d):
Expand All @@ -281,6 +351,32 @@ def from_dict(d):
else OperatingExpenses.from_dict(d["operating_expenses"])
),
revenues=None if "revenues" not in d else Revenues.from_dict(d["revenues"]),
net_income_loss=(
None
if "net_income_loss" not in d
else NetIncomeLoss.from_dict(d["net_income_loss"])
),
net_income_loss_attributable_to_noncontrolling_interest=(
None
if "net_income_loss_attributable_to_noncontrolling_interest" not in d
else NetIncomeLoss.from_dict(
d["net_income_loss_attributable_to_noncontrolling_interest"]
)
),
net_income_loss_attributable_to_parent=(
None
if "net_income_loss_attributable_to_parent" not in d
else NetIncomeLoss.from_dict(
d["net_income_loss_attributable_to_parent"]
)
),
net_income_loss_available_to_common_stockholders_basic=(
None
if "net_income_loss_available_to_common_stockholders_basic" not in d
else NetIncomeLoss.from_dict(
d["net_income_loss_available_to_common_stockholders_basic"]
)
),
)


Expand Down
36 changes: 36 additions & 0 deletions test_rest/test_financials.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@
GrossProfit,
OperatingExpenses,
Revenues,
NetIncomeLoss,
NetIncomeLossAttributableToNoncontrollingInterest,
NetIncomeLossAttributableToParent,
NetIncomeLossAvailableToCommonStockholdersBasic,
)
from base import BaseTest

Expand Down Expand Up @@ -221,6 +225,38 @@ def test_list_stock_financials(self):
value=3136000000.0,
xpath=None,
),
net_income_loss=NetIncomeLoss(
formula=None,
label="Net Income/Loss",
value=6.66e08,
unit="USD",
order=3200,
xpath=None,
),
net_income_loss_attributable_to_noncontrolling_interest=NetIncomeLossAttributableToNoncontrollingInterest(
formula=None,
label="Net Income/Loss Attributable To Noncontrolling Interest",
value=9e06,
unit="USD",
order=3200,
xpath=None,
),
net_income_loss_attributable_to_parent=NetIncomeLossAttributableToParent(
formula=None,
label="Net Income/Loss Attributable To Parent",
value=6.57e08,
unit="USD",
order=3500,
xpath=None,
),
net_income_loss_available_to_common_stockholders_basic=NetIncomeLossAvailableToCommonStockholdersBasic(
formula=None,
label="Net Income/Loss Available To Common Stockholders, Basic",
value=6.57e08,
unit="USD",
order=3700,
xpath=None,
),
),
),
fiscal_period="Q1",
Expand Down

0 comments on commit 610ea11

Please sign in to comment.