Alpha Generated from TVL and Twitter

Table of Contents

Using TVL sorted portfolios, Brigida (2025)1 found no evidence that TVL can generate alpha. Returns on TVL-sorted portfolios are linear functions of crypto market returns. These results also imply TVL-sorted portfolios do not proxy an investment intensity or value effect. In a follow-on series of blog posts I am testing whether portfolios sorted on both TVL and other factors can generate alpha. Specifically, I test the multisort portfolios for significant alpha in a regression on excess crypto market returns, and a crypto size factor.

In this notebook I test portfolios sorted on both TVL and new X (Twitter) followers (both scaled by market cap). I find that the mean return on a new X followers and TVL sorted portfolio is not significantly positive. However, the alpha in a linear regression of the portfolio returns on a crypto two-factor model is positive and significant, as is Hansen's J-statistic. In sum, we document large positive pricing errors (alphas) for TVL and X followers multisort portfolios relative to a 2-factor model, while a significant Hansen J-stat indicates the benchmark is rejected, so we interpret these results as tentative evidence of abnormal performance.

1. TVL and X Followers Multisort Portfolios

In my tests I follow the standard Fama–French 2×3 portfolio construction, adapted to crypto. Each period I rank all eligible tokens on two characteristics measured in the prior period: total value locked (TVL) and new X followers (scaled by market cap). First, I split tokens into Small TVL and Big TVL groups using the median TVL. Independently, I sort tokens into three X-activity groups — Low, Medium, and High X followers — using the 30th and 70th percentiles of the X measure. Taking the intersection of these two independent sorts gives six portfolios: Small–Low (SL), Small–Medium (SM), Small–High (SH), Big–Low (BL), Big–Medium (BM), and Big–High (BH). I then track the value-weighted returns of these six portfolios over the next period. This 2×3 design lets me see how returns vary jointly with TVL and new X followers, and then build long–short factors (e.g., high-minus-low X followers controlling for TVL) to test whether these characteristics earn a risk premium.

1.1. Data

The data are weekly, and range from 1/3/2022 to 7/28/2025. We include all coins that were in the top 100 over any part of the sample period, though we exclude Bitcoin and all stablecoins. Returns are quoted in percentage points.

1.2. TVL factor: Small minus Big TVL (\(SMB_{TVL}\))

The long-short \(SMB_{TVL}\) portfolio measures whether TVL is a rewarded risk factor when controlling for new X followers to market cap.

\[\text{TVL}_{{SMB}_t} = \frac{1}{3}\bigl(R_{SL,t} + R_{SM,t} + R_{SH,t}\bigr) - \frac{1}{3}\bigl(R_{BL,t} + R_{BM,t} + R_{BH,t}\bigr)\]

Descriptive statistics.

           0
count  67.00
mean    0.12
std     6.71
min   -19.37
25%    -4.36
50%    -0.22
75%     3.53
max    19.59

The portfolio has a weekly mean return of 0.12 %, and given the result below, the mean return is not significantly different from 0 under a simple i.i.d T-test.

TtestResult(statistic=array([0.14361226]), pvalue=array([0.88624425]), df=array([66]))

multi_SMB.png

1.3. X factor: High New X Followers minus Low New X Followers (\(HML_{X}\)), neutral to TVL

This long-short portfolio is long tokens with more new X followers (per market cap) and short tokens with low new X followers, while controlling for TVL.

\[\text{X}_{{HML}_t} = \frac{1}{2}\bigl(R_{SH,t} + R_{BH,t}\bigr) - \frac{1}{2}\bigl(R_{SL,t} + R_{BL,t}\bigr)\]

Descriptive statistics. Data is weekly, and in percentage points.

           0
count  68.00
mean    2.21
std    12.42
min   -44.28
25%    -4.66
50%     0.82
75%     8.65
max    44.22

The portfolio has a substantial weekly mean return of 2.21 %, however given the T-test below, the mean return is not significantly different from 0.

TtestResult(statistic=array([1.46850047]), pvalue=array([0.14664785]), df=array([67]))

multi_HML.png

2. Tests for Significant Alpha

To test whether my TVL–X portfolios earn any abnormal returns (alpha), I use a t-test on the intercept of a standard linear factor model and Hansen’s J-statistic2 for a joint alpha test.

I start from a 2×3 sort on lagged total value locked (TVL) and new X followers (both scaled by market cap), which gives me two test portfolios. For each portfolio, I ask whether its average excess return can be explained by two simple crypto risk factors: ​

  • \(R_{M_t} - R_{F_t}\): excess return on the broad crypto market
  • \(Market\ Cap\ SMB_t\): a "small minus big" size factor that goes long small-cap tokens and short large-cap tokens

That is, I estimate both:

\(\text{TVL}_{{SMB}_t} = \alpha_1 + \beta_{M,1}\bigl(R_{M_t} - R_{F_t}\bigr) + \beta_{S,1} Market\ Cap\ SMB_t + \epsilon_t\)

and

\(\text{X}_{{HML}_t} = \alpha_2 + \beta_{M,2}\bigl(R_{M_t} - R_{F_t}\bigr) + \beta_{S,2} Market\ Cap\ SMB_t + \epsilon_t\)

