Calculating Margin Requirement...

Discussion in 'Options' started by Quanto, Dec 17, 2023.

  1. Quanto

    Quanto

    What is the Initial Margin Requirement (ReqT) for the following ShortStrangle :
    Underlying: Spot=10
    ShortCall: Strike=11 Premium=3.75
    ShortPut: Strike=9 Premium=3.35
    ?
    Is it $107.10 x 100 per contract as the TradeStation margin formula indicates? (if I interpreted it correctly)

    But this would mean the MaxPossibleProfit is just 6.63% (ie. 7.10 / 107.10 * 100).
    I can't believe this be correct. Please someone check this.

    How much would the MarginReq be at the other retail brokers like IB, TDA, Schwab, TastyTrade, RobinHood etc?
     
    Last edited: Dec 17, 2023
  2. Quanto

    Quanto

    For such a ShortStrangle, does there exist an alternative construct, ie. a synthetic, with much less MarginRequirement (or BuyingPower Requirement)?
     
  3. mervyn

    mervyn

  4. Quanto

    Quanto

    But the problem is that the said broker is asking for much more than what the exchange asks.
    The difference is that the broker asks for more than 10x (!) of the exchange requirement. This is how the traders are get ripped by such shameless greedy brokers :-(

    I soon will post an example with numbers that demonstrates this big difference.
     
  5. mervyn

    mervyn

    do your math again. don’t think any legit brokers are asking 10x margin, even retails are not that stupid.
     
    Quanto likes this.
  6. Quanto

    Quanto

    I checked my math, and unfortunately I'm right :
    The said broker uses the max of 3 formulas as the MarginReq for NakedCall and NakedPut.
    The 3rd formula is this:
    3) 100% of the option proceeds + ($100/contract)
    It means that the MarginReq is always >= $100 (x multiplier 100 of course).
    These high margin requirements for NakedCall and NakedPut then get used in the formula for ShortStrangle, causing the shown high requirement of $107.10 for the said ShortStrangle in the OP:
    InitReq=107.10 (MaxPL=6.63%)

    If we leave out the above 3rd formula, then the result is this one:
    InitReq=8.10 (MaxPL=87.65%)

    So, the difference is 107.10 / 8.10 = 13.22 times more margin requirement!
    I'm sure the difference to the exchange margin requirement is even higher, as the broker generally uses some higher rates.
     
    Last edited: Dec 17, 2023
  7. ajacobson

    ajacobson

    20% of the underlying is missing from your calculation.

    For short straddles or strangles the margin for the highest margin side.

    Unless your account has a previous margin violation and it gets onerous.
     
    Last edited: Dec 17, 2023
  8. Quanto

    Quanto

    Nope, see rule #1 below.
    Here's my code for NakedCall and NakedPut (these are needed for the ShortStrangle) using the TradeStation margin link in OP.
    Via "uParCode" I can disable/enable the 3rd rule (cf. above).
    And: it's not about my account, but about the broker TradeStation. I don't have an acct with them.
    Code:
        ...
        if (sPosition == "NakedCall")
          {
            Req.ITMval = K < S ? S - K : 0.0;
            Req.OTMval = K > S ? K - S : 0.0;
    
            // "1)  100% of the option proceeds + (20% of the Underlying Market Value) – (OTM Value)"
            const double X1 = Pr + S * 0.2 - Req.OTMval;
         
            // "2)  100% of the option proceeds + (10% of the Underlying Market Value)"
            const double X2 = Pr + S * 0.1;
         
            // "3)  100% of the option proceeds + ($100/contract)"
            const double X3 = Pr + (uParCode == 1 ? 0.0 : 100.0);
         
            Req.MarginAcct.InitReq = max(max(X1, X2), X3);
          }
        else if (sPosition == "NakedPut")
          {
            Req.ITMval = K > S ? K - S : 0.0;
            Req.OTMval = K < S ? S - K : 0.0;
    
            // "1)  100% of the option proceeds + (20% of the Underlying Market Value) – (OTM Value)"
            const double X1 = Pr + S * 0.2 - Req.OTMval;
         
            // "2)  100% of the option proceeds + (10% of the Strike Price x Multiplier x Contracts)"
            const double X2 = Pr + K * 0.1;
         
            // "3)  100% of the option proceeds + ($100/contract)
            const double X3 = Pr + (uParCode == 1 ? 0.0 : 100.0);
         
            Req.MarginAcct.InitReq = max(max(X1, X2), X3);
          }
        ...
    
     
    Last edited: Dec 18, 2023
  9. ajacobson

    ajacobson

    Reading the margin manual is out of the question. Garbage in - garbage out.

    Page 6 with an example of the actual calculations on pages 30 - 32.

    20% of the underlying - plus premium - minus the OTM amount. A small variance for puts and calls. The whole idea is to harmonize the requirement with the minimum requirement in stock if exercised.

    Down to 10% of the underlying - plus premium. As your option goes in the money it harmonizes the requirement.
     
    Last edited: Dec 18, 2023
  10. Quanto

    Quanto

    When I disable the said 3rd rule of the TradeStation margin formula for NakedCall and NakedPut,
    then it gives the same MarginReq like in CBOE's example for ShortPut on p.28, and ShortCall on p.32 :

    This is the result with the said rule 3 of TradeStation:
    Code:
    calc_margin_req(sPosition=NakedCall, uParCode=0, S=128.5000, K=120.00, Pr=8.4000)
    ITMval=8.5000 OTMval=0.0000
    MarginAcct:  InitReq=108.4000
    
    calc_margin_req(sPosition=NakedPut, uParCode=0, S=95.0000, K=80.00, Pr=2.0000)
    ITMval=0.0000 OTMval=15.0000
    MarginAcct:  InitReq=102.0000
    
    And this is w/o the said rule 3 (it equals the above said CBOE examples):
    Code:
    calc_margin_req(sPosition=NakedCall, uParCode=1, S=128.5000, K=120.00, Pr=8.4000)
    ITMval=8.5000 OTMval=0.0000
    MarginAcct:  InitReq=34.1000
    
    calc_margin_req(sPosition=NakedPut, uParCode=1, S=95.0000, K=80.00, Pr=2.0000)
    ITMval=0.0000 OTMval=15.0000
    MarginAcct:  InitReq=10.0000
    
    So, the rule 3 of TradeStation in calculating NakedCall and NakedPut is the culprit! It needs to be removed! Ie, this shit:
    3) 100% of the option proceeds + ($100/contract)
    and
    3) Market value of the option + ($100/contract)


    TS_Margin_Bug_see_rule_3.png
     
    Last edited: Dec 18, 2023
    #10     Dec 18, 2023