INNER CODE UNIT · Python

_spearman

jialuechen/flowforge · flowforge/diagnostics/flow.py:55

    def _spearman(a: pd.Series, b: pd.Series) -> float:
        return float(a.rank().corr(b.rank()))

    part = o["participation"].to_numpy(dtype=float)
    tail = np.sort(part[part > 0])
    k = max(len(tail) // 10, 10)
    top = tail[-k:]
    if len(top) > 1 and top[0] > 0:
        denom = float(np.mean(np.log(top / top[0])))
        hill = 1.0 / denom if denom > 0 else np.nan
    else:
        hill = np.nan

    return {
        "corr_size_participation": _spearman(size_pct_adv, o["participation"]),
        "corr_size_marketcap": _spearman(size_pct_adv, o["market_cap"]),
        "participation_tail_exponent": float(hill),
        "mean_participation": float(part.mean()),

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…