Skip to content

Portfolio

Portfolio

Bases: BaseModel

Portfolio model

Attributes:

Name Type Description
cash float

Cash of the portfolio

committed_cash float

Committed cash of the portfolio

positions Union[List[Position], None]

Positions of the portfolio

securities_account_id str

Securities account ID of the portfolio

client Client

Client of the portfolio (for interaction with the API)

Source code in alpha_trader/portfolio/__init__.py
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
class Portfolio(BaseModel):
    """
    Portfolio model

    Attributes:
        cash: Cash of the portfolio
        committed_cash: Committed cash of the portfolio
        positions: Positions of the portfolio
        securities_account_id: Securities account ID of the portfolio
        client: Client of the portfolio (for interaction with the API)
    """

    cash: float
    committed_cash: float
    positions: Union[List[Position], None]
    securities_account_id: str
    client: Client

    @staticmethod
    def initialize_from_api_response(api_response: Dict, client: Client) -> "Portfolio":
        return Portfolio(
            cash=api_response["cash"],
            committed_cash=api_response["committedCash"],
            positions=[
                Position.initialize_from_api_response(res, client)
                for res in api_response["positions"]
            ],
            securities_account_id=api_response["securitiesAccountId"],
            client=client,
        )

    def __str__(self):
        return f"""Portfolio(securities_account_id={self.securities_account_id}, cash={self.cash}, \
        committed_cash={self.committed_cash}, positions={self.positions})"""

    def __repr__(self):
        return self.__str__()

    @property
    def uncommitted_cash(self) -> float:
        """
            Uncommitted cash of the portfolio
        Returns:
            Uncommitted cash
        """
        return self.cash - self.committed_cash

uncommitted_cash: float property

Uncommitted cash of the portfolio

Returns: Uncommitted cash