SteadyOptions is an options trading forum where you can find solutions from top options traders. TRY IT FREE!

We’ve all been there… researching options strategies and unable to find the answers we’re looking for. SteadyOptions has your solution.

Kim

Welcome to Steady Futures

588 posts in this topic

Recommended Posts

 
 
 
1
 Advanced issue found
 
2
1 minute ago, RapperT said:

very important for newer members to understand that we open new trades with right signal (long or short) and at the right delta in the trade alert.  Dont worry about matching our price

Can you please explain it bit more? I don't have a live data subscription for Future Options. so wondering how much I should deviate from the published price. 

Share this post


Link to post
Share on other sites
2 hours ago, RapperT said:

running a few minutes behind this am, coming up shortly

@RapperT Could you please explain this a little more. I am not sure  I get it: I means we are going to let the LE Bear Spread expire?

Share this post


Link to post
Share on other sites
1 minute ago, ramn said:

Can you please explain it bit more? I don't have a live data subscription for Future Options. so wondering how much I should deviate from the published price. 

ok that will be a little tougher. 

 

here is what i suggest:

 

1:  Set up the spread with your long at 50 delta and your short at the right strike to achieve forecasted delta in the alert.  So for today's ZN trade, you want the delta of your spread to be around 17

 

2:  Set you opening limit order well under whatever delayed mid you see if you dont have live data.  Then walk the price up until you get a fill.

 

This is a better approach than trying to match my spread and price exactly.  It also allows you to enter the trade whenever you want during the day

Share this post


Link to post
Share on other sites
3 minutes ago, RapperT said:

Set up the spread with your long at 50 delta and your short at the right strike to achieve forecasted delta in the alert.

thanks for explaining that and apologies for my little knowledge, how do I calculate that "50 delta" ? can you please refer me to the writeup/tutorial I should be reading to understand this?   

Share this post


Link to post
Share on other sites
Just now, ramn said:

thanks for explaining that and apologies for my little knowledge, how do I calculate that "50 delta" ? can you please refer me to the writeup/tutorial I should be reading to understand this?   

How delayed are you quotes?  Is it 15 min?  you broker should display the delta of each strike in your options grid.

Share this post


Link to post
Share on other sites
3 minutes ago, ramn said:

how do I calculate that "50 delta"

You do not have to calculate it you see it in the options chain. If you take a bull spread with calls you buy the ATM call which has a delta of around 50% or 0.5. Then you short a call and the delta sum (long -short) is the delta of your spread which should match the one in spreadsheet RapperT publishes on Friday morning.

Share this post


Link to post
Share on other sites
9 minutes ago, RapperT said:

How delayed are you quotes?  Is it 15 min?  you broker should display the delta of each strike in your options grid.

I am using IB, I guess it is 15mins.

Share this post


Link to post
Share on other sites

I am having issues placing some trades:

for example, LE while placing order "Bought Aug 07'20 (exp 7 Aug) 95/97 bear spread for .0085"

price .0085 is not available 

image.png.1bd49a931148b6fb7837144ca2d096

if I try to force the price I am getting this error. 

image.png

Am I doing something wrong?

Share this post


Link to post
Share on other sites
On 6/12/2020 at 12:56 PM, ramn said:

I am having issues placing some trades:

for example, LE while placing order "Bought Aug 07'20 (exp 7 Aug) 95/97 bear spread for .0085"

price .0085 is not available 

image.png.1bd49a931148b6fb7837144ca2d096

if I try to force the price I am getting this error. 

image.png

Am I doing something wrong?

I really recommend getting at least the CME futures data.  It doesn't cost much and trading the system will be hard without it.

 

Just walk up the price by whatever increments are available.  Don't worry about the price i paid.  Worry about the signal + the delta of the spread

Share this post


Link to post
Share on other sites

