Quantcast
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Options Modeling: The Long And Winding Road - Begining

Discussion in 'General Discussion' started by Marcas, Jan 12, 2018.

  1. Marcas

    Marcas Well-Known Member

    Can one trade options without any model? - Yes.
    Can one trade options with bad model? - Yes.
    Can one trade with good model? - Absolutely.

    Which one do you choose?

    I'm aiming for #3. That is fine but how to get there? How will I know when I see good model?
    One of methods is to test models for accuracy and consistency. How to do it? Look at model's prediction and compare it to what happened in reality.

    For example if you have ONE you can do it like this: choose trade for testing, choose time period. Place trade at start date and apply your model. Convenient way to proceed is to open another instance of ONE for moving time forward and leave fist one with your model at starting date.

    Then, on second instance, go 1 day forward , grab SPX level and realized p&l, go back to ONE with model on starting date. Set the t line to t+1 (top left corner of risk graph window with only one t line projection) and position cursor to match grabbed SPX level. Compare real and predicted p&l. You may wish to take notes about IVs as well. If you cant have two instances of ONE you will switch back and forth in single window.
    Repeat this as many times as you wish. Graph your data.
    Then change trade and repeat. Then change it again and repeat. And again, and again. (Or limit yourself just to one type of trade.)

    Then change starting date and start all over.

    When you finish you may have an idea about accuracy and consistency of your model.
    Then change model.

    In ONE we are limited to built-in models. At least I don't know how to test 3rd party's attempts to project fate of the trade. Of course you can use OV or any other backtesting software, ONE is just general example. On-side note: I was doing above a little, mostly to valuate my results, and found that ONE's elasticity model sometimes is unbelievably accurate; and sometimes it is not. I wish I know it but it's propriety.

    As with all manual testing it is a lot of tedious work. Looks like right job for computer. I put together program that can do above in semi automated manner.
    Here are some results for your thoughts if you are interested, I'm all ears.
    Firstly the trade.
    I used (1) BF 50/50 with shorts close to ATM and (2) BF that has shorts placed about 100p below ATM. I used only x25 strikes. Both trades are set about 56 DTE.

    I chose 3 periods for testing.
    #1 with flat market and stable IV – start date: 10 Apr 2015.
    #2 up-marker with IV going from higher to lower – start date: 8 Nov 2016
    #3 down-market with IV going from low to high – start date: 14 Aug 2015

    Now modeling. I used 3 simple modeling methods.
    * iliv (individual leg's IV) when I grabbed IV for each leg from starting date options' chain and apply that for all calculations.
    * wutec (walking up the expiration cycle) when I tried to predict changes in IV by applying IV based on strike distance from ATM in single expiration cycle. I applied simple extrapolation between strikes if captured SPX price fell in between.
    * wutch (walking up the chain) when I tried to capture IV for model from other chains based on DTE's. Here instead of extrapolating DTEs I simply chose chain with the DTE closest to tested t+0.

    Used model is Black-Scholes. IV chain is by others. Free rate is 0.25%. Dividend is 0.
    I know that mature modelers dismiss above inputs on the spot. It definitely belongs to category II (bad modeling) but by starting here we will see how bad they are (if at all) and what improvement can be achieved by application of some work to our inputs.

    I presented data on graphs as difference between t line and real p&l in a way that if t line was 'optimistic' it is shown above zero-line and its distance shows how much it's prediction was of in $ (It should be shown as % but I thought it will be easier to read this way especially that we looking nly at SPX at about same levels), and opposite: if model's p&l 'prediction' was below real data it is shown below zero-line.

    x - line is DTE (weekends are included).

    That's all.

    And disclaimer: I don't insist that my code is free of mistakes.
    ---

    First graph: 50/50 ATM BF in flat market (look it up for yourself on your platform I suppose it isn't necessary to post corresponding SPX and IV graphs).
    Flat_50_50_atm.png

    Second: 50/50 OTM BF in flat market (and low IV I should say).
    Flat_50_50_otm.png

    Now we switch to Up-market (with the same trades).
    Our ATM:
    Up_50_50_atm.png

    Up market OTM trade:
    Up_50_50_otm.png

    And here are our models in severe down-market conditions:
    ATM:
    Down_50_50_atm.png
    Down market OTM:
    Down_50_50_otm.png

    I kept x and y scales fixed for easier comparison.
     
  2. Marcas

    Marcas Well-Known Member

    As addition, risking of dumping too much on forum, just snapshots of some others points of view.
    Here is graph as above: flat market, atm trade, but placed at shorter DTE:
    Flat_50_50_atm_35DTE.png

    and here is brief look at 'iliv' (cute name, hugh?) method for the same trade at different DTEs in down market conditions:
    DifferentDTEs.png

    y scale on this graph is not exactly the same as before - I throw away weekends and holidays as non existent, I think it doesn't make a difference as all graphs are just to get a grasp of issue.
    And remember about disclaimer :)
     

Share This Page