Support for tracking Stock Options

Although Capitally is geared toward long-term investors, some of them generate important part of their wealth from options trading. Tracking returns and value of option positions is cumbersome without the built-in support.

The idea here is to allow importing or adding transactions on stock options, so that one can see the returns and value of such positions - just like the rest of the portfolio. It is not meant to be a tool for advanced options trading - the same as it is not the tool for stock picking.

This means that metrics that relate only to options - like the Greeks - rather won’t be supported. However, it should be possible to clearly understand. What are your current positions, how they compare and how are various option strategies working for you - just like with the regular stocks.

This means the following to be handled at minimum:

  1. Option transactions - Buy & Sell with Put & Call. Providing an underlying asset, premium, strike price and expiry date.

  2. Displaying options as another position type under the asset, so once the option is exercised, the value and return stays correct.

  3. Option transactions are handled by tax presets.

  4. The current option value wouldn’t be sourced from markets. It might be a simple calculation based on the current market price of the underlying asset. The intrinsic value could be calculated (e.g. using the Black-Scholes formula) as well.

  5. In-the-money or out-of-money state should be displayed for each lot.

  6. Options should exercise or expire automatically. When exercised, the transaction that buys/sells the stock should be reconcilable with broker statements the same as Dividends are.

  7. Options should account for splits.

:partying_face: Update: Tracking options is now available under Early Access. For current progress, features and limitations - please follow this thread.

5 Likes

I normally sell CSPs (cash secured put) for ETFs or Stocks when I want to add to my positions and I also sell CCs (covered call) to go out of some positions

I try to get around 1-2% per month of income by doing this
I do this in IB account. At the moment I just generate a report in IB every month to check how much money I made in premium and I keep track of this in a separated spreadsheet

If you need for testing I can share some IB export with you

1 Like

I would be VERY interested in this.

In the first instance just creating an asset category (points 1 + 2) in advance of creating the additional funtionality you describe (points 5 to 7) would be an appreciated initial step.

Personally I buy call options to gain leveraged exposure to stocks (while limiting my downside).

I’m also considering using options to (a) hedge long positions and to (b) generate income by selling covered calls on long term positions in my portfolio.

1 Like

@Claudio, @David please vote for it then :wink:

Are there any special metrics you normally track or look for apart from what Capitally already has?

Also, do you do any complex multi-option strategies that you would need to see together?

I think you should start by at least tracking market value and P&L on the positions for naked options and just the basic, covered call and protective put. You can later bring in more complex and range bound strategies, butterfly, iron condor, etc.
Please share the time-line for tracking the open and closed P&L on basic/naked option positions. I’m looking to sign up from Canada. Want to get a sense of the time-line before committing to your product.

Hello Phil, Options are not placed on the roadmap yet, so I can’t commit to a time-line. If there’s enough interest, I’d assume they could be part of Capitally somewhere within the next 6-12 months.
I know some users who trade options, and they track exercised options plus income and expenses while waiting for fully-fledged support.

For an open Options position the main metrics you would want to know are Long or Short, Call or Put, entry price, position size, current price, “moneyness” (how close is the strike to the underlying), delta, theta, and days to expiry.

It would be very useful for a short options position to be able to link to a long stocks position (if one exists).
Let’s say I own 100 shares of TSLA, the shares drop in price but if I believe it’s only temporary, I can sell a put to collect some premium while TSLA stock trends back up and the option expires worthless. It’s very useful to be able to assign that collected premium to the long TSLA position which has could be viewed as either reducing the cost basis or providing income.

Options have intrinsic value and extrinsic value. A call with a strike of 100 for a stock that is trading at 120, has an intrinsic value of 20, but if the option is currently trading at, let’s say 30, then it also has extrinsic value of 10.
We use theta to show the decay of extrinsic value as the expiry approaches, so a theta of 0.20 means that the extrinsic value is decreasing by 20 cents per day.
Options traders rely on theta for profit, theta decay speeds up at 45 days to expiry and then slows again around 21 days to expiry so days to expiry and theta are important metrics for traders.