@RapperT @Jjapp Maybe the topic has already been discussed but would it be an option to let the system run biweekly instead of weekly? One advantage could be to save a lot of commissions. Opening and closing a FOP spread thru IB costs me on average 10 USD. If we have 4 round turns per week it would be more than 2k per year which is about 4% for a 50k account. I know you started with outright puts or calls but with spreads the commission has doubled and 4% is lot if you have maybe an expectancy of 12% for the strategy.

Share this post


Link to post
Share on other sites

We could do that or even make it a once a month trade.  I'm not sure what that would do to trade results but I could look into it a bit.  It will require rewriting some code and some analytics work so I'd be interested to get a feel from the group before I go too far.  The other thing to keep in mind is we would likely want to go as far out as reasonable on contract dates but these are reasonable questions.  Anyway, let me know what everyone thinks.

 

My guess is our capital in trades would go up.  Our transaction costs would go down.  We would miss some big moves.  We would get whipsawed far less.   There are tradeoffs but we can certainly make the system work on fewer adjustments.

Share this post


Link to post
Share on other sites
7 hours ago, Jjapp said:

 

My guess is our capital in trades would go up.  Our transaction costs would go down.  We would miss some big moves.  We would get whipsawed far less.   There are tradeoffs but we can certainly make the system work on fewer adjustments.

Would it be possible to backtest it to see how a change from weekly to biweekly or even monthly might affect the variables? Missing some moves but getting whipsawed less might balance itself out. 

Share this post


Link to post
Share on other sites

