Showing posts with label Kelly Criterion. Show all posts
Showing posts with label Kelly Criterion. Show all posts

Saturday, May 5, 2018

A little too exciting in spots, but still 100% wins ... Also Kelly Criterion vs Monte Carlo

On Thursday a.m. early I thought the winning streak might come to an end:


But as you can see, the early morning a.m. plummet created a bounce up into the profitable zone ... I was short the 2610 strikes for Friday and it never got close again.

I am keeping track of the return I'm getting on this page, but I've been thinking about the limitations of the Kelly Criterion to use in evaluating trades.

The Kelly Criterion assumes that when you lose, you lose 100%. This is OK for some trades where this is in fact the case, or nearly so. But my widen the strikes revelation from 2 weeks ago made me realize that with this kind of trading there will be a spread of losses as wide as the wing width. Until I have a loss with this system (no hurry!) I don't even have a dot to put on that map.

But with a Monte Carlo simulation one can write a computer program to use the data that one has for this kind of loss, or just to program various kinds of reasonably expected loss instances.

I have been maintaining such a program for a while now; it runs 20000 simulations of a trade with various parameters (win rate & amount one up until recently) ... and now with a function I added failcalc() to estimate the spread of losses. Source code:

def failcalc():
    # 80% chance of getting the "notsobaddest" 20% of the spread
    spreadone = random.random()
    spreadtwo = random.random()
    if spreadone >= 0.8:
        loss = (1.0 - spreadone) * spreadtwo
    else:
        loss = spreadtwo

    return loss

That is, I assume that losses will be clustered 80% in the 20% smallest loss end of the spread's wing.

Other assumptions: 95% win rate, making 9.31% on every win, risking 15% of the account on every trade, 3 trades per week. Run is from now to the end of 2020.

The simulation using these assumptions gives this result, starting with $50000 today:

Minimum: $405740.16
Mean (average): $3,565,303.20
Maximum: $13,469,500.00
Standard Deviation: $1,584,992.10

Standard deviation is based on this curve:

The Standard Deviation symbol is the greek letter sigma ... basically the standard deviation shows the 68.2% chance of being that amount above or below the mean. So the most likely result (assuming the simulation parameters are correct!) is (roughly) between $2.0M and $5.0M ... 

Let's change the parameters back to a 5-wide wing. This would give a higher return (let's assume 13.5%) but much more likely to give a 100% loss (assume 80% of the time you have a 100% loss, with the rest randomly spread along the [tiny] width of the wing).

Results of this run:

Minimum: $144644.16
Mean (average): $9165858.0
Maximum: $109293100.0
Standard Deviation: $7361821.0

