Helpers API Reference
tradingbot.utils.helpers
Utility functions for timezone handling and data validation.
ensure_utc_series(series: pd.Series) -> pd.Series
Ensure a pandas Series of timestamps is timezone-aware in UTC.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
series
|
Series
|
Series of timestamps to convert |
required |
Returns:
| Type | Description |
|---|---|
Series
|
Series with timezone-aware timestamps in UTC |
Source code in tradingbot/utils/helpers.py
ensure_utc_timestamp(timestamp: pd.Timestamp) -> pd.Timestamp
Ensure a timestamp is timezone-aware in UTC.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
timestamp
|
Timestamp
|
Timestamp to convert (may be timezone-naive or in another timezone) |
required |
Returns:
| Type | Description |
|---|---|
Timestamp
|
Timezone-aware timestamp in UTC |
Source code in tradingbot/utils/helpers.py
parse_period_to_date_range(period: str) -> tuple[pd.Timestamp, pd.Timestamp]
Convert yfinance period string to start and end datetime range.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
period
|
str
|
Period string (e.g., "1d", "5d", "1mo", "1y", "ytd", "max") |
required |
Returns:
| Type | Description |
|---|---|
tuple[Timestamp, Timestamp]
|
Tuple of (start_date, end_date) in UTC timezone-aware timestamps |
Source code in tradingbot/utils/helpers.py
validate_dataframe_columns(df: pd.DataFrame, required_columns: Optional[list[str]] = None) -> None
Validate that a DataFrame has the required columns.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
df
|
DataFrame
|
DataFrame to validate |
required |
required_columns
|
Optional[list[str]]
|
List of required column names (defaults to REQUIRED_DATA_COLUMNS) |
None
|
Raises:
| Type | Description |
|---|---|
AssertionError
|
If DataFrame doesn't have the required columns |