portfolio_toolkit package
Subpackages
- portfolio_toolkit.account package
- Submodules
- Module contents
AccountTransaction
Account
Account.__init__()
Account.add_transaction()
Account.add_transaction_from_assets_dict()
Account.add_transaction_from_dict()
Account.add_transaction_from_split_dict()
Account.export_to_dataframe()
Account.get_amount()
Account.get_amount_at()
Account.sort_transactions()
Account.to_dataframe()
Account.to_list()
Account.name
Account.currency
Account.transactions
- portfolio_toolkit.asset package
- Subpackages
- Module contents
MarketAsset
PortfolioAssetTransaction
PortfolioAssetTransaction.__init__()
PortfolioAssetTransaction.to_dataframe()
PortfolioAssetTransaction.date
PortfolioAssetTransaction.transaction_type
PortfolioAssetTransaction.quantity
PortfolioAssetTransaction.price
PortfolioAssetTransaction.currency
PortfolioAssetTransaction.total
PortfolioAssetTransaction.exchange_rate
PortfolioAssetTransaction.subtotal_base
PortfolioAssetTransaction.fees_base
PortfolioAssetTransaction.total_base
PortfolioAsset
OptimizationAsset
- portfolio_toolkit.cli package
- portfolio_toolkit.data_provider package
- portfolio_toolkit.math package
- portfolio_toolkit.optimization package
- Submodules
- Module contents
Optimization
Optimization.__init__()
Optimization.covariance_matrix
Optimization.expected_returns
Optimization.from_dict()
Optimization.get_efficient_frontier()
Optimization.get_var()
Optimization.means
Optimization.period
Optimization.returns
Optimization.weights
Optimization.name
Optimization.currency
Optimization.assets
Optimization.data_provider
find_maximum_sharpe_portfolio()
calculate_portfolio_metrics()
- portfolio_toolkit.plot package
- Submodules
- portfolio_toolkit.plot.bar_chart_data module
- portfolio_toolkit.plot.engine module
- portfolio_toolkit.plot.line_chart_data module
- portfolio_toolkit.plot.pie_chart_data module
- portfolio_toolkit.plot.plot_assets module
- portfolio_toolkit.plot.plot_base module
- portfolio_toolkit.plot.scatter_plot_data module
- Module contents
- Submodules
- portfolio_toolkit.portfolio package
- Subpackages
- Submodules
- Module contents
Portfolio
PortfolioStats
PortfolioStats.realized_profit
PortfolioStats.unrealized_profit
PortfolioStats.initial_valuation
PortfolioStats.final_valuation
PortfolioStats.incomes
PortfolioStats.deposits
PortfolioStats.withdrawals
PortfolioStats.commission
PortfolioStats.closed_positions_stats
PortfolioStats.closed_positions
PortfolioStats.open_positions
PortfolioStats.transactions
PortfolioStats.__init__()
PortfolioStats.from_portfolio()
PortfolioStats.net_cash_flow
PortfolioStats.return_percentage
PortfolioStats.to_dict()
PortfolioStats.total_profit
PortfolioStats.valuation_change
PortfolioStats.realized_profit
PortfolioStats.unrealized_profit
PortfolioStats.initial_cash
PortfolioStats.final_cash
PortfolioStats.initial_valuation
PortfolioStats.final_valuation
PortfolioStats.incomes
PortfolioStats.deposits
PortfolioStats.withdrawals
PortfolioStats.commission
PortfolioStats.closed_positions_stats
PortfolioStats.closed_positions
PortfolioStats.open_positions
PortfolioStats.transactions
PortfolioTimeSeries
- portfolio_toolkit.position package
- portfolio_toolkit.utils package
- portfolio_toolkit.watchlist package
Module contents
Portfolio Toolkit - A comprehensive toolkit for portfolio analysis and management.
- class portfolio_toolkit.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.Watchlist(name: str, currency: str, assets: List[MarketAsset], data_provider: DataProvider)[source]
Bases:
object
Class to represent and manage an asset watchlist.
- __init__(name: str, currency: str, assets: List[MarketAsset], data_provider: DataProvider) None
- classmethod from_dict(data: dict, data_provider: DataProvider) Watchlist [source]
- assets: List[MarketAsset]
- data_provider: DataProvider
- class portfolio_toolkit.YFDataProvider[source]
Bases:
DataProvider
Market data provider using Yahoo Finance.
- AAPL = 'AAPL'
- AMZN = 'AMZN'
- ARCH = 'ARCH'
- BA = 'BA'
- BBAR = 'BBAR'
- BBD = 'BBD'
- BMA = 'BMA'
- BONO_10_ANIOS_USA = '^TNX'
- BRENT = 'BZ=F'
- DOLAR_INDEX = 'DX-Y.NYB'
- DOW_JONES = '^DJI'
- EURUSD = 'EURUSD=X'
- EVTL = 'EVTL'
- GOOGL = 'GOOGL'
- INTC = 'INTC'
- JOBY = 'JOBY'
- KOS = 'KOS'
- LILMF = 'LILMF'
- MERVAL = '^MERV'
- META = 'META'
- MSFT = 'MSFT'
- NASDAQ = '^IXIC'
- NFE = 'NFE'
- NVDA = 'NVDA'
- ORO = 'GC=F'
- SLDP = 'SLDP'
- SP500 = '^GSPC'
- TSLA = 'TSLA'
- USDARS = 'USDARS=X'
- USDEUR = 'USDEUR=X'
- VALE = 'VALE'
- VIX = '^VIX'
- WTI = 'CL=F'
- YPF = 'YPF'
- __init__()[source]
Initializes the YFDataProvider class with in-memory caches for ticker data, info, and currencies.
- get_price_series(ticker, columna='Close', period='5y')[source]
Gets the price series of an asset for a specific column.
- get_price_series_converted(ticker, target_currency, columna='Close')[source]
Gets the price series of an asset converted to a target currency.
- get_raw_data(ticker, periodo='5y')[source]
Gets all historical data for a ticker directly.
- Parameters:
- Returns:
The historical data for the ticker.
- Return type:
pd.DataFrame
Example DataFrame returned:
# Open High Low Close Adj Close Volume #2024-07-01 10.00 10.50 9.80 10.20 10.10 1000000 #2024-07-02 10.20 10.60 10.00 10.40 10.30 1200000 #… … … … … … …