Liquid etf risks

Well, a lot can be still be explored and said.
( has been already in this thread, and will continue to be as long as folks are interested :slight_smile: )

working-youve-got-mail

OP’s requirement wasn’t absolute safety without other constraints.

There ARE other constraints.
Primarily, quick access to the capital in a certain scenario (equity market downturn) in the near future.

Without such an additional constraint,
one could even cut out one more middleman - SBI, and simply hold RBI GSECs/SDLs/TBills,
further eliminating whatever nominal risk SBI introduces in the chain.
(and even receive additional higher returns as well)

However, this is not a prudent approach in OP’s scenario because timely liquidity is not guaranteed.
In fact, from personal experience over several years (of being on the other side of such “desperate to liquidate” trades), i can attest that one will likely end-up with a haircut of 5-10% trying to quickly liquidate GSECs / SDLs / T-Bills on NSE/BSE during moments of significant equity market downturns.

i believe OP already understands this aspect.

@Prabhakaran_N now that we think about it,
any part of your funds that you wish to park now and that you later intend to use for trading on intraday margin,
have you considered investing in GSECs, that you can pledge, and have instant intraday margin at hand?
(Note1: Remember to pick GSECs with high volume lest they become unpledgeable An Example.)
(Note2: Do not plan/expect to be able to sell GSECs for immediate margin for delivery investments. An example.)


While we are at it, let’s talk about the relative safety of SBI and Liquid-ETFs -

Right. The numbers from Schedule 3 of their most recent Consolidated Balance Sheet and
the reported net global deposits in SBI in their recent annual report.

If the amount is being used as an indicator of SBI being “too big to fail”,
then Tri-party repo and reverse-repo instruments that the liquid ETFs invest/trade in,
are in the same ballpark, with daily volumes of lakhs of crores,
So for whatever it is worth, by the same yardstick, are also “too big to fail”. :person_shrugging:t4:

Also, with SBI (and its subsidiary SBIMF) incidentally being major players in this market, are often on either sides of trades in these instruments that other Liquid ETFs are exposed to. Thus lending more of their “too big to fail” support to this market.


Liquidity risk (not the typical “no buyer in the market” liquidity risk)

With the red-herring (of credit risk) out of the picture,
let us now focus on the main risk with SBI (or for that matter parking funds in most banks) in OP’s scenario,
Note that in this case, we are not interested in the low probability of this entire deposit going to zero.
Rather we are also (mainly?) interested in the likelihood of the risk that at some precise moment some time in the near future one is unable to transfer funds from one’s SBI account to one’s trading account in a timely manner.

SBI’s being “too big to fail” is not going to help much,
if during an economic crisis or a significant market downturn
(precisely when OP wishes to withdraw funds), …

  • …a moratorium or thresholds are placed on withdrawals in the name of stabilizing the economy
    While unlikely, this is not something unheard of. Also, IMHO, it is something that is in the same region of likelihood of an event that OP is preparing for (to invest in the equity market downturn).

  • …infrastructure limitations prevent/delay timely funding of one’s trading account.
    Yes we won’t simply “pull it out of an SB account”. We will rely on IMPS/NEFT/RTGS, which are known to experience failed transactions and delays of hours, in times of significant market swings/crashes, during which a large number of folks are trying to move huge volumes from/to banking/trading accounts. Also, it is not just SBI involved here, let us account for any risks of delays due to the banking institutions of one’s broker as well.

Parking one’s capital in the market itself (Liquid ETFs) with quicker access to it with lesser intermediaries involved minimizes the above risk.


Tail-risk

Next, since we are discussing tail-risk involving extremely low probabilities / unlikely events -

a. we are better served by keeping aside our intuitions that are not optimized for such scenarios.

b. either deploy a “Seneca’s barbell” portfolio to try to position ourselves to potentially benefit from extremely unlikely events in consideration.

c. or diversify to avoid any single tail-event from causing any major disruption to one’s financial plan.


How Diversifying can enable higher returns (at relatively lower risk)

Even if we ignore the liquidity risks with
parking one’s capital in SBI SB account, which would later be required in a trading account,
one is likely also paying too high a price for whatever risk-management an SBI SB account offers.
This is a logical assumption as a savings bank account offers other services in addition to parking money.

A more stringent “proof” for the same could be as follows -

Anyone offering 5-6% SB interest? Apparently, SBI is offering 2.5% p/a.

For the sake of calculation, assigning a minuscule 1-in-a-billion risk of SBI defaulting
and comparing the expected-value of its 2.5% returns,
with the expected-value of an alternate asset that offers 5% returns,
the math results in this alternate asset being on-par expected-value even upto a default rate of ~2.3%.

