Selling Put Options by Exceltrader: A program to automate the process

*Last edited 08/15/2013.

Below is the 08/15/2013 initial screen of Put stock options to sell sorted by Margin Return. All the options below expire 09/20/2013 and have strike prices 20% or slightly less than the Last Price.  The next step after this initial screen is live trading. In the live trading settings there are user settings where the list can be further limited by earnings date, return on margin and Spread Ratio.

8-15-2013 9-24-52 AM

Early demo of incomplete Options program showing initial scan and then scan results connected to live data.

Example of Selling Options: CMG’s last price is 250.32. The program has found a put option expiring 20 days from today with a strike price less than 20% of 250.32 which is a strike price is 200. The bid price is .30. The Program has calculated the required margin per option for me (based on IB’s margin calculations) which I see is 2030. The 20 day return I get if the stock price does not drop 20% in 20 days and I don’t’ get stopped out is 1.48%. So in that case I would keep 30 U.S. dollars per option and reinvest that 30 U.S. dollars per option as soon as the option expires. (Kindle books from are available that cover selling options, just search “selling options”)

Overview: The program’s intended purpose is to automate the process of selling “out of the money” stock options given a user’s target strike price. In the case of selling stock options the target out of the money strike price would be a user determined % below the stocks current price. A stock screener is in place to obtain an initial list of stocks that have options. The initial screen for stocks can be narrowed by typical parameters such as PE ratio and price range. Next additional data for each symbol is retrieved including: option data for each stock obtained during the initial stock screen, earnings dates, dividend yield, open interest for target strike price. In addition the margin required for each possible trade is calculated and the return on margin. the return on margin will determine the return you will achieve if the option expires out of the money (and any stop order is not hit). All of this data can be used to narrow the list of options to be traded.

Once this initial data is retrieved, the next step is to connect the narrowed list with Interactive Brokers via the API. Live data is retrieved. The user can change a large number of settings to ensure that only orders that match their exact criteria are sent. Required margin and return on margin are then updated on each price change.

User can set the minimum and maximum returns for an order to be sent. For example if the return on margin is too high, it might indicate too much risk so perhaps the user would like to avoid certain options beyond some threshold. Settings are in place to control what percent of an account’s net liquidation value can be used by the program to sell options. The program will obtain both net liquidation and available cash and send orders until either available cash is depleted (a cash cushion is also configurable by the user to avoid margin calls) or the maximum % or net liquidation is hit, whichever occurs first.

If the user chooses, stop orders can be sent along with each entry order. The orders are attached to the entry order and only active if the entry order is filled. The user can choose the stop order as a % of live option price.

The maximum number of trades per day can be set. The main purpose is to avoid pattern day trader status which can occur in the unusual case that multiple stop orders are hit the same day a position is opened. This setting is configurable by the user.

Once orders are open, the positions can be monitored within the program. On a chart the user will see each position, the current account value and the value at expiration displayed.

