31 lines
771 B
Python
31 lines
771 B
Python
"""
|
|
Validation utilities for COBY system.
|
|
"""
|
|
|
|
import re
|
|
from typing import Any
|
|
|
|
|
|
def validate_symbol(symbol: str) -> bool:
|
|
"""Validate trading symbol format"""
|
|
if not symbol or not isinstance(symbol, str):
|
|
return False
|
|
|
|
# Basic symbol validation (letters and numbers, 3-12 chars)
|
|
pattern = r'^[A-Z0-9]{3,12}$'
|
|
return bool(re.match(pattern, symbol.upper()))
|
|
|
|
|
|
def validate_price(price: float) -> bool:
|
|
"""Validate price value"""
|
|
return isinstance(price, (int, float)) and price > 0
|
|
|
|
|
|
def validate_volume(volume: float) -> bool:
|
|
"""Validate volume value"""
|
|
return isinstance(volume, (int, float)) and volume >= 0
|
|
|
|
|
|
def validate_timestamp(timestamp: Any) -> bool:
|
|
"""Validate timestamp"""
|
|
return timestamp is not None |