Options

92 readers
1 users here now

A community for discussing stock related options.

Rules:

  1. No bigotry: Including racism, sexism, homophobia, transphobia, or xenophobia. Code of Conduct.
  2. Be respectful. Everyone should feel welcome here.
  3. No NSFW content.
  4. No Ads / Spamming.
  5. Be thoughtful and helpful: even with ‘stupid’ questions. The world won’t be made better or worse by snarky comments schooling naive newcomers on Lemmy.

founded 2 years ago
MODERATORS
1
 
 

Discuss your plays for the upcoming week or closed positions from the prior week. A good strategy post should include several of the following elements:

-the underlying ticker -any upcoming catalyst -the specific strikes and expirations in your position -trade plan -purpose of trade -position management -premium paid or collected

2
3
Welcome to c/Options (self.options)
submitted 1 year ago* (last edited 1 year ago) by MaxCapacity to c/options
 
 

This is going to be a work in progress. Please excuse the mess.

Options: A primer

What is an option?

Moneyness: At the money, In the money, Out of the money

Intrinsic vs Extrinsic value: The components of option premium.

The Greeks

  • First vs Second order greeks
  • Delta
  • Gamma
  • Theta
  • Vega
  • Rho
3
 
 

placeholder

4
 
 

Discuss your plays for the upcoming week or closed positions from the prior week. A good strategy post should include several of the following elements:

  • the underlying ticker
  • any upcoming catalyst
  • the specific strikes and expirations in your position
  • trade plan
    • purpose of trade
    • position management
  • premium paid or collected
5
 
 

This post is meant to be a landing page for a topic in the pinned Welcome post. At some point it will be locked, but feel free to add suggestions for edits in the meantime.

You will often see references to the moneyness of an option. This is simply a comparison of the strike price of the option and the current price of the underlying.

Assume XYZ is trading for $100. The call with a strike price of $105 is out of the money (OTM), meaning the underlying is less than the strike price. You wouldn't exercise this option and pay $105 per share, because you can buy the shares cheaper on the open market. However the put with a strike price of $105 is in the money (ITM). If you exercised this put, you could sell shares for $105, which is more than the current price on the open market.

Calls and puts with a strike price of $100 are at the money (ATM) while XYZ is still trading for $100. This is the point where the strike price and the underlying price is the same. Options that are at or near the money are typically the heaviest traded strikes.

As the underlying trades for different prices throughout the duration of the option contract, the option can be at varying levels of moneyness. It's not uncommon for options to oscillate between In, Out, and At the money if the underlying has a lot of volatility within a range.

6
3
What is an option (self.options)
submitted 1 year ago by MaxCapacity to c/options
 
 

This post is meant to be a landing page for a topic in the pinned Welcome post. At some point it will be locked, but feel free to add suggestions for edits in the meantime.

For purposes of this discussion, we'll be focused on American style equity options. An option is a limited duration contract between a buyer and a seller. It confers certain rights to the buyer and obligations to the seller.

