portfolio_toolkit.position package
Subpackages
- portfolio_toolkit.position.closed package
- Submodules
- portfolio_toolkit.position.closed.closed_position module
- portfolio_toolkit.position.closed.closed_position_list module
- portfolio_toolkit.position.closed.get_closed_positions_stats module
- portfolio_toolkit.position.closed.list_from_portfolio module
- portfolio_toolkit.position.closed.plot_closed_positions module
- Module contents
ClosedPosition
ClosedPosition.__init__()
ClosedPosition.to_dataframe()
ClosedPosition.to_list()
ClosedPosition.buy_date
ClosedPosition.sell_price
ClosedPosition.sell_date
ClosedPosition.value
ClosedPosition.profit
ClosedPosition.return_percentage
ClosedPosition.ticker
ClosedPosition.buy_price
ClosedPosition.quantity
ClosedPosition.cost
ClosedPositionList
- Submodules
- portfolio_toolkit.position.open package
Submodules
Module contents
- class portfolio_toolkit.position.Position(ticker: str, buy_price: float, quantity: float)[source]
Bases:
object
- classmethod to_dataframe(positions: List[Position]) DataFrame [source]
Convert a list of Position objects to a pandas DataFrame.
- class portfolio_toolkit.position.OpenPosition(ticker: str, buy_price: float, quantity: float, current_price: float, sector: str, country: str)[source]
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 [source]
Convert a list of Position objects to a pandas DataFrame.
- class portfolio_toolkit.position.ClosedPosition(ticker: str, buy_price: float, quantity: float, buy_date: str, sell_price: float, sell_date: str)[source]
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 [source]
Convert a list of Position objects to a pandas DataFrame.
- classmethod to_list(positions: List[ClosedPosition]) List [source]
Convert a list of Position objects to a pandas DataFrame.
- portfolio_toolkit.position.compare_open_positions(portfolio: Portfolio, periods: List[Period], display='value') DataFrame [source]
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.
- Parameters:
portfolio – Portfolio object containing assets
periods – List of Period objects to compare
display – ‘value’ shows position values, ‘return’ shows percentage returns
- Returns:
- 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.
- Return type:
pd.DataFrame
Example
# 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 - -