trading/shared/models/__init__.py
Viktor Barzin 72cb1b6fe5
feat: database models and alembic migrations — all tables per design
- shared/db.py: async engine + session factory
- shared/models/base.py: DeclarativeBase + TimestampMixin
- shared/models/trading.py: Strategy, Signal, Trade, Position, StrategyWeightHistory
- shared/models/news.py: Article, ArticleSentiment
- shared/models/learning.py: TradeOutcome, LearningAdjustment
- shared/models/auth.py: User, UserCredential
- shared/models/timeseries.py: MarketData, PortfolioSnapshot, StrategyMetric
- Alembic async env.py with initial migration including TimescaleDB hypertables
- 21 model tests covering enums, instantiation, metadata registration
2026-02-22 15:17:07 +00:00

44 lines
1,018 B
Python

"""Shared SQLAlchemy models — import all models here so Alembic can discover them."""
from shared.models.base import Base, TimestampMixin
from shared.models.trading import (
Signal,
SignalDirection,
Strategy,
StrategyWeightHistory,
Trade,
TradeSide,
TradeStatus,
Position,
)
from shared.models.news import Article, ArticleSentiment
from shared.models.learning import LearningAdjustment, TradeOutcome
from shared.models.auth import User, UserCredential
from shared.models.timeseries import MarketData, PortfolioSnapshot, StrategyMetric
__all__ = [
"Base",
"TimestampMixin",
# Trading
"Strategy",
"Signal",
"SignalDirection",
"Trade",
"TradeSide",
"TradeStatus",
"Position",
"StrategyWeightHistory",
# News
"Article",
"ArticleSentiment",
# Learning
"TradeOutcome",
"LearningAdjustment",
# Auth
"User",
"UserCredential",
# Timeseries
"MarketData",
"PortfolioSnapshot",
"StrategyMetric",
]