Options have a deliverable, a strike price, a premium, and an expiration date. An option contract generally represents control of 100 shares of a particular stock or ETF (this can be modified in certain circumstances, such as if the stock splits or offers a special dividend, but for now we'll focus on the rule rather than the exception). The strike price is the cost per share that will be exchanged if the contract is exercised. The premium is the amount paid by the buyer and received by the seller in order to enter the contract. The expiration date is the date after which the contract between buyer and seller no longer exists.

Options come in two flavors: Calls and Puts. A call option gives the buyer the right to buy shares of an underlying, and obligates the seller to deliver those shares. A put option gives the buyer the right to sell shares of an underlying, and obligates the seller to take delivery of those shares.

An underlying can be an individual equity, such as as AAPL or MSFT, or it can be an ETF, such as SPY or KRE. Not all tickers have options, usually only the most actively traded will have them available.

So let's put these concepts together. It's June 1st and Bob has done some analysis of XYZ company, which is currently trading on the NYSE for $100. He believes that the stock is undervalued and there could be a big increase in price in the near term, but he would like the opportunity to buy the shares at $100 if that happens. Bob decides to buy a call option expiring in 30 days. The call option has a strike price of $100 and an expiration date of June 30th. Bob will need to pay a premium to buy this contract, and he sees that the option is currently trading for a bid of 4.90 and an ask of 5.10. Bob submits a bid to buy the contract at the middle price of 5.00 between the current bid and ask. The option premium is per share, and since the contract represents 100 shares, Bob would need to pay $500 in total for this contract.

If a seller agrees to Bob's price, then Bob will have the right to purchase those shares on or before June 30th for $100 each. If XYZ goes up to $110 by June 30th, then Bob could decide to exercise his right to buy the shares. Bob's total cost for the shares, then, is $100 per share plus the $5.00 per share he paid for the right to buy them. ($100 + $5) X 100 = $10,500. Bob's average cost per share is $105. $10,500 / 100 = $105. Since XYZ is now trading at $110 and Bob only paid $105, he has made a profit. He can sell all or some of the shares for an immediate gain of $5 per share.

Let's say Bob decided to hold on to those shares of XYZ because he thought it would keep going up. Sure enough, it's soon trading at $125. But Bob is worried about some stuff going on in the world and would like to make sure that he can still make a profit from his shares if the market starts to sell off. It's August 1st and Bob buys a put contract with a strike price of $120 expiring in 60 days. Bob pays a premium of $5 for this contract. If XYZ falls below $120 on or before August 30th, Bob can exercise his right to sell his shares for $120 per share. On August 30th, XYZ is trading for $95. Bob exercises his contract and collects $12,000 ($120 X 100 shares). Bob paid $500 for this contract ($5 X 100 shares), so his net sales price is $11,500, or $115 per share.

What would happen if XYZ had been trading at $130 instead of $95? Well, Bob wouldn't want to sell his shares for $120 if he can sell them for $130 on the open market, so the contract would expire worthless. Bob still had to pay $5 per share for this contract, so he loses that premium.

7
 
 

Yes, live.

I've looked for this for a while and didn't find much. Being a stubborn ass (The Boondocks voice) I kept looking until I got it down. There are trackers for the options you've sold, call and put screeners, calculators to avoid CSP risk, holdings, and a singular location for cost basis so you don't do something dumb like Idk sell SPCE CCs at $20 when your cost basis is $22 but you thought it was $18. I definitely didn't do that.

Google Sheet

You'll need to add a custom script:

  1. Tools
  2. Script Editor
  3. Add file
  4. Name it SAMPLE
  5. Paste this into it:

The code is thanks to tanaike

Code source: https://stackoverflow.com/questions/64437503/importxml-not-producing-correct-values

function SAMPLE(url) {
  const res = UrlFetchApp.fetch(url, {muteHttpExceptions: true});
  const tables = [...res.getContentText().matchAll(/(<table[\w\s\S]+?<\/table>)/g)];
  if (tables.length < 2) return "No tables. Please confirm URL again.";
  const values = tables.reduce((ar, [,table]) => {
    if (table) {
      const root = XmlService.parse(table).getRootElement();
      const temp = root.getChild("tbody", root.getNamespace()).getChildren().map(e => e.getChildren().map(f => isNaN(f.getValue()) ? f.getValue() : Number(f.getValue())));
      ar = ar.concat(temp);
    }
    return ar;
  }, []);
  return values[0].map((_, i) => values.map(r => r[i]));
}

The result: It returns a table, so you need to use INDEX with it in order to point to a specific row/column. The method itself is SAMPLE, which takes a URL and returns a table. So you'll need to use Concatenate in order to make up the URL for a Yahoo link.

Google Sheet function:

=INDEX(SAMPLE(CONCATENATE("https://finance.yahoo.com/quote/", $A7, RIGHT(YEAR($E7), 2), TEXT(MONTH($E7), "00"), TEXT(DAY($E7),"00"), IF(B7 = "PUT", "P", "C"), SUBSTITUTE(TEXT($M7,"00000.000"), ".", ""), "?p=", $A7, RIGHT(YEAR($E7), 2), TEXT(MONTH($E7), "00"), TEXT(DAY($E7),"00"), "C", SUBSTITUTE(TEXT($M7,"00000.000"), ".", ""))), 2, 3) 

Known issues:

  1. Loading from mobile is not reliable. You may have to erase the cell and undo, or reload, or get on a laptop/desktop.
  2. Sorting recalculates the numbers and sometimes it stops working. I just don't sort anymore, but it'll eventually fix itself.
  3. It doesn't calculate if you change values. Just erase the cell and undo, it'll do it correctly.
  4. Not all options are available on Yahoo, especially if you're looking 30+ days.

Full page, two words: ~~Fuck you~~ good luck!

P.S. Yahoo dev: If you're seeing this, please let me be. This was already hard enough to put together. Plz.