portfolio_toolkit package
Subpackages
- portfolio_toolkit.account package
- portfolio_toolkit.asset package
- Submodules
- portfolio_toolkit.asset.create module
- portfolio_toolkit.asset.market_asset module
- portfolio_toolkit.asset.optimization_asset module
- portfolio_toolkit.asset.portfolio_asset module
- portfolio_toolkit.asset.portfolio_asset_transaction module
PortfolioAssetTransaction
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
PortfolioAssetTransaction.to_dataframe()
PortfolioAssetTransaction.__init__()
- 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
OptimizationAsset.__init__()
OptimizationAsset.quantity
OptimizationAsset.to_dataframe()
OptimizationAsset.returns
OptimizationAsset.log_returns
OptimizationAsset.mean_return
OptimizationAsset.volatility
OptimizationAsset.ticker
OptimizationAsset.prices
OptimizationAsset.info
OptimizationAsset.sector
OptimizationAsset.country
create_market_asset()
- portfolio_toolkit.cli package
- portfolio_toolkit.data_provider package
- Submodules
- portfolio_toolkit.data_provider.data_provider module
- portfolio_toolkit.data_provider.yf_data_provider module
YFDataProvider
YFDataProvider.NASDAQ
YFDataProvider.SP500
YFDataProvider.DOW_JONES
YFDataProvider.MERVAL
YFDataProvider.VIX
YFDataProvider.BONO_10_ANIOS_USA
YFDataProvider.DOLAR_INDEX
YFDataProvider.BRENT
YFDataProvider.WTI
YFDataProvider.ORO
YFDataProvider.USDARS
YFDataProvider.USDEUR
YFDataProvider.EURUSD
YFDataProvider.AAPL
YFDataProvider.MSFT
YFDataProvider.GOOGL
YFDataProvider.AMZN
YFDataProvider.TSLA
YFDataProvider.META
YFDataProvider.NVDA
YFDataProvider.INTC
YFDataProvider.BA
YFDataProvider.YPF
YFDataProvider.BBAR
YFDataProvider.BMA
YFDataProvider.VALE
YFDataProvider.ARCH
YFDataProvider.SLDP
YFDataProvider.LILMF
YFDataProvider.JOBY
YFDataProvider.NFE
YFDataProvider.KOS
YFDataProvider.BBD
YFDataProvider.EVTL
YFDataProvider.__init__()
YFDataProvider.get_price()
YFDataProvider.get_raw_data()
YFDataProvider.get_price_series()
YFDataProvider.get_ticker_info()
YFDataProvider.get_price_series_converted()
YFDataProvider.get_ticker_currency()
- Module contents
- portfolio_toolkit.math package
- portfolio_toolkit.optimization package
- 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
- portfolio_toolkit.portfolio package
- Submodules
- portfolio_toolkit.portfolio.load_portfolio_json module
- portfolio_toolkit.portfolio.plot module
- portfolio_toolkit.portfolio.plot_evolution module
- portfolio_toolkit.portfolio.portfolio module
- portfolio_toolkit.portfolio.preprocesador module
- portfolio_toolkit.portfolio.print_cash_incomes module
- portfolio_toolkit.portfolio.print_date_frame module
- portfolio_toolkit.portfolio.time_series_portfolio module
- portfolio_toolkit.portfolio.utils module
- Module contents
- portfolio_toolkit.position package
- Submodules
- portfolio_toolkit.position.closed_position module
- portfolio_toolkit.position.compare_open_positions module
- portfolio_toolkit.position.get_asset_closed_positions module
- portfolio_toolkit.position.get_asset_open_positions module
- portfolio_toolkit.position.get_closed_positions module
- portfolio_toolkit.position.get_open_positions module
- portfolio_toolkit.position.get_valuation module
- portfolio_toolkit.position.plot_closed_positions module
- portfolio_toolkit.position.plot_open_positions module
- portfolio_toolkit.position.position module
- portfolio_toolkit.position.print_closed_positions module
- portfolio_toolkit.position.print_open_positions module
- portfolio_toolkit.position.valued_position module
- Module contents
- portfolio_toolkit.transaction package
- portfolio_toolkit.utils package
- Subpackages
- portfolio_toolkit.utils.period package
- Submodules
- portfolio_toolkit.utils.period.get_current_month module
- portfolio_toolkit.utils.period.get_current_period module
- portfolio_toolkit.utils.period.get_current_quarter module
- portfolio_toolkit.utils.period.get_current_week module
- portfolio_toolkit.utils.period.get_current_year module
- portfolio_toolkit.utils.period.get_last_months module
- portfolio_toolkit.utils.period.get_last_periods module
- portfolio_toolkit.utils.period.get_last_quarters module
- portfolio_toolkit.utils.period.get_last_weeks module
- portfolio_toolkit.utils.period.get_last_years module
- portfolio_toolkit.utils.period.period module
- Module contents
- portfolio_toolkit.utils.period package
- Submodules
- portfolio_toolkit.utils.correlation module
- portfolio_toolkit.utils.log_returns module
- Module contents
- Subpackages
- 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_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
- assets: List[PortfolioAsset]
- data_provider: DataProvider
- class portfolio_toolkit.PortfolioAsset(ticker: str, prices: pandas.core.series.Series, info: Dict, currency: Optional[str] = None, transactions: List[portfolio_toolkit.asset.portfolio_asset_transaction.PortfolioAssetTransaction] = <factory>)[source]
Bases:
MarketAsset
- __init__(ticker: str, prices: ~pandas.core.series.Series, info: ~typing.Dict, currency: str | None = None, transactions: ~typing.List[~portfolio_toolkit.asset.portfolio_asset_transaction.PortfolioAssetTransaction] = <factory>) None
- add_split(split_dict: dict) float [source]
Adds a stock split to the portfolio asset by simulating sell all + buy equivalent. Creates a sell transaction for all held shares and a buy transaction for split-adjusted quantity.
- Parameters:
split_dict – Dictionary containing split information with keys: - date: Split date (str) - split_factor: Split ratio as float (e.g., 2.0 for 2:1 split, 0.1 for 1:10 reverse split)
- Returns:
- Cash amount to be added to account due to fractional shares sold
(only applies to reverse splits where shares are lost)
- Return type:
- add_transaction(transaction: PortfolioAssetTransaction)[source]
Adds a transaction to the portfolio asset.
- add_transaction_from_dict(transaction_dict: dict)[source]
Adds a transaction to the account from a dictionary.
- classmethod to_dataframe(assets: List[PortfolioAsset]) DataFrame [source]
Convert a list of PortfolioAsset objects to a pandas DataFrame.
- transactions: List[PortfolioAssetTransaction]
- 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 #… … … … … … …