portfolio_toolkit.portfolio package
Subpackages
- portfolio_toolkit.portfolio.stats package
- Submodules
- Module contents
PortfolioStatsPortfolioStats.realized_profitPortfolioStats.unrealized_profitPortfolioStats.initial_valuationPortfolioStats.final_valuationPortfolioStats.incomesPortfolioStats.depositsPortfolioStats.withdrawalsPortfolioStats.commissionPortfolioStats.closed_positions_statsPortfolioStats.closed_positionsPortfolioStats.open_positionsPortfolioStats.transactionsPortfolioStats.__init__()PortfolioStats.from_portfolio()PortfolioStats.net_cash_flowPortfolioStats.return_percentagePortfolioStats.to_dict()PortfolioStats.total_profitPortfolioStats.valuation_changePortfolioStats.realized_profitPortfolioStats.unrealized_profitPortfolioStats.initial_cashPortfolioStats.final_cashPortfolioStats.initial_valuationPortfolioStats.final_valuationPortfolioStats.incomesPortfolioStats.depositsPortfolioStats.withdrawalsPortfolioStats.commissionPortfolioStats.closed_positions_statsPortfolioStats.closed_positionsPortfolioStats.open_positionsPortfolioStats.transactions
- portfolio_toolkit.portfolio.time_series package
- Submodules
- Module contents
PortfolioTimeSeriesPortfolioTimeSeries.__init__()PortfolioTimeSeries.from_portfolio()PortfolioTimeSeries.plot_evolution()PortfolioTimeSeries.print()PortfolioTimeSeries.portfolio_timeseriesPortfolioTimeSeries.namePortfolioTimeSeries.currencyPortfolioTimeSeries.assetsPortfolioTimeSeries.data_providerPortfolioTimeSeries.accountPortfolioTimeSeries.start_date
Submodules
Module contents
- class portfolio_toolkit.portfolio.Portfolio(name: str, currency: str, assets: List[portfolio_toolkit.asset.portfolio.portfolio_asset.PortfolioAsset], data_provider: portfolio_toolkit.data_provider.data_provider.DataProvider, account: portfolio_toolkit.account.account.Account, start_date: str)[source]
Bases:
object- __init__(name: str, currency: str, assets: List[PortfolioAsset], data_provider: DataProvider, account: Account, start_date: str) None
- classmethod from_dict(data: dict, data_provider: DataProvider) Portfolio[source]
- get_closed_positions(from_date: str, to_date: str) ClosedPositionList[source]
Returns ClosedPositionList for the given date.
- get_open_positions(date: str) OpenPositionList[source]
Returns OpenPositionList for the given date.
- get_stats(year: str) PortfolioStats[source]
Returns PortfolioStats for the given year.
- get_time_series() PortfolioTimeSeries[source]
Returns a PortfolioTimeSeries for the given portfolio.
- assets: List[PortfolioAsset]
- data_provider: DataProvider
- class portfolio_toolkit.portfolio.PortfolioStats(realized_profit: float, unrealized_profit: float, initial_cash: float, final_cash: float, initial_valuation: float, final_valuation: float, incomes: float, deposits: float, withdrawals: float, commission: float, closed_positions_stats: Dict[str, Any], closed_positions: DataFrame, open_positions: DataFrame, transactions: DataFrame)[source]
Bases:
objectPortfolio statistics dataclass containing all financial metrics and data for a given period.
- closed_positions
DataFrame of closed positions
- Type:
pd.DataFrame
- open_positions
DataFrame of current open positions
- Type:
pd.DataFrame
- transactions
DataFrame of account transactions
- Type:
pd.DataFrame
- __init__(realized_profit: float, unrealized_profit: float, initial_cash: float, final_cash: float, initial_valuation: float, final_valuation: float, incomes: float, deposits: float, withdrawals: float, commission: float, closed_positions_stats: Dict[str, Any], closed_positions: DataFrame, open_positions: DataFrame, transactions: DataFrame) None
- classmethod from_portfolio(portfolio: Portfolio, year: str) PortfolioStats[source]
Alternate constructor that builds PortfolioStats from a Portfolio and year.
- class portfolio_toolkit.portfolio.PortfolioTimeSeries(name: str, currency: str, assets: List[PortfolioAsset], data_provider: DataProvider, account: Account, start_date: str)[source]
Bases:
PortfolioDataFrame with the following structure:
Columns: - Date (str): Date of the transaction or calculation. - Ticker (str): Asset symbol (including synthetic cash tickers like __EUR). - Quantity (int): Accumulated quantity of shares/units on the date. - Price (float): Share price on the date in original currency (1.0 for cash tickers). - Price_Base (float): Share price converted to portfolio base currency, including fees for purchase transactions. - Value (float): Total value of the shares/units on the date (Quantity * Price). - Value_Base (float): Total value in portfolio base currency (Quantity * Price_Base). - Cost (float): Total accumulated cost of the shares/units on the date in base currency. - Sector (str): Sector to which the asset belongs (Cash for synthetic tickers). - Country (str): Country to which the asset belongs.
Each row represents the state of an asset on a specific date. Cash transactions use synthetic tickers (e.g., __EUR) with constant price of 1.0.
- __init__(name: str, currency: str, assets: List[PortfolioAsset], data_provider: DataProvider, account: Account, start_date: str) None
- classmethod from_portfolio(portfolio: Portfolio) PortfolioTimeSeries[source]
Alternate constructor that builds PortfolioTimeSeries from a Portfolio.
- plot_evolution() LineChartData[source]