Skip to content

Commit 163da77

Browse files
committed
Fix NumPy typecheck errors.
1 parent 63f810d commit 163da77

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/pybroker/eval.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -431,8 +431,8 @@ def relative_entropy(values: NDArray[np.float64]) -> float:
431431
n_bins = 10
432432
elif n >= 100:
433433
n_bins = 5
434-
min_val = np.min(x)
435-
max_val = np.max(x)
434+
min_val = float(np.min(x))
435+
max_val = float(np.max(x))
436436
factor = (n_bins - 1.0e-10) / (max_val - min_val + 1.0e-60)
437437
count = np.zeros(n_bins)
438438
for v in x:
@@ -453,7 +453,7 @@ def iqr(values: NDArray[np.float64]) -> float:
453453
x = values[~np.isnan(values)]
454454
if not len(x):
455455
return 0
456-
q75, q25 = np.percentile(x, [75, 25], method="midpoint")
456+
q75, q25 = tuple(np.percentile(x, [75, 25], method="midpoint"))
457457
return q75 - q25
458458

459459

@@ -558,8 +558,8 @@ def avg_profit_loss(pnls: NDArray[np.float64]) -> tuple[float, float]:
558558
profits = pnls[pnls > 0]
559559
losses = pnls[pnls < 0]
560560
return (
561-
np.mean(profits) if len(profits) else 0,
562-
np.mean(losses) if len(losses) else 0,
561+
float(np.mean(profits)) if len(profits) else 0,
562+
float(np.mean(losses)) if len(losses) else 0,
563563
)
564564

565565

@@ -648,8 +648,8 @@ def r_squared(values: NDArray[np.float64]) -> float:
648648
coeffs = np.polyfit(x, values, 1)
649649
pred = np.poly1d(coeffs)(x)
650650
y_hat = np.mean(values)
651-
ssres = np.sum((values - pred) ** 2)
652-
sstot = np.sum((values - y_hat) ** 2)
651+
ssres = float(np.sum((values - pred) ** 2))
652+
sstot = float(np.sum((values - y_hat) ** 2))
653653
if sstot == 0:
654654
return 0
655655
return 1 - ssres / sstot

0 commit comments

Comments
 (0)