Here’s a difficult trading situation that often confounds new traders or even experienced ones that are experiencing a drawdown: a trade setup occurs, you take the trade according to plan and it quickly hits your stop — but then it immediately sets up again for the same type of trade.
Do you take that second setup? On one hand a setup is a setup and not taking the trade would be a mistake. Though on the other hand the market has already told you you were wrong once — being told you’re wrong twice or three times just seems stupid.
Here are a couple methods you can use to increase your confidence level in this common situation. A large fraction of your trading confidence will come from your research outside of market hours and this situation is no different.
Keep Track of These Situations To Evaluate the Big Picture
As opportunities for re-entering trades occur it’s important to keep track of them to understand what happens over a large number of occurrences. Any individual trade is unimportant — it’s the aggregate that matters.
If you’re having difficulty with this situation you probably are taking some of these re-entry trades and skipping others. That’s understandable but to really gain confidence in these you’ll need to keep track of every one of them. If you’re only trading some then your sample is incomplete and your mind will play tricks on you by easily recalling the big winners or losers but forgetting the bulk of the instances. This is common and why keeping track of all your trades is so important. Your psyche will lie to you but the numbers won’t.
I suggest trading these subsequent setups but with really small size. This allows you to risk a small amount of money so the trade is real rather than theoretical which gives you skin in the game so you’re more likely to pay attention over time. As you trade these re-entries, it’s important to track them separately from the “normal” setup. Tagging your trades in a trading journal is a perfect way to handle these. The re-entries are a subset of the main strategy that these trades come from. For example, use a tag like “Strategy X” for all trades from this strategy whether they’re re-entries or not. For the re-entry trades, use an additional tag “ReEntry”. This allows you to track trades across the entire strategy but also filter on only the re-entry trades to measure their performance separately.
After I accumulated several trades using this method, I realized that the re-entry trades were actually performing better than the system overall. It absolutely made sense to trade these second chance setups — perhaps even with larger size.
Backtest to Get the Longer Term Picture
It takes time to wait to accumulate a lot of real-time trades to keep track of. You should absolutely do that but in the meantime you can do a backtest to understand what happened in similar situations before you started keeping track.
One approach to capture this situation is to have your backtest skip the first N opportunities in your strategy and trade the N+1th one. Of course, there will be fewer trades in the trade set since a lot of times there’s only a single setup, but you should be able to gather a lot of past instances of these re-entry trades to examine closely in a chart. You can start with N=1 and then run another with N=2, etc.
Every strategy is different but these two steps should give you a deeper understanding of your trading strategy overall but also give you confidence to trade the re-entries (or not!) knowing you have data to back you up.
If you like this post, be sure and follow me on Twitter: @davemabe
Once or twice a season we’ll have our distance runners run a time trial on a well known trail in town. Joan hardly ever repeats the same workout, but there are a handful of important ones that we keep track of over time. We can go back and see over time how kids improve on specific workouts throughout their high school careers. This is really important to kids – they can see just how much they’re improving over time – a very motivating thing to do.
Of course for most races and workouts you start everyone at the same time and the finish times end up being naturally staggered. There are plenty of times where runners very quickly get segmented (through ability, current fitness level, pecking order, etc.) – sometimes lots of runners spend the entire workout running alone.
Having done the Medoc Trail Race which staggers start times based on age and gender, I thought a similar approach would be good for the XC team. Instead of using age and gender to stagger the start times, we used a recent mile time trial on the track to determine how to time advantage each runner received.
I ended up creating a spreadsheet to translate the mile time into the predicted time for our 2.4 mile time trial loop. I then figured out the how much of a head start each runner should receive compared to the fastest runner on the team. I printed out the spreadsheet with runner and time advantage. The slowest runner on the team ended up with a 7 minute head start on the fastest runner.
We had never tried anything like this and I was really hoping I did the math right and made good estimations about fitness levels. It would be pretty embarrassing for me to have the fastest runners finish minutes ahead or minutes behind the eventual winner!
What ended up happening was pretty cool. The slowest girls on the team were still leading the race with about a quarter mile to go! The slowest girl ended up in 7th place in the “race.” What really surprised me though was how much faster almost everyone ran! Our top boys beat the all time record for this loop by about 20 seconds – a huge improvement. Up and down the line people had significant course PRs!
It’s easy to see how there would be this kind of improvement. Imagine you’re the fastest guy on a team. In every normal workout you pretty much run alone – nobody passes you and you don’t pass anyone the entire time. Now imagine the “chase race” – the pressure is on the entire time to pass almost 80 people! It’s similar for the slowest runner – every step you feel like you’re getting ready to get passed by 80 kids, but you also feel like there’s a definite chance you can win the time trial!
Here’s some videos of the start and finish of the chase race as well as the top 11 finishers.
The responses ended up being a great discussion on what to do when you get stopped out of a trade, only to see it continue on in the direction of your original trade. Here’s the video of Mike summarizing the discussion and including his take on the responses.
Any single trade is unimportant! In fact, even with a well defined strategy to re-enter trades like this, you are still guaranteed that these frustrating situations will occur.
To assume that there’s something to learn from every single trade you make is both overly optimistic and pessimistic at the same time. Why? It is absolutely essential that you learn to take losses well. Trying to find fault with every losing trade is foolish since the takeaways from different trades will often conflict with each other. For example, “take profits sooner” versus “give your trades room to run.” Here are two charts with potentially conflicting lessons.
If you’ve done your homework, these seemingly conflicting lessons are irrelevant — you’ll know what works across a large number of trades and you’ll be trading accordingly.
Getting caught up in trying to identify what you did wrong in each losing trade is a sign that you have an irrational need to be right. Do you want to be right or do you want to make money? If this is something you have a problem with then you might want to shift to another strategy with a higher win rate (although that usually comes with a tradeoff of a lower average profit).
If you get caught up in the results of a single trade, then it’s probably a sign that you need to do more preparation away from the trading desk. If you’re fully prepared, you can trade confidently knowing getting stopped out of trades that would have ended up profitable is pretty common.
Going from an initial trading strategy concept to actually trading it with meaningful size is a long and perilous journey. Having traded for over a decade now, I’ve gone through this process multiple times for dozens of strategies. If you’ve traded for any length of time you realize that, like many aspects of trading, this is far bigger topic and more difficult than it seems on the surface. It’s easy to fall into the trap of barreling down this path instead of carefully tiptoeing. I’ve made a bunch of mistakes in this area over the years (and some I still repeat!) — I’ll go over them here in hopes that you can know the pitfalls ahead of time and not repeat them.
The Most Important Thing to Remember About Scaling Up
If you only take away one thing from this post, let it be this. If you feel pressure for any reason to scale up quickly, you will end up making costly mistakes and you’re going to do it wrong.
Some traders come across a strategy that they feel has a limited shelf life and they need to scale it up quickly before the edge evaporates. If you believe this to be true then I would argue it’s not a strategy worth trading at all. Here’s why: when this strategy has a drawdown it will be impossible to determine whether it’s “normal” or the edge has evaporated.
This is why I always try to cook up strategies with the longest shelf life possible and I think about this from the very beginning of the trade concept stage. A strategy’s edge will fade over time but ones with strong staying power can be tweaked many times to improve their edge. After trading with size in a strategy for a length of time, you may have improved the strategy through what you’ve learned to the point where the strategy is significantly different than the initial concept.
My Stages of Strategy Cultivation
Each strategy goes through several stages of development. Only a few end up making it to the last stage but of course that is the goal.
Stage 1: Concept This is the very first stage where you have an idea for an edge.
Stage 2: Backtesting This is such an important step since it involves getting a trade idea from concept to an actual system that can be theoretically traded. You’ll discover a lot about how your system works during this phase without yet risking any money.
Stage 3: Pilot Trading Especially for new strategies or inexperienced traders, these trades should be paper trades. Over time as I’ve gained more experience I generally spend less time paper trading and instead take what I call “pilot trades” — real trades with very, very small size. No matter what size you think is “small,” go smaller. The point here is not making money, but making your system prove itself to you.
This is the phase where I’m often too optimistic about the trading strategy. You need to be very skeptical at this point. This is the first point where money is on the line and there is probably the most to learn of all the phases. You’ll find out quickly if the system has flaws. Be sure and discover them using as little money as possible.
Many systems won’t make it past the Pilot Trading phase. In some cases you’ll need to make significant adjustments and go back to the Backtesting phase. In others you’ll need to abandon the idea entirely for one reason or another.
Stage 4: Sizing Up Hopefully some of your strategies make it to this phase. They’ll need to have proven themselves to your skeptical self (the more skeptical you are the better). It’s very tempting at this point to let a strategy loose and put on too much size too soon. This is a mistake I, unfortunately, still make occasionally.
The problem is there are a lot of different types of markets and your system may be more or less robust in some of them. There is also a very real psychological danger here: as you increase size your equity curve could quickly turn negative as new losing trades with larger size overwhelm previous winners that were traded smaller. The system could be acting in a completely “profitable” way but you’re staring at a negative P&L overall. If you size up too quickly it increases the odds that this situation will occur.
This is one of the main strengths of using R Multiples and Expectancy to measure strategy performance — it is consistent regardless of your current position size. So unlike many metrics like Profit Factor, however you’ve varied your position over time you’ll get a consistent measure of performance — very valuable.
Most strategies spend a very long time in this phase. Remember what I mentioned earlier — there should be no sense of urgency to hurry things along. I have a strategy that has been in this phase for 5 years, slowly increasing size!
Stage 5: Max Size We all want strategies to get to this point and your maximum trading size is likely changing over time. Even when you have a lot of confidence in a system it’s still psychologically difficult to increase size beyond certain points. Of course larger profits are always great, but achieving them will absolutely require tolerating larger drawdowns.
If you forget everything about this post, remember these things:
Be very skeptical — more skeptical than you think you need to be. Make your strategies prove themselves to you over a long period of time.
Don’t be in a hurry, especially when money is on the line.
Use a metric like R Multiples that allow you to measure performance regardless of your position size.
I’ve often been curious about transit levels in the United States, especially cycling. Commuting by bicycle has been dropping since 2014 in the U.S. There are lots of theories about why that is.
One question I’ve asked fellow cycling advocates in Carrboro: what is the highest level of cycling ridership we could possibly hope for in the next, say, 10 years? Assume we could implement our entire bike plan overnight. How would you even go about answering this question?
It’s hard for people to even venture a guess. Here’s how I would do it. Find the best currently available data on ridership in the U.S. and look for cities with the highest cycling numbers. Narrow that list to ones that have similar characteristics with an emphasis on qualities that affect ridership: number of workers, cycling infrastructure, climate (average number of rainy days, average temperature), “hilliness,” proximity to local areas of employment, college towns, average income – there are many factors. Use the cities at the top of this list as a guide – how much higher is the ridership there? How much of the difference can we attribute to each factor? Is it too hilly in your town to ever really get much cycling ridership?
I was surprised that there was not a convenient way to do this already, so I created my own. I realize data from the American Community Survey isn’t perfect, but it’s way better than anything else we have and it’s what the League of American Bicyclists uses to determine usage (in fact, it’s the only factor they use to determine actual “usage” on their application for Bike Friendly Community rankings.)
Some things I’d like to add:
A hilliness factor – how many hills does each town have?
Climate related number – average temp, rainfall, snow, etc.
Average commute times
If you’d like to contribute to the project in some way or have ideas on adding hilliness or climate numbers, I’d love to hear from you. Contact me on Twitter.
Here’s a good write up of Trade-Ideas SCoRe or Stock Composite Rating. It blends our technical, fundamental, and non-structured data into a nice metric that can be used to assess a stock’s overall strength. Here’s the full description from Andy Lindloff who spearheaded the effort to create the metric.
The Trade Ideas’ SCoRe (Stock Composite Rating) is a proprietary formula that measures a stock’s strength along technical, fundamental, and non-structured dimensions. We employ over 17 such metrics to measure each SCoRe. A stock can have a SCoRe of 30 to 100, with 100 being the best score. Unlike the other rating systems, the SCoRe is dynamic, and will change in real-time during live market hours. This allows our clients to act swiftly to quickly changing price action. ScoRe incorporates both Technical and Fundamental metrics, with an emphasis on moving averages and the position in range on multiple time frames.
The Top-List above only looks for stocks with a SCoRe greater than 90. It has identified a stock that may be on the verge of breaking out to an all-time high. iRobot Corp. (IRBT) has a SCore of 98. They recently had earnings and the stock exploded to within cents of it’s all-time high set back in August of last year.
With a huge short float (42%), a new all-time high above $118.75 could really get this thing going as many shorts will be scrambling to cover. The stock price has made a big move since earnings, so a pullback would not be a surprise and some may wish to use that weakness to enter a position at or near the rising 10 day SMA, should it get there.
One of the most frustrating things that can occur as a trader is when you miss a profitable trade. You’ve gone through countless hours of diligent work and research to create and refine a trading strategy, you’ve paper traded it, you’ve double checked that you crossed your Ts and dotted your Is, and maybe even weathered a drawdown. Finally another trade setup comes along and — dang! — you miss it by either being a moment too late or, even worse, you have your entry order in place and you don’t get filled and the price blows by.
The price is now well into what would have been profitable territory had you gotten in the trade, but now you’re left sitting on the sidelines wondering what might have been.
So you missed the original trade, but now the price has pulled back offering you another shot. Do you take it? Here’s a hypothetical but very realistic example in SYY from 2/4/2019.
There are two conflicting ideas in this scenario.
You are being offered a second chance to take the trade at the original or perhaps even a better price.
However, if you take this trade you are guaranteed to take 100% of the trades that end up hitting your stop as this is exactly the behavior of trades that stop out.
These two ways of thinking about this scenario are of course in stark contrast to each other. What is the best way to think about this scenario so that you have a plan when this all too common situation arises? I see two answers to this question, one very simple and one more complicated but complete answer.
The Simple and Perfectly Valid Answer
Your default answer should be this: if you hadn’t missed the original entry, is there any reason you wouldn’t still be in this trade? If not, then you should take the second entry — after all, this is literally a second chance to execute your original plan for this trade.
This is a perfectly valid answer that gives you a stress free way to respond to the situation. But…
The Difficult but More Rewarding Answer
The real crux of the situation is this: even if you establish that you would still be in the trade if you took the original entry, you now have more information than you had prior. Has the stock exhibited any behavior that makes it more likely to end up a profitable or losing trade? If so, that should play heavily into your decision about whether to take this second entry.
This leads us to a discussion of my favorite and commonly neglected trading topic: post entry trade analysis. Every trader spends a lot of time thinking about pre-entry analysis, but very few spend the time required for the more rewarding topic: what happens after you enter your trades.
Post Trade Analysis — Where to Begin
To start making a plan for our situation in SYY, we need to figure out where to focus. The first thing to do is review the charts for the trades you’ve taken. Focus on the trades that went in your direction initially like SYY. Separate these charts into profitable trades and losing trades. Is there some behavior that some of the winning trades exhibited that some of the losing trades didn’t? If so, try to formulate a rule and keep score using a spreadsheet for as many previous trades as you can. As with any sort of analysis it’s the aggregate that counts — any one particular trade in an of itself is meaningless.
This can be especially difficult since these are trades that you’ve taken and probably have some memory of (hindsight bias). Try to leave this emotional baggage at the door. As much as possible take on the role of a skeptical, neutral observer.
If you find a characteristic that shows promise it can have a dramatic effect on your results. We’re only discussing this missed trade scenario, but think about what this implies. If you can determine a statistically sound rule to use for this scenario, you can also apply it to different ones. For example, if you’re already in a trade that exhibits profitable behavior and then pulls back as SYY did, you can use this information to scale in and add to your position. Conversely if it shows negative behavior you could exit your existing position at breakeven and avoid a loss entirely. This is hugely powerful information that can substantially raise your system’s profitability — and not by adding more trades, but by simply altering the trades you’re already making! As I alluded to in my post on scaling into trades, this is very difficult by has the potential to be highly rewarding.
Do you use some feature in your trading platform that seems so intuitively and obviously useful to you but hardly anyone knows it exists? I feel this way about what I refer to as “time stops” (a.k.a. Good After Time orders) in Interactive Brokers’ trading platform called TWS.
It’s a very simple property called the Good After Time or Start Time that you can set on any order. When set, the order is held and not activated until the current time is past the Start Time.
Why is this Useful?
Any trade you make should have a “lifetime.” That is, what is the plan if you enter a trade and your stop price and your target price (if you have one) don’t get reached? Do you leave the position open forever? No — at some point another profitable opportunity will come along that you’ll need capital to take. This part of the trading plan is important and often overlooked. If you don’t have a predetermined plan for this trade lifetime then you’re in danger of turning “trades” into “investments” and falling victim to the endowment effect — the psychological fallacy common to all humans but especially traders where you value something more than you should simply because you own it.
By placing a Start Time on a market order to exit your existing position you do two things:
Fully execute your trading plan by committing to a timed exit.
Automate your trading plan knowing you don’t have to remember to exit at a certain point in time.
Be Prepared for the Rare but Potentially Expensive Scenario
Number two is important — have you ever had a power outage or network outage (or computer glitch) at the exact moment when you’ve needed to place a trade? If you haven’t yet it’s just a matter of time before you do. This order allows you to rest easy knowing that your order will go live according to your plan whether you happen to be online or not.
This is in fact the best part about this order type. If you manually exit your trades at the end of the day, some part of your brain is wasting energy remembering to take this rote action. A time stop frees up that mental energy to do something else.
I’m always surprised how few traders know about and use this order type when it has become such an important part of my routine for almost a decade. I could not trade without it.
I’ve always thought that we could do a lot better displaying XC race team results. The cold, dry text format that we’re all used to is nice for a quick score, but pretty bad for most anything else. Just how did our fifth runner stack up against everyone else’s? Sure, you can scan the column and compare a couple teams at a time, but there should be a better way.
Another thing that should be easily visualized is the differences in the scores. Let’s say we were behind a team by 10 points. Is that a lot? In a dual meet it’s not really that close but in the state meet or a big invitational that’s a razor thin margin!
Here’s my attempt at making cross country team results way more fun to look at. These are the results from the North Carolina XC State meets from November 3rd, 2018. Each column represents a team. Each colored section in the column represents the points for one of the five scoring runners. The total column height is the team score for the team. Hover your mouse over the columns to see a popup that shows the runner’s name, place, and time.
Take a look and let me know what you think. How would you improve it? Any reason Milesplit shouldn’t do this? If you like this, follow me on Twitter.
My wife Joan is the head coach of Chapel Hill High (I’m the assistant). Although I’m the “data guy,” Joan is simply amazing at remembering all the PRs and times of the entirety of both the boy’s and girl’s teams. As soon as the runners finish a race she instantly knows if they ran well or not with high accuracy. I quickly realized that there was no way I could remember the PRs for 80 kids each season. I knew I needed a technological solution.
Here’s a list of things that I wanted to be able to do:
Be able to record the finishing times of each runner on the team as they cross the line without having to write anything down on a clipboard.
Easily keep track of mile splits during a XC race for each runner on the team.
Tell me at a glance how well the runner ran compared to their personal best and their season best.
Keep track of the big, notable workouts we do each year to be able to compare runners’ progress across years against themselves and against runners that graduated seasons ago.
The Web Site
I created a web site using PHP and a database that can store times, splits, and rosters from races and workouts. You can do all sorts of queries and reports to compare 5k results across the program’s history or see a particular workout report that shows athlete’s improvements over time.
This was quite an effort but not because of the coding as much as collecting as much race history as we could from Mile Split and our archives. Of course this is mostly a manual effort and Mile Split doesn’t make it easy since they only allow you to show one race at a time instead of being able to download your team’s entire history. I made this request to them but they were not interested in allowing this.
My Android Timing App
The web site is pretty nice, but by itself it’s not particularly unique. In my mind the real convenience is the Android app that I created to integrate with the web site for efficiently timing the actual races. I call it Coaching Timer (such an amazing name I realize!) and here’s some screenshots to show how it works.
Timing the Race
Here’s a screenshot of the main timer view. You start the timer with either volume up or down button. The 04:45 is the current elapsed race time.
As they come through the mile split, I press the button for that particular runner as they cross the mile mark. The runners are in descending order by their PR (more on how this happens later – it’s easy!) When I press a runner’s button, that button goes to the bottom of the list of buttons. See this screenshot that shows Ben Hawley and Owen Rogers having dropped to the bottom of the list. Why is this important? It minimizes the hunting I have to do to find the name as someone crosses the mile mark. It also allows me to quickly determine if every team member has crossed the mile mark. Also, if I end up having to click a button out of order that’s a mild indication that someone might be having a good day or a bad day.
As I click each button the timestamp is recorded along with the name in the left hand column.
As They Finish
I record the 2 mile splits similarly, but then for the finish the app sees that it’s within a normal range of a 5k finish and it adds some important details to the timestamp.
In the above screenshot, Amelia Maughan, Lilly Crook, and Sydney Runkle just crossed the finish line and I clicked their buttons (which moved to the bottom of the list, remember.) In this case, though, their PR and SB (season best) data was added to the timestamp. I can quickly see that Amelia tied her PR, Lilly was 20 seconds off a PR and 10 seconds off a season best, and Sydney beat her PR by 6 seconds.
Send the Results
In the 3 dot menu on the top right of the app, there are several options, two of which allow you to send results.
The Email Times and Text Times menu items let’s you send the results to another app for sending. Email Times brings up the following email message ready to send. Text Times let’s you send them via text message.
So How Does The App Know the PRs?
Here’s where some magic happens that I really like. You create groups in the app for each race that’s happening – for example, Boys Varsity, Boys JV, Boys JJV, etc. When you initially start a timer you choose the group to use for the race.
I initially created the groups by hand – typing in each runner’s name individually. I realized quickly how much better it could be, so I added an Import function for creating the groups.
The import function pulls a list of runners from the web site. It stores three pieces of data for each runner: their name, their PR, and their season best. The runners are listed in descending order by PR which lines them up just right for selecting varsity, JV, and JJV.
Just check the box for each runner to include in this group.
Then to start a timer for a race, just choose the appropriate group and click Start Timer:
Additional Nice Features that I’ve Added
Phone Sleep Prevention: As I’ve used the app over the years I’ve added some features to improve it. When waiting for the start, sometimes the phone would time out and I’d have to unlock it and, dang, I just missed the start of the race. So now there’s a feature implemented that prevents the phone from going to sleep with the Coaching Timer app is active.
Volume Buttons Start Timer: Also I realized it was hard to tap a button and look at the starter’s pistol in the distance across a field since there’s no tactile feedback from a virtual button on the screen. I added a way to start the timer via either volume control – problem solved and it’s much, much easier.
Disabled Phone Rotation: At first I thought it would be important to be able to rotate the phone and have the app switch from portrait to landscape since some names can be long and starting wrapping in portrait mode. This mostly ended up being disorienting when trying to get splits quickly and I disabled it.
Multiple Simultaneous Timers: Most races end up completing before subsequent race begin, but occasionally that’s not the case and they overlap. This is why it’s important to be able to keep multiple timers running simultaneously.
Adjust Start Time for Running Timer: Another critical feature that I added that has saved my behind multiple times is the ability to adjust the start time of an already started timer on the fly. Super useful! Let’s say you missed the start of the race. No more quick math to adjust each time after the fact – as long as anyone got the start of the race on their stopwatch, this function let’s you set the timer to any running time. This has been probably the most useful feature I added – it happens a lot and this is an awesome backup.
Adjustment Factor for Certain Race Venues: There’s an optional “adjustment factor” that you can apply on the web site for certain race venues/meets. Let’s say there’s a course one day that’s cold and muddy and the times are very slow compared to a “normal” course on a good day, or perhaps a course is short. You can apply an adjustment factor that provides an adjusted time for the purposes of the PR calculation. This prevents the PRs being skewed if we run a short course where true PRs shouldn’t really be valid.
The State of the App
The app is pretty stable right now and I’ve thought about releasing it to other coaches. But in order to do that I would have to put a good amount of work into generalizing it to work with other teams. Also, it’s highly dependent on the web site which is another layer of complication for someone to set up. To be honest I’ve always thought this would be a good thing for MileSplit to do since they have a good bit of the data required to make something like this work for any coach.
If you have any comments or suggestions I’d love to hear some feedback. Comment on this post and also follow me on Twitter while you’re at it.