feat(data): add data models for ticker and trading features
This commit is contained in:
parent
3ee3372203
commit
8fe934b971
85
paperone/data.py
Normal file
85
paperone/data.py
Normal file
@ -0,0 +1,85 @@
|
||||
from dataclasses import dataclass
|
||||
from datetime import datetime
|
||||
from typing import List
|
||||
|
||||
|
||||
@dataclass
|
||||
class TickerData:
|
||||
date: datetime
|
||||
open: float
|
||||
close: float
|
||||
low: float
|
||||
high: float
|
||||
avg: float
|
||||
volume: float
|
||||
|
||||
|
||||
@dataclass
|
||||
class TimeSeriesFeatures:
|
||||
ticker: str
|
||||
target_date: datetime
|
||||
current_day_data: TickerData
|
||||
past_30d_data: List[TickerData]
|
||||
|
||||
|
||||
@dataclass
|
||||
class TradingFeatures:
|
||||
ticker: str
|
||||
target_date: datetime
|
||||
|
||||
# Current day features
|
||||
current_open: float
|
||||
current_high: float
|
||||
current_low: float
|
||||
current_close: float
|
||||
current_volume: float
|
||||
|
||||
# Lagged price features (last 5 days)
|
||||
close_lag_1: float
|
||||
close_lag_2: float
|
||||
close_lag_3: float
|
||||
close_lag_4: float
|
||||
close_lag_5: float
|
||||
|
||||
# Lagged volume features
|
||||
volume_lag_1: float
|
||||
volume_lag_2: float
|
||||
volume_lag_3: float
|
||||
volume_lag_4: float
|
||||
volume_lag_5: float
|
||||
|
||||
# 5-day rolling window features
|
||||
rolling_5d_mean: float
|
||||
rolling_5d_std: float
|
||||
rolling_5d_min: float
|
||||
rolling_5d_max: float
|
||||
rolling_5d_range: float
|
||||
rolling_5d_volume_mean: float
|
||||
rolling_5d_returns: float
|
||||
|
||||
# 10-day rolling window features
|
||||
rolling_10d_mean: float
|
||||
rolling_10d_std: float
|
||||
rolling_10d_min: float
|
||||
rolling_10d_max: float
|
||||
rolling_10d_range: float
|
||||
rolling_10d_volume_mean: float
|
||||
rolling_10d_returns: float
|
||||
|
||||
# 30-day rolling window features
|
||||
rolling_30d_mean: float
|
||||
rolling_30d_std: float
|
||||
rolling_30d_min: float
|
||||
rolling_30d_max: float
|
||||
rolling_30d_range: float
|
||||
rolling_30d_volume_mean: float
|
||||
rolling_30d_returns: float
|
||||
|
||||
# VIX features (from separate VIX time series)
|
||||
vix_current: float
|
||||
vix_lag_1: float
|
||||
vix_lag_5: float
|
||||
vix_rolling_5d_mean: float
|
||||
vix_rolling_10d_mean: float
|
||||
vix_rolling_30d_mean: float
|
||||
vix_rolling_30d_std: float
|
Loading…
x
Reference in New Issue
Block a user