Loosely related to Marcuse's suggestions and transaction cost: Did anybody look into whether CFDs would be a viable instrument to follow this service? There are CFD brokers covering the commodities market segment sufficiently. The CFD broker I'm using admittedly only has Gold, Silver, Brent and WTI, but looking at the contract specs (https://www.fxflat.com/en/account-opening/product-info/contract-specification/) I would be able to trade a CL-futures-based CFD at a contract size down to 10 barrels, i.e. delta adjustments can be done with 0.01 increments. No commissions, no overnight financing cost, bid/ask spread is fixed at 3 ticks (while the future seems to be trading at 1 or 2 ticks spread mostly). Similarly for GC, they carry a spot-based Gold CFD, down to 1 ounce per CFD, i.e. a 0.01 delta relative to the GC future. This one has financing costs. I would need to look into whether the spread, financing and fills are actually worse than options commissions. In case anybody has thoughts on that, very much appreciated.

 

Share this post


Link to post
Share on other sites

We haven't looked at CFDs.  I'm not sure if IBKR US offers them on commodities.  There are some challenges with CFDs.  They're not exchange traded products and the spreads can be wide.  That being said, I don't see why someone couldn't convert the delta to a CFD size and trade it if they wanted to. 

Share this post


Link to post
Share on other sites
On 6/15/2020 at 1:46 AM, Markuse said:

Would it be possible to backtest it to see how a change from weekly to biweekly or even monthly might affect the variables? Missing some moves but getting whipsawed less might balance itself out.  

I can do a backtest on the signals relatively easily.  The impact on some of the other pieces is a bit more difficult.  We could get an idea for additional capital by assuming we buy 3 months out (assuming there is enough liquidity).  The rolls might take a bit more thought.  If our position sizes stay the same and we see a large move we would still need to roll the position so that we don't cap the upside. 

Share this post


Link to post
Share on other sites
3 hours ago, Jjapp said:

We haven't looked at CFDs.  I'm not sure if IBKR US offers them on commodities.  There are some challenges with CFDs.  They're not exchange traded products and the spreads can be wide.  That being said, I don't see why someone couldn't convert the delta to a CFD size and trade it if they wanted to. 

@Jjapp Thank you, indeed I'm quite happy with CFD brokers here in Europe, especially because I can trade a "swarm" of automated strategies at minuscule sizes each, which makes that feasible in the first place. The CFD brokers all seem to participate in the "cost war" bringing down commissions and spread (even to zero sometimes), with hidden collateral damage to the quality of pricing and fills, one has to assume.

After a few minutes of sitting down with my brain (and a calculator for doing the x10 and /10 things) I think I can answer my question myself. Looking at my broker's ".WTIm" CFD (1 CFD = 100 barrels) I see a 0.03 bid/ask spread (normally fixed, sometimes elevated) which translates to a $0.30 roundturn cost for 0.1 CFD (=10 barrels), which is the minimum trade size, which equals a 0.01 delta relative to the CL future (1000 barrels).
So, for our current delta target of -0.047 for CL, I would sell short 0.5 .WTIm CFDs and pay the spread of 5 x $0.30 = $1.50 for the roundturn. Apart from possible bad pricing, that'd be the only cost, if I see correctly.

I'll just try this out on CL and GC and see what I find. P&L will not be comparable, as the CFD will have constant delta. The interesting thing is whether the spread will go bad on me or whatnot. I have only traded Forex and "US30 / Dow" CFDs so far with no issues.

Share this post


Link to post
Share on other sites
1 hour ago, DubMcDub said:

Unless something has changed, I believe retail CFD trading is not allowed in the U.S. But I have heard over the years from folks in Europe that they work well for certain purposes. 

It's unbelievable for me, that you enjoy even more political paternalism than we do in our beloved EU. But next year we will beat you again, when new tax laws make it effectively impossible for retail traders to trade any kind of derivative in Germany....

Share this post


Link to post
Share on other sites

Revisiting the CFD topic for people who can trade those:

With today's switch of CL to DOWN, I have closed my CFD trade in the .WTIm contract my broker offers.

Comparison:
System trade: Delta of -0.043 = entry for a $480 debit, exit for a $390 credit = loss of $90 minus commissions of approximately $9.28 (using IB).
My CFD trade: Short entry at $40.41, size 0.4 lots (=0.04 delta), exit at $38.34 = loss of $82.80, no commissions, no other cost.

 

Because my delta was about 7% off target, the P&L difference of $7.20 seems perfectly in line.

 

So far I like it. Managing CFD trades is much easier to do than option trades, especially if I'm tired on what for me is a Friday afternoon. No fiddling with expirations and trying to get limit orders filled. Also, switching WTI to short is an atomic operation if deltas stay the same (in my hedging account, I can first open the new opposite trade and close the old one afterwards). I like the absence of explicit cost, at least for WTI. I still have the GC trade running from last week, that one as a CFD trade has accumulated a financing cost of $3.25 so far (but no other cost).

Let's see how it works out next week. Our option spreads have the obvious advantage of being limited-risk, and for that reason I might very well stay with options in the end.

Edited by gurk

Share this post


Link to post
Share on other sites
31 minutes ago, gurk said:

Revisiting the CFD topic for people who can trade those:

With today's switch of CL to DOWN, I have closed my CFD trade in the .WTIm contract my broker offers.

Comparison:
System trade: Delta of -0.043 = entry for a $480 debit, exit for a $390 credit = loss of $90 minus commissions of approximately $9.28 (using IB).
My CFD trade: Short entry at $40.41, size 0.4 lots (=0.04 delta), exit at $38.34 = loss of $82.80, no commissions, no other cost.

 

Because my delta was about 7% off target, the P&L difference of $7.20 seems perfectly in line.

 

So far I like it. Managing CFD trades is much easier to do than option trades, especially if I'm tired on what for me is a Friday afternoon. No fiddling with expirations and trying to get limit orders filled. Also, switching WTI to short is an atomic operation if deltas stay the same (in my hedging account, I can first open the new opposite trade and close the old one afterwards). I like the absence of explicit cost, at least for WTI. I still have the GC trade running from last week, that one as a CFD trade has accumulated a financing cost of $3.25 so far (but no other cost).

Let's see how it works out next week. Our option spreads have the obvious advantage of being limited-risk, and for that reason I might very well stay with options in the end.

Very nice!

Share this post


Link to post
Share on other sites
1 hour ago, Bravesfan8989 said:

As a new join can you explain how to look at the emails like [Trades] Steady Futures Trades, 26 June 2020

Is any trade not labeled a "close" a new trade entry?

The trade confirmations are positions we rolled today.

 

If you just joined, best thing to do is open positions in all contracts targeting the delta in the trade post for today.

 

For longs we use call or call debit spreads.  For shorts we us puts or put debit spreads.

Share this post


Link to post
Share on other sites

Apologies if this has been covered already, but I have a question about rolling positions week to week.

If the signal hasn't changed for this week and the expiry is still over 37 days away, is re-aligning the delta the reason why we would move to new strikes?

For example, this week we are closing the call spread for SI and re-opening with new strikes at the same expiry.  Is this because the delta on the existing position has moved too far from the target 50k delta of 0.024?

 

Also curious why we're not rolling LE expiring August 7th - delta has moved far away from target as far as I can see.

Edited by AustinB

Share this post


Link to post
Share on other sites

from what I can tell at first glance, July was an example of our system being hurt a bit by less diversification relative to the big shops.  Some of the strongest trends in July occurred in markets we dont trade as of now.  You can reference more here:  https://www.toptradersunplugged.com/resources/market-trends/

Overall I'm still happy with our performance.  We have been beating our benchmark nearly every month with a couple of misses this year, including july in which the SocGen Trend Index returned just over 3% which I believe was it's best month YTD.

 

@Jjapp can chime in if he has more to add or disagrees.  As we always say, we expect some small chop from month to month with a few out sized gains to (hopefully) drive performance for the year. 

 

Share this post


Link to post
Share on other sites
On 8/4/2020 at 11:32 AM, RapperT said:

from what I can tell at first glance, July was an example of our system being hurt a bit by less diversification relative to the big shops.

I definitely think diversification was part of the problem last month.  The other issue is the combination of spreads and high volatility leading to small position sizes.  This particularly hurt us in silver where there was a huge jump one week and the market ran right past our short spread.  So we missed out on some upside there.  This hasn't been a huge issue previously but with the higher market volatility some of our spreads are becoming very tight. 

I'm going to bring back corn next week and try and get one or two more commodities on top of that to help with the diversification piece.  The spreads issue is more difficult.  Someone earlier in the thread asked about ratios and that could be a solution although it will require rethinking risk management somewhat. 

Share this post


Link to post
Share on other sites

We had a bit of a tough month so I thought I'd post a couple of notes on where we are and some things we're working on.  I'm careful about changing too much with a systems approach based on a couple of months but these are research projects we've been working on for a while.

 

First, trend following had a great start to the year and has since tapered off.  We definitely have seen that in our portfolio.  In addition to that we had a couple of losses last month in futures contracts that had been relatively low volatility compared to everything else until this month.  Because of that our position sizes there were large relative to our positions in gold, es and silver.  Those last three have been trending really well but our position sizes are currently quite small due to the recent volatility in those markets.  This is normal variation.  Painful, but expected over time.  I'm not too worried as the system is still catching good trends but we haven't been able to offset some of those larger position sizes where we had losses (nat gas).

 

On things we're working on:  I'm trying to pull in the shape of the futures curve into our forecasting model.  This is requiring me to rewrite quite a bit of code but it seems promising.  The idea is that a futures contract being in contango or backwardation can give us some hint on future returns.  There seems to be good information about demand in that curve so it is a no brainer to pull it in.  If this works I may look at incorporating inventories data as well.    Second, I developed a piece of code that can take a returns series and calculate the kelly position size based just on the returns stream.  I'm not estimating any underlying distribution; I'm just solving the integration piece numerically.  We're looking at potentially using this to inform position size instead of a historical volatility measure like we do now. 

 

 

Share this post


Link to post
Share on other sites

You hear a lot about the Kelly criterion in trading but I've found most people when they post about it online use the example of a payoff that is binary.  For example, you have x percent chance of winning and the payout for a win y and the payout for a loss is z.  This isn't surprising.  That's the equation Kelly actually used in his paper.  But Kelly was talking about information theory where that distribution makes sense.  In trading though, most outcomes are continuous and that makes the math a bit more difficult.  We've been messing around with Kelly in some research we're doing and I thought it might be helpful for people if we shared the continuous time version here and showed how you can solve the problem using some numerical techniques in python. 

 

 

First, let's start with the difference equation for a portfolio's value in the continuous time scenario:

 

image.png

 

In this equation the portfolio value in t+1 is equal to the portfolio value in the previous period times the integral on the right.  In that integral the f represents the fraction of the portfolio that was bet, the x reflects the excess return over the risk free rate, and the p(x) is the probability distribution of the investment strategy.  This makes sense if you think about it for a minute.  It basically says your portfolio now is equal to your portfolio last period plus the fraction of the portfolio you bet times the return you experienced. 

 

If we take the natural log of both sides of the equation and rearrange we get the gain function that Kelly maximized in his paper under the continuous case:

 

image.png

 

Going back to calculus/differential equations we can maximize for f by taking the derivative of this function and setting it equal to zero:

 

image.png

 

This is where we run into problems.  That integral can't be solved analytically for most realistic distributions.  For example, if you put in a normal distribution for p(x) you won't be able to solve that equation.  This is where python can be very helpful.  Both of these functions can be solved numerically using something called Simpson's rule.  Simpsons rule basically estimates the area under the curve of any function.  This is useful as it means we can use empirical distributions based on investment history to find the curve of all possibilities for f.  For example, here is the curve for f of a hypothetical investment with different variation in returns.  For those who are rusty on math, taking the derivate of G(f) and setting to zero lets you find the value of f that is the peak of each of these curves.  That is the kelly optimal f. 

 

image.png

 

If you want to mess around with this yourself here is a python script that will let you do that for convex or concave payout distributions.  You can think of these as long vs short straddles respectively.  This is why we square the value of x in the distribution.  We're trying to simulate upward/downward smile of those strategies.  It isn't difficult to change the distribution of payouts if you want as well. 

 

 

from scipy.integrate import simps
from statistics import mean
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('ggplot')

def get_gain_function(dist, payoff_type, edge, cutoff=-30, f_max=0.06):
    payoff = []
    # concave vs convex:
    if payoff_type == 'concave':
        # get the square of each number in the dist
        new_dist = [number**2 for number in dist]

        # get the expectation of the new distribution
        expected = mean(new_dist)
        alpha = (1 + edge) * expected

        for row in new_dist:
            s = alpha - row
            payoff.append(s)

    else:
        # get the square of each number in the dist
        new_dist = [number**2 for number in dist]

        expected = mean(new_dist)
        alpha = expected * (1 - edge)

        for row in new_dist:
            s = row - alpha
            payoff.append(s)
    # cap the payoff function
    payoff = filter(lambda z: z > cutoff, payoff)
    payoff = list(payoff)

    f = np.linspace(0, f_max, 100)

    # get gain function
    g_list = []
    for i in f:
        int_vector = []
        for j in payoff:
            obs = np.log(1 + i * j)
            int_vector.append(obs)
        gain = simps(int_vector)/(len(dist))
        g_list.append(gain)

    return (f, g_list)



 

 

One thing you'll notice is that we have to have a maximum loss defined.  This is a real weakness for Kelly but if you set the maximum loss to negative infinity the function is undefined.  You'll also notice that you can run into problems if f*x is less than 1.  In this case you end up trying to take the log of a negative number which is also undefined.  So there are some limits here.  But if you use condors or butterflies or long straddles the downside is capped and the model will work well.  For short naked options you'll need to be careful. 

 

Hope this was helpful/interesting for people. 

Edited by Jjapp

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.