Legal Disclaimer

The Content is for informational purposes only, you should not construe any such information or other material as legal, tax, investment, financial, or other advice.
Showing posts with label TOS. Show all posts
Showing posts with label TOS. Show all posts

Wednesday, August 11, 2021

How to create an Earnings scanner in ThinkOrSwim

 I've generally used barchart for scanners, but am actively working on building out smarter scanners in TOS. One key scanner is an earnings scanner, which is useful for selling iron condors and straddles/strangles before the earnings release.

TOS already has the watchlist "Upcoming Earnings," which is a great start. However, my earnings trade generally involves me selling on the day BEFORE the earnings release. The Upcoming Earnings default watchlist shows several days of earnings, and looking through them all is painful. (Barchat has the same issue for me.)

In working with the Scan Query, I've found the better way to do this in TOS. It involves creating your normal filters and then using the Corporate Actions study.

For this watchlist, I want to see earnings for this afternoon and tomorrow morning. For that, I setup these filters in "Any of the following":

  • Study->Corporate Actions->Earnings : has : an earnings announcement "before the market" : 2 bars
  • Study->Corporate Actions->Earnings : has : an earnings announcement "after the market" : 1 bars
  • Study->Corporate Actions->Earnings : has : an earnings announcement "any time" : 1 bars

The two last studies are redundant really, but I left them that way just in case the scanner wouldn't otherwise pickup an earnings release that was "during the market."

That gives me this Scan Query:





Friday, July 2, 2021

How to reproduce Finviz patterns in Think Or Swim (TOS)

Finviz has a great feature where it will analyze a chart and automatically show you some basic Technical Analysis (TA) patterns such as Double Tops, Channels, etc. In my effort to consolidate to as few platforms as possible while still being effective, I've wanted to use Think Or Swim (TOS) for automatic TA patterns instead of using TOS for trading and Finviz for those patterns.

I do believe that TA can be effective, but only if I keep in mind that TA works so long as there is no external input into the stock price, e.g., earnings, market-wide up or downturns, etc. That is, to me, TA is more about watching the status quo and riding that more than anything.

Anyway, back to patterns, I found that this can be done using TOS charts and that the analysis is very close in TOS to what Finviz produces.

By way of example, let's chart $DIA in Finviz and TOS.

In Finviz, I'm shown both a channel and a potential double top:

Now, let's reproduce that in TOS.

  1. Go to Charts
  2. Choose DIA
  3. Set your timeframe to D (1 Y : 1 D)
That will give you this:


Now, let's add some software-driven TA in TOS:
  1. Click on Patterns (top-right)
  2. Click on Classic
  3. Choose Channel Up, Channel Down, Double Top, Double Bottom
  4. Click Ok
And here you go:


The chart in TOS now shows you a long-term and short-term channel. What I am not seeing is a double to in TOS as shown in Finviz. That's not necessarily good or bad, as software-driven TA really should be more about helping you "zoom out" and check your own TA, but this is a great start!

Also, you will have noticed that you can configure each pattern in the Pattern screen. Play around with those settings! You can increase/decrease the sensitivity of what triggers a pattern to be shown on the chart.




Monday, June 7, 2021

How to filter on IVR in TOS Spread Hacker

I had a mission of consolidating all of my tools to Think or Swim (TOS) and, knowing that options trading is my main jam, I needed to be able to scan for credit spreads based on IV Rank. Most people will sell spread when IVR > 50% and buy them when IVR < 50%.

My first stab at this was to build a filter in Spread Hacker using: Max Profit, DTE, and Delta (I have since removed that):


That works great. The struggle now is only looking at credit spreads where the IVR > 50%. There is no filter for that in Spread Hacker unfortunately. At first I thought this was a dead-end. But in poking around, I found that you can restrict the filter to a watchlist. Interesting.

Next, I asked myself: Can I create a dynamic watchlist? That is, a watchlist that changes based on real-time criteria? The answer is YES. A dynamic watchlist is known as a "Scan Query" in TOS.

I created a Scan Query using IV_Percentile, which TOS names IVR for some strange, legacy reason. The filters for this Scan Query are very easy. I can't properly show them here because TOS won't show all the filters without scrolling (which is kind of dumb), but basically you need to do this:
  1. Create a new Scan Query
  2. Delete all of the defaults
  3. Add Stock->Market Cap (I set to >= $1B)
  4. Add Study->IV_Percentile (I set to 50% <= x <= 100%)
  5. For Show, I set to 200.
  6. Set the name to be "High IVR".
  7. Click Save.
You now have a dynamic watchlist of high IVR stocks. We'll use this to restrict the results of Spread Hacker.
  1. Go to Spread Hacker
  2. Setup the filters
  3. Set Spreads For->Personal->High IVR
  4. Click Scan
You will now see credit spreads for high IVR stocks.


Thursday, March 11, 2021

Edit Order in TOS Web vs Cancel/Replace Order in TOS Desktop App

Generally I'll do my work in the TOS Desktop App for Windows. However, now and then I'll have TOS Web open so I can monitor things if I'm not actively doing any trading. For example, I may have a swing trade already setup and the OCOs order to STOP LOSS/SELL setup and just let it run.

Today I needed to change the SELL LIMIT ORDER price on an OCO order. I clicked on the OCO in TOS Web and was able to Edit the existing order very easily.

Here is how I clicked into the Edit feature:

And the Edit itself:



Wednesday, March 10, 2021

Using the TOS "1st trgs 3 OCO" Advanced Order

The 1st trgs 3 OCO advanced order type is extremely simple to use and can add an extra layer of protection to a trade. This advanced order type allows you to buy a security and have 3 OCO orders ready to go right when the trade is filled.

Here is an example of orders placed into a "1 trgs 3 OCO":

BUY +138 JETS @26.64 LMT EXTENDED HOURS
SELL -46 JETS @27.81 LMT GTC TRG BY OCO
SELL -46 JETS STP 25.77 GTC TRG BY OCO

SELL -46 JETS @28.47 TRSTPLMT MARK-.10 MARK GTC BY OCO
SELL -46 JETS STP 25.77 GTC TRG BY OCO

SELL -46 JETS @29.14 TRSTPLMT MARK-.10 MARK GTC BY OCO
SELL -46 JETS STP 25.77 GTC TRG BY OCO
In the example above, I color coded each OCO set. You can see that the sequence begins with me placing an order to buy 138 shares of $JETS with a buy limit order. If the buy is not filled, the sequence does not execute at all. Once filled however, the sequence executes and creates 3 OCO orders.

Each OCO order provides both a STOP LOSS and a SELL LIMIT ORDER to take profit at different prices.

When working through this, I had hoped to create a simpler order where there was a single STOP LOSS and 3 SELL LIMIT ORDERs, but I wasn't able to make it work. (If somebody knows a way, let me know!)






Review of "Quick Cash With Straddles & Strangles" by Matt Morris

Review " Quick Cash with Straddles & Strangles " is very specific to the author's strategy around Fed announcements and go...