When the program is complete a Buy Now/Paypal payment link will be here and the initial version will be available.



  1. Neil, I think I may want to participate as a beta tester for your program.
    One feature I would like to suggest is hedge calculation. Let's say I want to risk getting stuck with a $ 10000 position if I end up having the stock put to me. If I sell 2 options on a $ 80 stock I would want to short $ 6000 multiplied by the option delta worth of stock in order to reduce the risk.
    However, as the option gains value delta will move up and I'll need to rebalance regularly. I would like to have a more sophisticated way to calculate my hedge, maybe combinations of selling stock ,buying puts and selling calls. Would this be something to consider?

  2. ExcelTrader says:

    Marco, The current version of program currently handles risk by (giving the user the option of) placing a stop order simultaneously with the entry order as a child order of the parent order. The current/initial version is intended for selling far OTM naked put (calls to be added) options and the stop would be hit far before the option would be in the money. I have already written code to calculate Greeks and they are available via IB as well so it would not be too difficult to implement the feature. However from what I understand of the scenario you describe, I do not see how the hedge could be in place and still make a profit, so to consider the feature further I would need a more detailed example from you showing the detailed numbers/profit. Thanks!

  3. I guess you're right about the hedge when selling far otm options. When selling atm or slightly otm put options I do prefer to sell stock rather than create a spread, but obviously in that case I am speculating that a significant move down in the underlying is not going to happen until the position is covered.
    I do have a couple of other questions though:
    If I understand correctly your program is monitoring a number of contracts in real time and jumps in once it detects that there is a "good deal" available. I have a basic market data bundle which will let me monitor 100 contracts through API. Do you think this is sufficient?
    Will results for paper trader be reliable? Paper trader may place an order against a bid but to my knowledge this will not be executed until a real trade occurs. When trading stock his not a big issue but otm options are far less liquid.
    I have a list of about 150 symbols that have options with tight spreads. This reduces slippage if you get stopped out. Will I be able to use this list , or is this maybe something you could incorporate in the initial scan?

  4. ExcelTrader says:

    Below is the screener result the program created using default settings on 11/19/2012. All results are for put options expiring 12/21/2012. The parameter used was to find the first available put option with strike price < = the current stock price - 20%. The results are then sorted by % return. The % return is the $ amount received when selling the put (realized at expiration)/margin per option. (The program does the calculation live to determine IB's margin requirement). This initial scan receives data from various free websites not IB. The next step after getting a small list of screened results is connecting to IB so that all data and calculations are live. (default settings normally end up with much less than 100). Marco, this method is more boring than having to jump in. What happens is the the scan results don't change a whole lot each day. When you're ready to send orders it's a button click and the program get's the current amount available in the account and calculates based on the users criteria an amount to trade for each option. The process can be run each day until amount specified for the program to use is invested. I don't run the program again until the options expire or I am stopped out and want to reinvest. I am also concerned about spreads being too wide and it is already part of the user settings to limit the spread by some amount determined by the user. The only option I have been stopped out of so far was before I had the spread limitation in place GILD I think it was. I would be confident that the papertrading account orders would be very close the a live account but only because most options where liquidity is an issue would be screened out via either option open interest (optional setting) or by the spread being too wide. Options Scan

  5. The sheet looks neat, but if you want to trade the options listed in your example you may want to take commissions into account.
    Obviously one is going to look for the highest return on margin, would it be possible to include several expiration dates in one scan?
    And multiple strikes? Possibly have the program look at all strikes 10 % or more below the current price but exclude options below 7 cents?
    And one practical suggestion: maybe give options where expiration date is close to earnings date a distinctive color.

  6. Neil,
    I actively trade options everyday. Let me know if I can be of any help.

  7. waiting for your product.

  8. Hello,
    When is this tool scheduled to be released?
    Thank you

  9. Hello,
    Will this tool still be released?
    Kind regards

  10. Hans Mabuse says:

    I am very interested in your software as well as trade frequently short calls and puts both in stocks and futures. I dynamically hedge delta. This means whenever the underlying approaches the strike price of my sold option (call or put) I buy (in case of a short call) or sell (in case of a short put) the underlying in order to achieve delta neutrality. It works well even including commission and spread. The issue is that such positions need to be closely monitored as the is underlying often lingering around the strike price.. means the position (short or long underlying has to be adjusted frequently. The goal again is to achieve delta neutrality as soon as the sold option reaches a delta of 0.5 (which means it is ATM). It would be a tremendous advantage if this could be achieved with your tool. I feel with what you are doing now you are not far away from it. When will you tool be available? I am looking forward!

  11. Waiting for your program... Can you please make it sell calls as well.... markets crash down not up :) I like selling calls and your software will help me out a lot... thanks

  12. Strangle Profits says:

    Interesting. . .Just stumbled onto your site. Love the earnings scrubber.

    What you are describing about this Selling Options sorter, I do today, everyday with Excel. I sort by a couple more criteria than you have listed, are you going to make it customizable?

    Additionally, what is your data source? I found the best (easiest) way to get, good, reliable data is unfortunately paying for it.

    Interested in seeing more

  13. Hello,
    Will this tool still planned to be released.
    Kind regards

  14. Hello,
    Will this tool still be released?
    Kind regards

  15. Hi Excel Trader,
    Any new target date for releasing this tool?
    Kind regards

  16. I'm beginning to use this strategy (altho manual now) on weeklys. I assume since you can set date parameters that this is no problem for your program and can accommodate weekys.

  17. Hi Excel Trader,
    What is the target date for releasing this tool?

  18. Hello. Patiently waiting for this release. Any date in mind?

  19. would you ever develop a similar program for selling options on futures contracts such as gold, ES, Crude Oil, etc..

  20. Excel trader says:

    Hi Excel trader
    Would you have an uodate please?
    Kind regards


  21. when it would be available?

  22. Dan Cheatham says:

    How do I obtain this program? I am currently using another similar program, but yours is a bit more comprehensive. I currently sell Put Options for income.


  23. Any updates. Was this software ever released?

Speak Your Mind