To learn more about options, I’d recommend Unusual Whales or TastyLive, though TastyLive is more oriented at traders.
Options, Markets, and Unusual Whales Tools Breakdown 101
Trading Courses: Learn Options & Futures Trading | tastylive

Thanks for the details @Brunch1865

The first implementation will be rather simple, so that options can be imported or added and will present mostly the same metrics as the rest.

Most probably there will be option transactions on regular assets - which means linking is out of the box, and you can add option transaction for any asset. But it also means only the intrinsic value will be calculated.

For extrinsic value I would need a data package, option symbol and potentially complex system to track both these prices. I’m not ruling it out and I’ll certainly think about how to do it in first version so it’s possible to expand.

I’m trading a lot of options more than 50 per week will be this make the portfolio unusable with all the transactions adding up each week?

50 per week is around 2500 transactions per year (5000 if you would use double-entry). I’m testing C at 10000 transactions and performance is acceptable, but clearly slower.

For double-entry I’ll be introducing Average Price alongside FIFO, which will be much much faster (you don’t need FIFO for cash). With FIFO, transactions open and close separate units. With average there’s single unit per position.

It’s hard to tell now, but maybe options could use this mode as well, in which case the performance ceiling would be higher.

I never found a good software to track options so I normally track 2 things:

  • LEAPS value changes
  • PREMIUM made by CC and CSP (without tracking each single entry)

For LEAPS I can easily see the value changes of my LEAPS in the broker app
For PREMIUM I just write down the premium I made each week a the end of each week (I keep this info in an Excel file)

I don’t even know if make sense to see all the CC expired last year in the list of transactions unless you are really searching for something in particular or you want to see the total money that you made for a particular instrument by doing covered calls.

If you are interested I can export last month of my IBRK transactions

When I’ll start the work on options I’ll be definitely reaching out

For now I use WealthBee which I think is pretty much everything you need for options.
I don’t expect Capitally to ever be as comprehensive for option tracking but will happily drop WealthBee once I can simply import my IBKR reports and see simple profit and loss.

1 Like

Hey all!

First, very early version of options support is now being released under Early Access!

Go to Settings → Early Access, enable early access and then enable Stock Options Support.

You will then be able to use the new Option transaction that handles everything that options need. You add it for everything: buying, selling (& short selling), puts, calls, expiry and exercise.

For now, you can add these transaction only manually, options will not expire/exercise automatically (but they will in a short future).

The option’s current price is a simple strike - market - more advanced model will be added later on, probably as an option.

There will be many more updates until the feature is ready.

Be aware of two things:

  • Transaction may change in the course of development, so transactions you add today might stop working in the future (though it’s mostly stable)
  • Options support will only be available on Founders and Captain plans. During development, it will be available to everyone, but once released, you either need to have the old Founders plan, or upgrade to the soon-to-be-announced Captain.

As always, you will be able to remove them from your project later on, so things won’t break for you.

Please give it a go and share your thoughts.

3 Likes

Update (2.23.1)

Expiry/Exercise transactions are now added automatically.

Update (2.23.4)

Dedicated option columns are available on tables.

Asset quantity does not include options. They have their own columns, plus “committed quantity” which is all the shares we’ll have to buy/sell once all our current options exercise.

This is awesome Rafal! Here’s something I spotted: when you add a manual transaction, even though it shows “x 100“, which intuitively makes you think it expects a number of contracts, it appears it wants the number of underlying shares. I think that’s confusing.

1 Like

It expects the number of contracts - x 100 is a multiplier.

What makes you think it expects the number of shares?

Update (2.23.6)

Splits are properly handled (both quantity and strike price are updated)

You can now group lots with Lot Groups by assigning them on opening transactions. This way you can view results from a multi-leg option strategy under a single lot.

I entered a test transaction (put selling), 1 contract and premium of $1.48, but it showed me a cash-flow of only $1.48. When I changed it to 100, the cash-flow became $148.