Clearly this one is much more volatile ... and subject to being much more likely to lose 2 in a row (which is not captured in the assumptions, I don't think.)

One think the Kelly Criterion can do is point us to the amount of risk we should be taking on every trade. Currently the Kelly is suggesting we risk 41.2% for the trades we have on our page ... 

Going back to the original run (wide wings, spread of losses wide again), but risking 20% on each trade, gives us:

Minimum: $897,867.06
Mean (average): $14,407,274.00
Maximum: $66,243,100.00
Standard Deviation: $8,207,564.00

So with this one I'm most likely to wind up with $6M to ... $22M ... anything in that range would be OK, really!

I'll be sorely tempted to start this in June, but I am going to stick with 15% risk per trade in May as previously I said ...

What will I do if there's no flaw in my analysis and I do wind up with $10M or so by the end of 2020? This, for sure:


... build a zero-energy house that my Lovely Wife will find acceptable ...

                                                   

Friday, April 27, 2018

$30-wide wings and .10/.08 delta short strikes work magic again

I stuck to the revised system this week and once again had all winners (so far -- SPX trades expiring Monday 4/30 and Wednesday 5/2 are still alive).


The market went almost nowhere (net) after bouncing around like mad:

The accounts I am trading were up about 4% again this week, and I still haven't lost one of these trades.

Let's go back to our friend the Kelly Criterion ... I got $2.15, $2.95 and $2.75 on the $30-wide spreads this week. This is 7.71%, 10.90% and 10.09%. Averaging these three gives 9.567%. Plugging this into the Kelly Criterion assuming 95% wins:


So half that would be 21% ... not far from the 15% in our system. I'll keep watch on this and possibly boost the amount at risk on each trade based on revised statistics. But I think I'm going to stick with this system without any more tweaks through the end of May.

That's it for this week ... I started a new day job this past Monday, so my next move:





Friday, April 13, 2018

Another 100% winning week and a refined risk idea ... plus fun with the Kelly Criterion!

I put on 3 more SPX and 1 more AMZN .10 delta condors this week and once again all worked. So I'm now 6-0 or 8-0, depending on how we're counting these.

Conditions were very favorable, with the VIX still relatively high (closed at 17.41) and the market going nowhere all week:

I'm using the Kelly Criterion to figure out how much risk to take on each trade, but to figure the K.C. one has to know how often the particular trade in question fails ... Since we haven't had this one fail, we can't use the Kelly. But ...

What happens to the Kelly Criterion for a trade or bet that always works, or almost always?


As expected: bet 100% of your stake/account if you have a bet that always wins ... (Make sure the "always" is true, though ...)

What about "almost" always: 98.5% of the time?


That's almost all of your account, fitting my intuition of what would be recommended. But once again, 1/2 the Kelly Criterion is plenty exciting/profitable: bet 45.5%, 46.75%, 47.75% ...

Just to be conservative while I'm waiting (no hurry!) for one of these trades to lose, I'm assuming 92.5% wins, and I get an average of 18% or so return on each trade. So:

So 25% ... but I'm not even going to do that ... bringing me to my final subject for this post ...

I said earlier that risking 33% overall of an account was plenty ... but the way the trades overlap makes it stopping at 33% leaving money on the table, I think.

If I risk 15% of the account on each SPX trade, that makes 45% maximum at risk ... but only for a few hours on Monday, Wednesday and Friday. Specifically, I usually put the trade on around 8am Pacific ... and one of the overlapping ones expires (worthless, we always hope) at 1:15 pm. So that's 5.5 hours of 45% exposure, 3 times per week = 16.5 hours of the 168 hours in a week at 45% risk and rest only 30%.

This seems like a balance of risk and reward that's worth doing. In fact this is an understatement. The mean expectation using this system (risking 15% on every trade) and getting a 15% return on every winning trade, winning 92.5% of the time, just for the rest of this year (40 weeks at 3x/week) ... a $50000 account becomes, on average, worth $247669.25!

More next week ...


Friday, March 16, 2018

NDX trade wins again! (14 for 15? I've lost track!) Also: AMZN?

This was "expiration week" meaning the NDX was once again a.m. settled. I put it on again, and again it worked ...

Volatility was still up a bit, so I got from $1.60 to $2.29 credit, which is 29.7% on the $2.29 credit.

I put on the SPX Friday to Monday trade again and so far so good. But its volatility is pretty low and watching TastyTrade I just got another idea ... AMZN.

Yes, Amazon.com ... it's priced high enough that one can go waaaay out to the wings and still get a reasonable credit. But if you take a not quite so way out upper wing (16 delta) and a 5 delta lower wing, look what you get (on a 1-week trade):


That's right: risk 1.05 to make 1.5 (if held to expiration). This should work at least 70 percent of the time, and putting this into our Kelly Criterion calculator gives:


Translation: a trade that works 70% of the time, returning 1.41125 of the amount at risk would be maximally profitable over time if you risk 48.7% of your account on this trade ... 24.3% for half kelly, which is plenty profitable and less volatile for my tastes.

Anyway, I'll have to try one of these next week ...

Saturday, January 20, 2018

This week's results: another win for both trades!

We've reached the expected 91.7% win rate for the NDX trade; it's now 11 for 12.
There was for some reason more volatility this week, so NDX paid $1.75 to $1.80 (i.e. 21.212% to 21.951% on margin). If you (following around 1/2 of the Kelly criterion) risk 30% of your account on the trade, that's over 6% for the week!

The TSLA test trade also worked, returning 57 cents on a $2.50 wide iron condor, so $0.57 / $1.93 = 29.5%! It was looking a little scary end of day Thursday but recovered nicely into the groove on Friday:


We don't have enough data yet to project the Kelly Criterion for this one, but 30% of your account risked would yield 9% for the week!

More next week ...


Saturday, November 4, 2017

Reconsidering routine use of the futures to save the Iron Condor ... because the projected results are so good without it

Despite my enthusiasm in my last post for using  /NQ futures to overcome any loss in an NDX iron condor going wrong, I am reconsidering the routine use of such futures.

The trade I made on Thursday worked, making this test session 1 and 1: 50%. But the futures graph was very different on this past Thursday and Friday:


I put on this trade late Thursday a.m.:


  • Sold the 6270 Call
  • Bought the 6280 Call
  • Sold the 6170 Put
  • Bought the 6180 Put
... for a $1.90 credit. This gives $1.90 / ($10 - $1.90) = a 23.456% return.

After you put on this trade, the only chart you need to look at is the NDX settlement number, which goes under a different symbol called NDS:


... and as you can see by the NDS value from Friday, this trade worked and all 4 legs expired worthless, for a full profit.

If we can really do this 91.7% of the time (make 23%), and we risk 25% of our stake every time, the 1-year (52 week) Monte Carlo results are like this:
  • Starting stake $55,000
  • Mean value  $281,043
  • Standard deviation: $181,147
So the ending results should be between $100K and $462K 68% of the time ...

(I think I can improve this trade by widening it a bit ... for example sell the 6280 calls and buy the 6290 calls ... so what if this returns "only" 18% or 20% if you win 93.5% of the time ...) 

For this test I'll keep doing the "one standard deviation" but will check results against the "one standard deviation and one more strike wide" version. Last week it would have made no difference whatsoever ...

The risk you have to be willing to stomach doing this trade this way is: now and then you will lose 25% of your account. You'll make enough to cover this, many times over. But if you can't stand this you'll have to cut down the amount you risk, which will reduce your expected return.

The Kelly Criterion is even wilder: it suggests risking 57% of your stake on this trade. Great when it works, but hoo boy! I'd suggest being damned sure of the 91.7% win rate before doing this ...





Monday, October 30, 2017

NDX weeklies + /NQ hedge = $$$$$$! Sweet!

I just mentioned in my last post how one might use an /NQ hedge to move a losing iron condor into the winning column:


I only realized over the next night that this the /NQ hedge is the key to bringing the win rate from 91.67% to 95% or even 100%! I can imagine some weird reversals in /NQ in the middle of the night, but if carefully managed it looks like one would just lose a bit on /NQ and win the main trade ...

Then with the Kelly Criterion you can pick how much of your trading stake to risk each week ...
The formula suggests betting almost 62% of your money on a trade that returns 15% and has a 95% chance of winning. I can understand that one wouldn't want to do that if not sure of that 95% win rate yet, and in any event the Kelly Criterion is known for producing results that are distinctly volatile:


... and you can still get excellent results using 1/2 or 2/3 the suggested bet of the Kelly Criterion.

Anyway, here's the plan:

  • Sell N (1 to the number you can stand!) NDX iron condors (or even sell strangles) at one standard deviation (delta 0.16, or 16% probability in Tastyworks) .. do this within 3 hours of the close every Thursday.
  • Set a buy market order when the /NQ price gets halfway (or better! in case it zooms as it did last Thursday to the short call strike price) and a sell market order for /NQ 1/2 the way down to the short put.
That's it ... management of the /NQ position is left as an exercise to the reader (and something I'll be experimenting with working on getting to that 100% win rate!)

Note that the Friday morning NDX price is marked under symbol NDS, not NDX.


Questions?