portfolio_toolkit.position package

Subpackages

Submodules

portfolio_toolkit.position.compare_open_positions module

portfolio_toolkit.position.compare_open_positions.compare_open_positions(portfolio: Portfolio, periods: List[Period], display='value') DataFrame[fuente]

Compare open positions across multiple periods.

Creates a DataFrame showing position values or returns at the end of each period. Rows represent assets, columns represent periods.

Parámetros:
  • portfolio – Portfolio object containing assets

  • periods – List of Period objects to compare

  • display – “value” shows position values, “return” shows percentage returns

Devuelve:

DataFrame with assets as rows and periods as columns.

For “value”: Values show position market value, «-» for missing positions. For “return”: Values show percentage return vs previous period, «-» for missing/first period.

Tipo del valor devuelto:

pd.DataFrame

Ejemplo

# Show values df = compare_open_positions(portfolio, periods, display=”value”) Result:

Q1 2025 Q2 2025

AAPL 1500.00 1650.00 GOOGL 2000.00 -

# Show returns df = compare_open_positions(portfolio, periods, display=”return”) Result:

Q1 2025 Q2 2025

AAPL - 10.00% GOOGL - -

portfolio_toolkit.position.position module

class portfolio_toolkit.position.position.Position(ticker: str, buy_price: float, quantity: float)[fuente]

Bases: object

ticker: str
buy_price: float
quantity: float
cost: float
classmethod to_list(positions: List[Position]) List[dict][fuente]

Convert a list of Position objects to a list of dictionaries.

classmethod to_dataframe(positions: List[Position]) DataFrame[fuente]

Convert a list of Position objects to a pandas DataFrame.

__init__(ticker: str, buy_price: float, quantity: float) None

Module contents

class portfolio_toolkit.position.Position(ticker: str, buy_price: float, quantity: float)[fuente]

Bases: object

__init__(ticker: str, buy_price: float, quantity: float) None
classmethod to_dataframe(positions: List[Position]) DataFrame[fuente]

Convert a list of Position objects to a pandas DataFrame.

classmethod to_list(positions: List[Position]) List[dict][fuente]

Convert a list of Position objects to a list of dictionaries.

ticker: str
buy_price: float
quantity: float
cost: float
class portfolio_toolkit.position.OpenPosition(ticker: str, buy_price: float, quantity: float, current_price: float, sector: str, country: str)[fuente]

Bases: Position

__init__(ticker: str, buy_price: float, quantity: float, current_price: float, sector: str, country: str) None
classmethod to_dataframe(positions: List[OpenPosition]) DataFrame[fuente]

Convert a list of Position objects to a pandas DataFrame.

classmethod to_list(positions: List[OpenPosition]) List[dict][fuente]

Convert a list of Position objects to a list of dictionaries.

current_price: float
sector: str
country: str
value: float
class portfolio_toolkit.position.ClosedPosition(ticker: str, buy_price: float, quantity: float, buy_date: str, sell_price: float, sell_date: str)[fuente]

Bases: Position

__init__(ticker: str, buy_price: float, quantity: float, buy_date: str, sell_price: float, sell_date: str) None
classmethod to_dataframe(positions: List[ClosedPosition]) DataFrame[fuente]

Convert a list of Position objects to a pandas DataFrame.

classmethod to_list(positions: List[ClosedPosition]) List[fuente]

Convert a list of Position objects to a pandas DataFrame.

buy_date: str
sell_price: float
sell_date: str
value: float
profit: float
return_percentage: float
portfolio_toolkit.position.compare_open_positions(portfolio: Portfolio, periods: List[Period], display='value') DataFrame[fuente]

Compare open positions across multiple periods.

Creates a DataFrame showing position values or returns at the end of each period. Rows represent assets, columns represent periods.

Parámetros:
  • portfolio – Portfolio object containing assets

  • periods – List of Period objects to compare

  • display – “value” shows position values, “return” shows percentage returns

Devuelve:

DataFrame with assets as rows and periods as columns.

For “value”: Values show position market value, «-» for missing positions. For “return”: Values show percentage return vs previous period, «-» for missing/first period.

Tipo del valor devuelto:

pd.DataFrame

Ejemplo

# Show values df = compare_open_positions(portfolio, periods, display=”value”) Result:

Q1 2025 Q2 2025

AAPL 1500.00 1650.00 GOOGL 2000.00 -

# Show returns df = compare_open_positions(portfolio, periods, display=”return”) Result:

Q1 2025 Q2 2025

AAPL - 10.00% GOOGL - -