beacon.asset¶
Financial asset definitions: the immutable Asset base dataclass and its
Bond, Commodity, and Equity subclasses, plus AssetView, a queryable
wrapper pairing an asset identifier with a DataFetcher.
asset ¶
The init.py for the 'asset' module.
This module defines and manages financial assets.
Asset
dataclass
¶
Base class for a financial asset. An immutable metadata container.
The index pipeline accepts only :class:~beacon.asset.equity.Equity
(BN-185). Subclasses such as :class:~beacon.asset.bond.Bond and
:class:~beacon.asset.commodity.Commodity are usable as metadata, but a
universe containing one is refused by selection, weighting, market values
and corporate-action handling alike — see
:func:~beacon.asset.equity.require_equity.
Bond
dataclass
¶
Commodity
dataclass
¶
Equity
dataclass
¶
Equity(
name: str,
currency: str,
asset_id: str = "",
asset_type: str = "",
ticker: str = "",
exchange: str = "",
isin: str | None = None,
sector: str | None = None,
country: str | None = None,
)
Bases: Asset
Represents an equity security.
This is the only asset type the index pipeline accepts (BN-185).
Selection, weighting, market values and corporate-action divisor
adjustments all read market data keyed by :attr:ticker and all reason in
terms of shares outstanding and free float, none of which the other
:class:~beacon.asset.base.Asset subclasses carry. A constituent that is
not an equity is refused by :func:require_equity at whichever of those
layers meets it first, rather than admitted, skipped, or zeroed.
AssetView ¶
Queryable wrapper that pairs an asset identifier with a DataFetcher.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
asset_id
|
str
|
The identifier used to look up data in the DataFetcher. |
required |
data_fetcher
|
DataFetcher
|
The data provider instance. |
required |
Source code in build/cache/py-beacon-2c9c3936c65abdb6b8403c50a023f58355be30ee/src/beacon/asset/view.py
prices ¶
Retrieve historical OHLCV price data.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
start
|
str
|
Start date (YYYY-MM-DD). |
required |
end
|
str
|
End date (YYYY-MM-DD). |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
pd.DataFrame: Price data indexed by date. |
Source code in build/cache/py-beacon-2c9c3936c65abdb6b8403c50a023f58355be30ee/src/beacon/asset/view.py
returns ¶
returns(
start: str,
end: str,
frequency: str = "daily",
price_column: str = "CLOSE",
) -> pd.Series
Calculate a return series from price data.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
start
|
str
|
Start date (YYYY-MM-DD). |
required |
end
|
str
|
End date (YYYY-MM-DD). |
required |
frequency
|
str
|
One of |
'daily'
|
price_column
|
str
|
Column name to use for return calculation. Defaults
to |
'CLOSE'
|
Returns:
| Type | Description |
|---|---|
Series
|
pd.Series: Percentage returns indexed by date. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If frequency is not one of the supported values. |
Source code in build/cache/py-beacon-2c9c3936c65abdb6b8403c50a023f58355be30ee/src/beacon/asset/view.py
reference_data ¶
Fetch static reference data (e.g. name, sector, exchange).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
date
|
str | None
|
Point-in-time date for the reference snapshot. |
None
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
pd.DataFrame: Reference data for this asset. |
Source code in build/cache/py-beacon-2c9c3936c65abdb6b8403c50a023f58355be30ee/src/beacon/asset/view.py
corporate_actions ¶
Retrieve corporate action events (dividends, splits, etc.).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
start
|
str
|
Start date (YYYY-MM-DD). |
required |
end
|
str
|
End date (YYYY-MM-DD). |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
pd.DataFrame: Corporate actions within the date range. |