This opens up a vast number of debt assets ranging from sovereign-debt to even corporate-debt that can offer equal or better risk-adjusted returns. Of course, one would need to rely on investing in dozens of them to avoid concentration risk, and a mutual-fund that does this (and can offer desired instant liquidity) precisely fits the bill.

Calculations (if anyone's interested, please check.
Source-code with the logical calculations `risk_expected_utility.py`
def calculate_expected_utility(asset_return, default_prob):
    """
    Calculates the expected utility (return) of an asset considering default probability.
    assumes -100% loss on default (loss of principal).

    Args:
        asset_return (float): The annual return of the asset (e.g. 7.5 for 7.5%)
        default_prob (float): The probability of default (e.g. 1.0 for 1.0%)

    Returns:
        float: The expected utility percentage
    """
    # Convert percentages to decimals for calculation
    p_default = default_prob / 100.0
    p_success = 1.0 - p_default

    # Expected Utility = (Loss on Default * Probability of Default) + (Return * Probability of Success)
    # Loss on default is assumed to be -100% (total loss of principal)
    expected_utility = (-100.0 * p_default) + (asset_return * p_success)

    return expected_utility

if __name__ == "__main__":
    print("--- Expected Utility Analysis (Default Risk) ---")
    print("Calculates expected return assuming -100% loss on default.")

    try:
        r_a = 2.5  # SBI SB interest-rate as a reference
        r_b = 5.0  # Returns from an arbitrary asset to compare

        print(f"\nGiven:")
        print(f"  Asset A Return: {r_a}%")
        print(f"  Asset B Return: {r_b}%")

        # Get default probabilities
        prob_a_input = input(f"Enter probability of default for Asset A ({r_a}%) (e.g., 0 for 0%): ")
        prob_a = float(prob_a_input) if prob_a_input.strip() else 0.0

        prob_b_input = input(f"Enter probability of default for Asset B ({r_b}%) (e.g., 1.5 for 1.5%): ")
        prob_b = float(prob_b_input) if prob_b_input.strip() else 0.0

        eu_a = calculate_expected_utility(r_a, prob_a)
        eu_b = calculate_expected_utility(r_b, prob_b)

        print(f"\nAsset A ({r_a}% return, {prob_a}% default risk):")
        print(f"  Expected Utility: {eu_a:.8f}%")

        print(f"Asset B ({r_b}% return, {prob_b}% default risk):")
        print(f"  Expected Utility: {eu_b:.8f}%")

        diff = abs(eu_a - eu_b)
        if eu_b > eu_a:
            print(f"\nAsset B has a higher expected utility by {diff:.8f}%.")
        elif eu_a > eu_b:
            print(f"\nAsset A has a higher expected utility by {diff:.8f}%.")
        else:
            print("\nBoth assets have the same expected utility.")

        # Calculate break-even probability for Asset B
        breakeven_prob_b = (r_b - eu_a) * 100 / (100 + r_b)

        print(f"\nTo match Asset A's Expected Utility ({eu_a:.8f}%):")
        if breakeven_prob_b < 0:
             print(f"  Asset B cannot match Asset A's utility even with 0% default risk.")
        else:
             print(f"  Asset B's maximum allowed default probability is: {breakeven_prob_b:.8f}%")

    except ValueError as e:
        print(f"Error: {e}")
    except Exception as e:
        print(f"An unexpected error occurred: {e}")
An example execution and results
$ python risk_expected_utility.py 
--- Expected Utility Analysis (Default Risk) ---
Calculates expected return assuming -100% loss on default.

Given:
  Asset A Return: 2.5%
  Asset B Return: 5.0%
Enter probability of default for Asset A (2.5%) (e.g., 0 for 0%): 0.0000001  <-- one in a billion percent
Enter probability of default for Asset B (5.0%) (e.g., 1.5 for 1.5%): 1      <-- some typical AAA bond just to check how EV compares.

Asset A (2.5% return, 1e-07% default risk):
  Expected Utility: 2.49999990%
Asset B (5.0% return, 1.0% default risk):
  Expected Utility: 3.95000000%

Asset B has a higher expected utility by 1.45000010%.

To match Asset A's Expected Utility (2.49999990%):
  Asset B's maximum allowed default probability is: ~2.38%

PS: If anyone reading this is still thinking of trying to time the market, :sweat:
please think of the complexities involved beyond the above superficial arm-chair analysis,
and seriously reconsider. :crossed_fingers:t4:

Still not convinced ?

Search about and read

  • Expected Value vs. Expected Utility, [1] [2]
  • Why diversification alone cannot account for all Systemic Tail Risks and Liquidity Risks.
1 Like