and then test whether \(\alpha_1\) and \(\alpha_2\) are individually and jointly equal to 0 via t-tests and Hansen's J-Statistic.

2.1. Results

2.1.1. Single Portfolio Tests

  1. \(TVL_{SMB}\) Portfolio
                                OLS Regression Results                            
    ==============================================================================
    Dep. Variable:              multi_SMB   R-squared:                       0.234
    Model:                            OLS   Adj. R-squared:                  0.210
    Method:                 Least Squares   F-statistic:                     19.61
    Date:                Sun, 08 Feb 2026   Prob (F-statistic):           2.28e-07
    Time:                        14:14:46   Log-Likelihood:                -213.18
    No. Observations:                  67   AIC:                             432.4
    Df Residuals:                      64   BIC:                             439.0
    Df Model:                           2                                         
    Covariance Type:                  HAC                                         
    ========================================================================================
                               coef    std err          z      P>|z|      [0.025      0.975]
    ----------------------------------------------------------------------------------------
    Intercept                3.2450      0.853      3.805      0.000       1.574       4.916
    excess_crypto_market    43.9512      7.508      5.854      0.000      29.236      58.666
    single_smb_factor       -0.0406      0.042     -0.972      0.331      -0.123       0.041
    ==============================================================================
    Omnibus:                        2.692   Durbin-Watson:                   2.026
    Prob(Omnibus):                  0.260   Jarque-Bera (JB):                1.932
    Skew:                          -0.256   Prob(JB):                        0.381
    Kurtosis:                       3.655   Cond. No.                         274.
    ==============================================================================
    
    Notes:
    [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 4 lags and without small sample correction
    
  2. \(X_{HML}\) Portfolio

    Regressing HML portfolio returns on our two factors yields a weekly alpha of 5.68%, which is significant at the 1% level. We use Newey–West (HAC) standard errors to account for heteroskedasticity and autocorrelation in weekly returns.

    Heteroscedasticity and autocorrelation robust standard errors:

                                OLS Regression Results                            
    ==============================================================================
    Dep. Variable:              multi_HML   R-squared:                       0.228
    Model:                            OLS   Adj. R-squared:                  0.204
    Method:                 Least Squares   F-statistic:                     4.818
    Date:                Sun, 08 Feb 2026   Prob (F-statistic):             0.0112
    Time:                        14:14:46   Log-Likelihood:                -255.05
    No. Observations:                  67   AIC:                             516.1
    Df Residuals:                      64   BIC:                             522.7
    Df Model:                           2                                         
    Covariance Type:                  HAC                                         
    ========================================================================================
                               coef    std err          z      P>|z|      [0.025      0.975]
    ----------------------------------------------------------------------------------------
    Intercept                5.6824      2.199      2.584      0.010       1.373       9.992
    excess_crypto_market    55.3043     24.237      2.282      0.023       7.800     102.808
    single_smb_factor       -0.2229      0.126     -1.767      0.077      -0.470       0.024
    ==============================================================================
    Omnibus:                        6.407   Durbin-Watson:                   1.823
    Prob(Omnibus):                  0.041   Jarque-Bera (JB):               10.727
    Skew:                          -0.024   Prob(JB):                      0.00468
    Kurtosis:                       4.960   Cond. No.                         274.
    ==============================================================================
    
    Notes:
    [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 4 lags and without small sample correction
    

2.1.2. Joint Test

                      TradedFactorModel Estimation Summary                      
================================================================================
No. Test Portfolios:                  2   R-squared:                      0.2291
No. Factors:                          2   J-statistic:                    15.909
No. Observations:                    67   P-value                         0.0004
Date:                  Sun, Feb 08 2026   Distribution:                  chi2(2)
Time:                          14:14:46                                         
Cov. Estimator:                  kernel                                         
                                                                                
                                 Risk Premia Estimates                                  
========================================================================================
                      Parameter  Std. Err.     T-stat    P-value    Lower CI    Upper CI
----------------------------------------------------------------------------------------
excess_crypto_market    -0.0742     0.0091    -8.1206     0.0000     -0.0922     -0.0563
single_smb_factor       -3.3428     2.1941    -1.5235     0.1276     -7.6432      0.9576
========================================================================================

Covariance estimator:
KernelCovariance, Kernel: bartlett, Bandwidth: 4.0
See full_summary for complete results

See the results above, estimated via the Traded Factor Model method from the linearmodels python package. Hansen's J-Statistic (15.91) is a test of whether the alpha coefficients are jointly equal to 0 (the null hypothesis). We reject the null with the statistic's p-value of 0.0004. This is evidence that the two-factor model does not span the multisort portfolio returns.

Footnotes:

1

Brigida, Matthew (2025), "The surprising irrelevance of total-value-locked on cryptocurrency returns," Economics Letters, Vol 257.

2

Hansen, Lars Peter (1982), "Large Sample Properties of Generalized Method of Moments Estimators," Econometrica.

Author: Matt Brigida

Created: 2026-02-08 Sun 14:14

Validate