Files
Pricer/pricer/utils.py
fredmaloggia f707b9c95b primo commit
2026-01-05 19:15:03 +01:00

29 lines
706 B
Python

import math
from typing import Iterable, List
def round_to_multiple(value: float, multiple: float) -> float:
if multiple == 0:
return value
return round(value / multiple) * multiple
def cumulative_sums(values: List[float]) -> List[float]:
if not values:
return []
results = [0.0] * len(values)
results[0] = values[0]
for i in range(1, len(values)):
results[i] = results[i - 1] + values[i]
return results
def standard_deviation(values: Iterable[float]) -> float:
vals = list(values)
n = len(vals)
if n <= 1:
return 0.0
avg = sum(vals) / n
sum_sq = sum((v - avg) ** 2 for v in vals)
return math.sqrt(sum_sq / (n - 1))